summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--benchmark/audio_buffers_benchmark.cc56
-rw-r--r--benchmark/image_benchmark.cc68
-rw-r--r--benchmark/wscript10
-rw-r--r--cscript6
-rw-r--r--doc/manual/dcpomatic.xml37
-rw-r--r--hacks/pixfmts.c2
-rw-r--r--i18n.py2
-rw-r--r--platform/osx/set_paths.sh3
-rwxr-xr-xrun/benchmarks9
-rwxr-xr-xrun/dcpomatic1
-rwxr-xr-xrun/dcpomatic_player2
-rwxr-xr-xrun/tests6
-rw-r--r--src/lib/audio_mapping.cc32
-rw-r--r--src/lib/create_cli.cc32
-rw-r--r--src/lib/create_cli.h1
-rw-r--r--src/lib/dcp_subtitle_content.cc12
-rw-r--r--src/lib/digester.cc37
-rw-r--r--src/lib/digester.h22
-rw-r--r--src/lib/encode_server.h4
-rw-r--r--src/lib/ffmpeg_audio_stream.cc3
-rw-r--r--src/lib/ffmpeg_decoder.cc255
-rw-r--r--src/lib/ffmpeg_decoder.h35
-rw-r--r--src/lib/ffmpeg_examiner.cc2
-rw-r--r--src/lib/film.cc30
-rw-r--r--src/lib/film.h4
-rw-r--r--src/lib/hints.cc58
-rw-r--r--src/lib/hints.h4
-rw-r--r--src/lib/image.cc62
-rw-r--r--src/lib/image.h1
-rw-r--r--src/lib/job.h4
-rw-r--r--src/lib/kdm_cli.cc15
-rw-r--r--src/lib/memory_util.cc61
-rw-r--r--src/lib/memory_util.h9
-rw-r--r--src/lib/packet_queue.cc35
-rw-r--r--src/lib/packet_queue.h83
-rw-r--r--src/lib/passthrough_packet_queue.cc56
-rw-r--r--src/lib/passthrough_packet_queue.h45
-rw-r--r--src/lib/player.cc21
-rw-r--r--src/lib/player.h29
-rw-r--r--src/lib/po/cs_CZ.po137
-rw-r--r--src/lib/po/da_DK.po137
-rw-r--r--src/lib/po/de_DE.po137
-rw-r--r--src/lib/po/el_GR.po137
-rw-r--r--src/lib/po/es_ES.po137
-rw-r--r--src/lib/po/fa_IR.po137
-rw-r--r--src/lib/po/fr_FR.po202
-rw-r--r--src/lib/po/hu_HU.po137
-rw-r--r--src/lib/po/it_IT.po137
-rw-r--r--src/lib/po/ja_JP.po4
-rw-r--r--src/lib/po/ko_KR.po137
-rw-r--r--src/lib/po/nl_NL.po139
-rw-r--r--src/lib/po/pl_PL.po137
-rw-r--r--src/lib/po/pt_BR.po137
-rw-r--r--src/lib/po/pt_PT.po137
-rw-r--r--src/lib/po/ru_RU.po137
-rw-r--r--src/lib/po/sk_SK.po137
-rw-r--r--src/lib/po/sl_SI.po137
-rw-r--r--src/lib/po/sv_SE.po137
-rw-r--r--src/lib/po/tr_TR.po137
-rw-r--r--src/lib/po/uk_UA.po137
-rw-r--r--src/lib/po/zh_CN.po196
-rw-r--r--src/lib/raw_image_proxy.cc3
-rw-r--r--src/lib/reel_writer.cc30
-rw-r--r--src/lib/subtitle_sync_packet_queue.cc99
-rw-r--r--src/lib/subtitle_sync_packet_queue.h62
-rw-r--r--src/lib/util.cc2
-rw-r--r--src/lib/wscript7
-rw-r--r--src/tools/dcpomatic.cc773
-rw-r--r--src/tools/po/cs_CZ.po56
-rw-r--r--src/tools/po/da_DK.po56
-rw-r--r--src/tools/po/de_DE.po56
-rw-r--r--src/tools/po/el_GR.po56
-rw-r--r--src/tools/po/es_ES.po56
-rw-r--r--src/tools/po/fa_IR.po56
-rw-r--r--src/tools/po/fr_FR.po82
-rw-r--r--src/tools/po/hu_HU.po56
-rw-r--r--src/tools/po/it_IT.po561
-rw-r--r--src/tools/po/ja_JP.po2
-rw-r--r--src/tools/po/ko_KR.po56
-rw-r--r--src/tools/po/nl_NL.po64
-rw-r--r--src/tools/po/pl_PL.po56
-rw-r--r--src/tools/po/pt_BR.po56
-rw-r--r--src/tools/po/pt_PT.po56
-rw-r--r--src/tools/po/ru_RU.po56
-rw-r--r--src/tools/po/sk_SK.po56
-rw-r--r--src/tools/po/sl_SI.po56
-rw-r--r--src/tools/po/sv_SE.po56
-rw-r--r--src/tools/po/tr_TR.po56
-rw-r--r--src/tools/po/uk_UA.po56
-rw-r--r--src/tools/po/zh_CN.po98
-rw-r--r--src/wx/about_dialog.cc1
-rw-r--r--src/wx/closed_captions_dialog.cc6
-rw-r--r--src/wx/controls.cc2
-rw-r--r--src/wx/dcp_panel.cc30
-rw-r--r--src/wx/film_name_location_dialog.cc5
-rw-r--r--src/wx/film_viewer.cc24
-rw-r--r--src/wx/film_viewer.h10
-rw-r--r--src/wx/gl_video_view.cc1
-rw-r--r--src/wx/gl_video_view.h10
-rw-r--r--src/wx/po/cs_CZ.po410
-rw-r--r--src/wx/po/da_DK.po340
-rw-r--r--src/wx/po/de_DE.po393
-rw-r--r--src/wx/po/el_GR.po340
-rw-r--r--src/wx/po/es_ES.po340
-rw-r--r--src/wx/po/fa_IR.po403
-rw-r--r--src/wx/po/fr_FR.po518
-rw-r--r--src/wx/po/hu_HU.po340
-rw-r--r--src/wx/po/it_IT.po340
-rw-r--r--src/wx/po/ja_JP.po28
-rw-r--r--src/wx/po/ko_KR.po407
-rw-r--r--src/wx/po/nl_NL.po419
-rw-r--r--src/wx/po/pl_PL.po422
-rw-r--r--src/wx/po/pt_BR.po340
-rw-r--r--src/wx/po/pt_PT.po340
-rw-r--r--src/wx/po/ru_RU.po406
-rw-r--r--src/wx/po/sk_SK.po340
-rw-r--r--src/wx/po/sl_SI.po405
-rw-r--r--src/wx/po/sv_SE.po399
-rw-r--r--src/wx/po/tr_TR.po340
-rw-r--r--src/wx/po/uk_UA.po340
-rw-r--r--src/wx/po/zh_CN.po464
-rw-r--r--src/wx/standard_controls.cc1
-rw-r--r--src/wx/supporters.cc18
-rw-r--r--src/wx/verify_dcp_result_panel.cc2
-rw-r--r--src/wx/wx_util.cc214
-rw-r--r--src/wx/wx_util.h76
-rw-r--r--test/audio_analysis_test.cc36
-rw-r--r--test/audio_mapping_test.cc64
-rw-r--r--test/create_cli_test.cc16
m---------test/data0
-rw-r--r--test/film_test.cc21
-rw-r--r--test/hints_test.cc4
-rw-r--r--test/image_test.cc347
-rw-r--r--test/kdm_cli_test.cc58
-rw-r--r--test/memory_util_test.cc72
-rw-r--r--test/packet_queue_test.cc116
-rw-r--r--test/util_test.cc10
-rw-r--r--test/vf_test.cc96
-rw-r--r--test/wscript2
-rw-r--r--wscript17
140 files changed, 8888 insertions, 7341 deletions
diff --git a/benchmark/audio_buffers_benchmark.cc b/benchmark/audio_buffers_benchmark.cc
new file mode 100644
index 000000000..8cd3928db
--- /dev/null
+++ b/benchmark/audio_buffers_benchmark.cc
@@ -0,0 +1,56 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "lib/audio_buffers.h"
+#include "lib/timer.h"
+#include "libavutil/pixfmt.h"
+
+
+using std::string;
+
+
+void audio_buffers_benchmark();
+
+
+int main()
+{
+ audio_buffers_benchmark();
+ return 0;
+}
+
+
+void
+audio_buffers_benchmark()
+{
+ auto constexpr TRIALS = 4096;
+ auto constexpr CHANNELS = 6;
+ auto constexpr FRAMES = 1024 * 1024;
+
+ {
+ AudioBuffers from(CHANNELS, FRAMES);
+ AudioBuffers to(CHANNELS, FRAMES);
+ PeriodTimer timer("AudioBuffers::accumulate_channel");
+ for (int i = 0; i < TRIALS; ++i) {
+ to.accumulate_channel(&from, 0, 3, 0.7);
+ }
+ }
+}
+
diff --git a/benchmark/image_benchmark.cc b/benchmark/image_benchmark.cc
new file mode 100644
index 000000000..3e0f7bb8d
--- /dev/null
+++ b/benchmark/image_benchmark.cc
@@ -0,0 +1,68 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "lib/image.h"
+#include "lib/timer.h"
+#include "libavutil/pixfmt.h"
+
+
+using std::string;
+
+
+void image_benchmark();
+
+
+int main()
+{
+ image_benchmark();
+ return 0;
+}
+
+
+void
+image_benchmark()
+{
+ auto constexpr TRIALS = 1024;
+
+ auto make_black = [](AVPixelFormat fmt, string fmt_name) {
+ auto image = std::make_shared<Image>(fmt, dcp::Size{ 3996, 2160 }, Image::Alignment::COMPACT);
+ PeriodTimer timer("Image::make_black " + fmt_name);
+ for (auto i = 0; i < TRIALS; ++i) {
+ image->make_black();
+ }
+ };
+
+ make_black(AV_PIX_FMT_UYVY422, "AV_PIX_FMT_UYVY422");
+ make_black(AV_PIX_FMT_YUV422P9LE, "AV_PIX_FMT_YUV422P9LE");
+
+ auto make_part_black = [](AVPixelFormat fmt, string fmt_name) {
+ auto image = std::make_shared<Image>(fmt, dcp::Size{ 3996, 2160 }, Image::Alignment::COMPACT);
+ PeriodTimer timer("Image::make_part_black " + fmt_name);
+ for (auto i = 0; i < TRIALS; ++i) {
+ image->make_part_black(9, 384);
+ }
+ };
+
+ make_part_black(AV_PIX_FMT_YUV420P, "AV_PIX_FMT_YUV420P");
+ make_part_black(AV_PIX_FMT_YUV422P10LE, "AV_PIX_FMT_YUV422P10LE");
+ make_part_black(AV_PIX_FMT_YUV444P10LE, "AV_PIX_FMT_YUV444P10LE");
+}
+
diff --git a/benchmark/wscript b/benchmark/wscript
new file mode 100644
index 000000000..199a1557d
--- /dev/null
+++ b/benchmark/wscript
@@ -0,0 +1,10 @@
+def build(bld):
+ for benchmark in ['audio_buffers', 'image']:
+ obj = bld(features='cxx cxxprogram')
+ obj.uselib = 'DCP AVFORMAT AVFILTER SWSCALE LWEXT4 SUB SWRESAMPLE LEQM_NRT POSTPROC GLIB CURL ICU NETTLE CXML '
+ obj.uselib += 'XMLPP BOOST_FILESYSTEM FONTCONFIG XMLSEC SSH SAMPLERATE BOOST_THREAD CAIROMM PANGOMM ZIP SQLITE3 '
+ obj.uselib += 'BOOST_REGEX DL '
+ obj.use = ['libdcpomatic2']
+ obj.source = '%s_benchmark.cc' % benchmark
+ obj.target = '%s_benchmark' % benchmark
+ obj.install_path = ''
diff --git a/cscript b/cscript
index 22bcb4d5d..685229283 100644
--- a/cscript
+++ b/cscript
@@ -506,8 +506,8 @@ def build_with_cpp17(target):
def dependencies(target, options):
- deps = [('libdcp', '61c6b8a23ef6381c2d1b1aaa5bfc1e31e35a7ec0', {'c++17': build_with_cpp17(target)})]
- deps.append(('libsub', 'v1.6.59'))
+ deps = [('libdcp', 'v1.10.58', {'c++17': build_with_cpp17(target)})]
+ deps.append(('libsub', 'v1.6.61'))
deps.append(('leqm-nrt', 'd75d0af984d9c14bfefca8f1bdbc215c3bf3a388'))
if target.platform != 'linux' or target.distro != 'arch':
# We get our OpenSSL libraries from the environment, but we
@@ -583,7 +583,7 @@ def configure_options(target, options, for_package=False):
if target.platform == 'linux' and (
(target.distro == 'ubuntu' and target.version == "24.04") or
- (target.distro == 'fedora' and target.version == "42")
+ (target.distro == 'fedora' and target.version in ("42", "43"))
):
opt += ' --enable-grok'
diff --git a/doc/manual/dcpomatic.xml b/doc/manual/dcpomatic.xml
index d424e9126..cf61f4344 100644
--- a/doc/manual/dcpomatic.xml
+++ b/doc/manual/dcpomatic.xml
@@ -46,31 +46,18 @@ Hello, and welcome to DCP-o-matic!
<para>The full set of DCP-o-matic tools is as follows:</para>
-<segmentedlist>
-<?dbhtml list-presentation="list"?>
-<segtitle>DCP-o-matic</segtitle>
-<segtitle>Player</segtitle>
-<segtitle>Verifier</segtitle>
-<segtitle>Batch Converter</segtitle>
-<segtitle>Combiner</segtitle>
-<segtitle>Disk Writer</segtitle>
-<segtitle>KDM Creator</segtitle>
-<segtitle>Encode Server</segtitle>
-<segtitle>Editor</segtitle>
-<segtitle>Playlist Editor</segtitle>
-<seglistitem>
-<seg>make DCPs from video, audio and text files (including VFs) and make KDMs.</seg>
-<seg>play back DCPs and check them for errors.</seg>
-<seg>check one or more DCPs for errors.</seg>
-<seg>create DCPs from one or more projects previously created by the main DCP-o-matic tool.</seg>
-<seg>take several DCPs and combine them into a single DCP folder.</seg>
-<seg>format external hard drives to EXT2 format and copy DCPs onto them.</seg>
-<seg>create KDMs from DKDMs that were previously made in the main DCP-o-matic tool, or that were sent by other people.</seg>
-<seg>allow faster encoding of DCPs by connecting computers together over a network.</seg>
-<seg>edit the metadata of existing DCPs without changing the video, audio or text assets.</seg>
-<seg>create playlists to allow the player to be used for simple cinema-style playback.</seg>
-</seglistitem>
-</segmentedlist>
+<itemizedlist>
+<listitem><emphasis>DCP-o-matic</emphasis>: make DCPs from video, audio and text files (including VFs) and make KDMs.</listitem>
+<listitem><emphasis>Player</emphasis>: play back DCPs and check them for errors.</listitem>
+<listitem><emphasis>Verifier</emphasis>: check one or more DCPs for errors.</listitem>
+<listitem><emphasis>Batch Converter</emphasis>: create DCPs from one or more projects previously created by the main DCP-o-matic tool.</listitem>
+<listitem><emphasis>Combiner</emphasis>: take several DCPs and combine them into a single DCP folder.</listitem>
+<listitem><emphasis>Disk Writer</emphasis>: format external hard drives to EXT2 format and copy DCPs onto them.</listitem>
+<listitem><emphasis>KDM Creator</emphasis>: create KDMs from DKDMs that were previously made in the main DCP-o-matic tool, or that were sent by other people.</listitem>
+<listitem><emphasis>Encode Server</emphasis>: allow faster encoding of DCPs by connecting computers together over a network.</listitem>
+<listitem><emphasis>Editor</emphasis>: edit the metadata of existing DCPs without changing the video, audio or text assets.</listitem>
+<listitem><emphasis>Playlist Editor</emphasis>: create playlists to allow the player to be used for simple cinema-style playback.</listitem>
+</itemizedlist>
</section>
diff --git a/hacks/pixfmts.c b/hacks/pixfmts.c
index 922d38add..2b8b22f90 100644
--- a/hacks/pixfmts.c
+++ b/hacks/pixfmts.c
@@ -31,6 +31,8 @@ int main()
SHOW(AV_PIX_FMT_XYZ12LE);
SHOW(AV_PIX_FMT_NV20LE);
SHOW(AV_PIX_FMT_RGBA64BE);
+ SHOW(AV_PIX_FMT_MMAL);
+ SHOW(AV_PIX_FMT_RGB0);
SHOW(AV_PIX_FMT_YUV444P12LE);
SHOW(AV_PIX_FMT_GBRP12BE);
SHOW(AV_PIX_FMT_GBRP12LE);
diff --git a/i18n.py b/i18n.py
index f2b032157..a2ef5fc2f 100644
--- a/i18n.py
+++ b/i18n.py
@@ -32,5 +32,5 @@ def po_to_mo(dir, name, bld):
po = os.path.join('po', '%s.po' % lang)
mo = os.path.join('mo', lang, '%s.mo' % name)
- bld(rule='msgfmt -c ${SRC} -o ${TGT}', source=bld.path.make_node(po), target=bld.path.get_bld().make_node(mo))
+ bld(rule='msgfmt ${SRC} -o ${TGT}', source=bld.path.make_node(po), target=bld.path.get_bld().make_node(mo))
bld.install_files(os.path.join('${PREFIX}', 'share', 'locale', lang, 'LC_MESSAGES'), mo)
diff --git a/platform/osx/set_paths.sh b/platform/osx/set_paths.sh
index 24baa6cd6..939fcd07e 100644
--- a/platform/osx/set_paths.sh
+++ b/platform/osx/set_paths.sh
@@ -1,10 +1,9 @@
SDK=$1
if [[ "$SDK" == 11 ]]; then
isysroot="-isysroot $HOME/SDK/MacOS11.0.sdk"
- base=$HOME/workspace
export MACOSX_DEPLOYMENT_TARGET=10.10
else
- base=/usr/local
+ base=$HOME/src/dcpomatic
fi
arch=$(uname -m)
diff --git a/run/benchmarks b/run/benchmarks
new file mode 100755
index 000000000..13b26c93c
--- /dev/null
+++ b/run/benchmarks
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+set -e
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+source $DIR/environment
+
+build/benchmark/audio_buffers_benchmark
+build/benchmark/image_benchmark
diff --git a/run/dcpomatic b/run/dcpomatic
index e415f426c..9b4165ed6 100755
--- a/run/dcpomatic
+++ b/run/dcpomatic
@@ -12,6 +12,7 @@ fi
# Allow running from a tree built using cdist
export LD_LIBRARY_PATH=$DIR/../../../lib:$DIR/../../../lib64:$LD_LIBRARY_PATH
+export DYLD_LIBRARY_PATH=$DIR/../../../lib:$DIR/../../../lib64:$DYLD_LIBRARY_PATH
# export ASAN_OPTIONS=verbosity=1:malloc_context_size=20:detect_leaks=1
diff --git a/run/dcpomatic_player b/run/dcpomatic_player
index 7d9ab9ff3..00fed9aef 100755
--- a/run/dcpomatic_player
+++ b/run/dcpomatic_player
@@ -10,7 +10,7 @@ else
env=x86_64/10.10
fi
-export DYLD_LIBRARY_PATH=/Users/cah/osx-environment/$env/lib:/usr/local/lib
+export DYLD_LIBRARY_PATH=/Users/cah/osx-environment/$env/lib:$HOME/src/dcpomatic/lib:/usr/local/lib
# Allow running from a tree built using cdist
export LD_LIBRARY_PATH=$DIR/../../../lib:$DIR/../../../lib64:$LD_LIBRARY_PATH
diff --git a/run/tests b/run/tests
index 40bbdcdf0..84f93cefd 100755
--- a/run/tests
+++ b/run/tests
@@ -3,7 +3,7 @@
# e.g. --run_tests=foo
set -e
-PRIVATE_GIT="d64f166137a3f2ee5c950f112e48e52fd982f781"
+PRIVATE_GIT="eaa907382be3276e8275858219bd73c816ff5c77"
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
source $DIR/environment
@@ -86,9 +86,9 @@ if [ "$(uname)" == "Darwin" ]; then
# We need to find ffcmp in here
export PATH=$PATH:$HOME/workspace/bin
if [ -d "$environment/$(uname -m)/11.0" ]; then
- export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$environment/$(uname -m)/11.0/lib
+ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$environment/$(uname -m)/11.0/lib:$DIR/../../../lib
else
- export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$environment/$(uname -m)/10.10/lib
+ export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$environment/$(uname -m)/10.10/lib:$DIR/../../../lib
fi
fi
diff --git a/src/lib/audio_mapping.cc b/src/lib/audio_mapping.cc
index 4e13d1adb..c926437ea 100644
--- a/src/lib/audio_mapping.cc
+++ b/src/lib/audio_mapping.cc
@@ -85,13 +85,13 @@ AudioMapping::make_zero()
struct ChannelRegex
{
- ChannelRegex(string regex_, int channel_)
+ ChannelRegex(string regex_, dcp::Channel channel_)
: regex(regex_)
, channel(channel_)
{}
string regex;
- int channel;
+ dcp::Channel channel;
};
@@ -99,19 +99,19 @@ void
AudioMapping::make_default(AudioProcessor const * processor, optional<boost::filesystem::path> filename)
{
static ChannelRegex const regex[] = {
- ChannelRegex(".*[\\._-]L[\\._-].*", 0),
- ChannelRegex(".*[\\._-]R[\\._-].*", 1),
- ChannelRegex(".*[\\._-]C[\\._-].*", 2),
- ChannelRegex(".*[\\._-]Lfe[\\._-].*", 3),
- ChannelRegex(".*[\\._-]LFE[\\._-].*", 3),
- ChannelRegex(".*[\\._-]Lss[\\._-].*", 4),
- ChannelRegex(".*[\\._-]Lsr[\\._-].*", 6),
- ChannelRegex(".*[\\._-]Lrs[\\._-].*", 6),
- ChannelRegex(".*[\\._-]Ls[\\._-].*", 4),
- ChannelRegex(".*[\\._-]Rss[\\._-].*", 5),
- ChannelRegex(".*[\\._-]Rsr[\\._-].*", 7),
- ChannelRegex(".*[\\._-]Rrs[\\._-].*", 7),
- ChannelRegex(".*[\\._-]Rs[\\._-].*", 5),
+ ChannelRegex(".*[\\._-]L[\\._-].*", dcp::Channel::LEFT),
+ ChannelRegex(".*[\\._-]R[\\._-].*", dcp::Channel::RIGHT),
+ ChannelRegex(".*[\\._-]C[\\._-].*", dcp::Channel::CENTRE),
+ ChannelRegex(".*[\\._-]Lfe[\\._-].*", dcp::Channel::LFE),
+ ChannelRegex(".*[\\._-]LFE[\\._-].*", dcp::Channel::LFE),
+ ChannelRegex(".*[\\._-]Lss[\\._-].*", dcp::Channel::LS),
+ ChannelRegex(".*[\\._-]Lsr[\\._-].*", dcp::Channel::BSL),
+ ChannelRegex(".*[\\._-]Lrs[\\._-].*", dcp::Channel::BSL),
+ ChannelRegex(".*[\\._-]Ls[\\._-].*", dcp::Channel::LS),
+ ChannelRegex(".*[\\._-]Rss[\\._-].*", dcp::Channel::RS),
+ ChannelRegex(".*[\\._-]Rsr[\\._-].*", dcp::Channel::BSR),
+ ChannelRegex(".*[\\._-]Rrs[\\._-].*", dcp::Channel::BSR),
+ ChannelRegex(".*[\\._-]Rs[\\._-].*", dcp::Channel::RS),
};
static int const regexes = sizeof(regex) / sizeof(*regex);
@@ -127,7 +127,7 @@ AudioMapping::make_default(AudioProcessor const * processor, optional<boost::fil
if (filename) {
for (int i = 0; i < regexes; ++i) {
boost::regex e(regex[i].regex, boost::regex::icase);
- if (boost::regex_match(filename->filename().string(), e) && regex[i].channel < output_channels()) {
+ if (boost::regex_match(filename->filename().string(), e) && static_cast<int>(regex[i].channel) < output_channels()) {
set(0, regex[i].channel, 1);
guessed = true;
}
diff --git a/src/lib/create_cli.cc b/src/lib/create_cli.cc
index 32834be23..3ef61fe11 100644
--- a/src/lib/create_cli.cc
+++ b/src/lib/create_cli.cc
@@ -85,6 +85,8 @@ help()
" --left-eye next piece of content is for the left eye\n"
" --right-eye next piece of content is for the right eye\n"
" --auto-crop next piece of content should be auto-cropped\n"
+ " --fill-crop next piece of content should be cropped to fit the container\n"
+ " (e.g. to crop the letterboxing from a scope-in-flat image)\n"
" --colourspace next piece of content is in the given colourspace: " + colour_conversions + "\n"
" --colorspace same as --colourspace\n"
" --channel <channel> next piece of content should be mapped to audio channel L, R, C, Lfe, Ls, Rs, BsL, BsR, HI, VI\n"
@@ -184,6 +186,7 @@ CreateCLI::CreateCLI(int argc, char* argv[])
optional<string> next_colour_conversion;
auto next_frame_type = VideoFrameType::TWO_D;
auto next_auto_crop = false;
+ auto next_fill_crop = false;
optional<dcp::Channel> channel;
optional<float> gain;
optional<float> fade_in;
@@ -225,6 +228,9 @@ CreateCLI::CreateCLI(int argc, char* argv[])
} else if (a == "--auto-crop") {
next_auto_crop = true;
claimed = true;
+ } else if (a == "--fill-crop") {
+ next_fill_crop = true;
+ claimed = true;
} else if (a == "--twok") {
_twok = true;
claimed = true;
@@ -331,6 +337,7 @@ CreateCLI::CreateCLI(int argc, char* argv[])
c.path = a;
c.frame_type = next_frame_type;
c.auto_crop = next_auto_crop;
+ c.fill_crop = next_fill_crop;
c.colour_conversion = next_colour_conversion;
c.channel = channel;
c.gain = gain;
@@ -341,6 +348,7 @@ CreateCLI::CreateCLI(int argc, char* argv[])
content.push_back(c);
next_frame_type = VideoFrameType::TWO_D;
next_auto_crop = false;
+ next_fill_crop = false;
next_colour_conversion = {};
channel = {};
gain = {};
@@ -555,6 +563,30 @@ CreateCLI::make_film(function<void (string)> error) const
video->set_crop(crop);
}
+ if (cli_content.fill_crop && video->size()) {
+ auto const source_ratio = video->size()->ratio();
+ Crop crop;
+ if (source_ratio < film->container().ratio()) {
+ /* Part to extract is wider than the source */
+ auto const height = video->size()->width / film->container().ratio();
+ crop.top = crop.bottom = (video->size()->height - height) / 2;
+ } else {
+ /* Container is wider than the source */
+ auto const width = video->size()->height * film->container().ratio();
+ crop.left = crop.right = (video->size()->width - width) / 2;
+ }
+
+ error(fmt::format(
+ "Cropped {} to {} left, {} right, {} top and {} bottom",
+ film_content->path(0).string(),
+ crop.left,
+ crop.right,
+ crop.top,
+ crop.bottom
+ ));
+
+ video->set_crop(crop);
+ }
if (cli_content.colour_conversion) {
video->set_colour_conversion(PresetColourConversion::from_id(*cli_content.colour_conversion).conversion);
}
diff --git a/src/lib/create_cli.h b/src/lib/create_cli.h
index 00abf85e5..cde8598cd 100644
--- a/src/lib/create_cli.h
+++ b/src/lib/create_cli.h
@@ -42,6 +42,7 @@ public:
boost::filesystem::path path;
VideoFrameType frame_type = VideoFrameType::TWO_D;
bool auto_crop = false;
+ bool fill_crop = false;
boost::optional<std::string> colour_conversion;
boost::optional<dcp::Channel> channel;
boost::optional<float> gain;
diff --git a/src/lib/dcp_subtitle_content.cc b/src/lib/dcp_subtitle_content.cc
index 5988761f6..ac8c4245b 100644
--- a/src/lib/dcp_subtitle_content.cc
+++ b/src/lib/dcp_subtitle_content.cc
@@ -47,6 +47,8 @@ DCPSubtitleContent::DCPSubtitleContent(boost::filesystem::path path)
: Content(path)
{
text = vector<shared_ptr<TextContent>>{make_shared<TextContent>(this, TextType::OPEN_SUBTITLE, TextType::OPEN_SUBTITLE)};
+ /* Default to turning these subtitles on */
+ only_text()->set_use(true);
}
DCPSubtitleContent::DCPSubtitleContent(cxml::ConstNodePtr node, boost::optional<boost::filesystem::path> film_directory, int version)
@@ -64,22 +66,16 @@ DCPSubtitleContent::examine(shared_ptr<const Film> film, shared_ptr<Job> job, bo
auto subtitle_asset = load(path(0));
- auto iop = dynamic_pointer_cast<dcp::InteropTextAsset>(subtitle_asset);
- auto smpte = dynamic_pointer_cast<dcp::SMPTETextAsset>(subtitle_asset);
- if (smpte) {
+ if (auto smpte = dynamic_pointer_cast<dcp::SMPTETextAsset>(subtitle_asset)) {
set_video_frame_rate(film, smpte->edit_rate().numerator);
}
boost::mutex::scoped_lock lm(_mutex);
- text = vector<shared_ptr<TextContent>>{make_shared<TextContent>(this, TextType::OPEN_SUBTITLE, TextType::OPEN_SUBTITLE)};
-
- /* Default to turning these subtitles on */
- only_text()->set_use(true);
-
_length = ContentTime::from_seconds(subtitle_asset->latest_text_out().as_seconds());
subtitle_asset->fix_empty_font_ids();
+ only_text()->clear_fonts();
add_fonts(only_text(), subtitle_asset);
}
diff --git a/src/lib/digester.cc b/src/lib/digester.cc
index 67a3e2398..bbcad5478 100644
--- a/src/lib/digester.cc
+++ b/src/lib/digester.cc
@@ -22,6 +22,7 @@
#include "digester.h"
#include "dcpomatic_assert.h"
#include <nettle/md5.h>
+#include <nettle/version.h>
#include <iomanip>
#include <cstdio>
@@ -32,38 +33,42 @@ using std::setfill;
using std::setw;
-Digester::Digester ()
+Digester::Digester()
{
- md5_init (&_context);
+ md5_init(&_context);
}
-Digester::~Digester ()
+Digester::~Digester()
{
- get ();
+ get();
}
void
-Digester::add (void const * data, size_t size)
+Digester::add(void const * data, size_t size)
{
- md5_update (&_context, size, reinterpret_cast<uint8_t const *>(data));
+ md5_update(&_context, size, reinterpret_cast<uint8_t const *>(data));
}
void
-Digester::add (string const & s)
+Digester::add(string const & s)
{
- add (s.c_str(), s.length());
+ add(s.c_str(), s.length());
}
string
-Digester::get () const
+Digester::get() const
{
if (!_digest) {
unsigned char digest[MD5_DIGEST_SIZE];
- md5_digest (&_context, MD5_DIGEST_SIZE, digest);
+#if NETTLE_VERSION_MAJOR >= 4
+ md5_digest(&_context, digest);
+#else
+ md5_digest(&_context, MD5_DIGEST_SIZE, digest);
+#endif
char hex[MD5_DIGEST_SIZE * 2 + 1];
for (int i = 0; i < MD5_DIGEST_SIZE; ++i) {
@@ -73,19 +78,23 @@ Digester::get () const
_digest = hex;
}
- return _digest.get ();
+ return _digest.get();
}
void
-Digester::get (uint8_t* buffer) const
+Digester::get(uint8_t* buffer) const
{
- md5_digest (&_context, MD5_DIGEST_SIZE, buffer);
+#if NETTLE_VERSION_MAJOR >= 4
+ md5_digest(&_context, buffer);
+#else
+ md5_digest(&_context, MD5_DIGEST_SIZE, buffer);
+#endif
}
int
-Digester::size () const
+Digester::size() const
{
return MD5_DIGEST_SIZE;
}
diff --git a/src/lib/digester.h b/src/lib/digester.h
index e4daabd68..5ff50f363 100644
--- a/src/lib/digester.h
+++ b/src/lib/digester.h
@@ -27,26 +27,26 @@
class Digester
{
public:
- Digester ();
- ~Digester ();
+ Digester();
+ ~Digester();
- Digester (Digester const&) = delete;
- Digester& operator= (Digester const&) = delete;
+ Digester(Digester const&) = delete;
+ Digester& operator=(Digester const&) = delete;
- void add (void const * data, size_t size);
+ void add(void const * data, size_t size);
template <class T>
- void add (T data) {
- add (&data, sizeof (T));
+ void add(T data) {
+ add(&data, sizeof(T));
}
- void add (std::string const & s);
+ void add(std::string const & s);
- std::string get () const;
+ std::string get() const;
- void get (uint8_t* buffer) const;
+ void get(uint8_t* buffer) const;
- int size () const;
+ int size() const;
private:
mutable md5_ctx _context;
diff --git a/src/lib/encode_server.h b/src/lib/encode_server.h
index 276212583..ea769d4fe 100644
--- a/src/lib/encode_server.h
+++ b/src/lib/encode_server.h
@@ -32,9 +32,9 @@
#include "exception_store.h"
#include "server.h"
#include <boost/asio.hpp>
-#include <boost/atomic.hpp>
#include <boost/thread.hpp>
#include <boost/thread/condition.hpp>
+#include <atomic>
#include <string>
@@ -72,7 +72,7 @@ private:
bool _verbose;
int _num_threads;
Waker _waker;
- boost::atomic<int> _frames_encoded;
+ std::atomic<int> _frames_encoded;
struct Broadcast {
diff --git a/src/lib/ffmpeg_audio_stream.cc b/src/lib/ffmpeg_audio_stream.cc
index e0da3a22d..f56e04753 100644
--- a/src/lib/ffmpeg_audio_stream.cc
+++ b/src/lib/ffmpeg_audio_stream.cc
@@ -42,8 +42,7 @@ FFmpegAudioStream::FFmpegAudioStream (cxml::ConstNodePtr node, int version)
node->optional_number_child<int>("BitDepth")
)
{
- optional<ContentTime::Type> const f = node->optional_number_child<ContentTime::Type>("FirstAudio");
- if (f) {
+ if (auto f = node->optional_number_child<ContentTime::Type>("FirstAudio")) {
first_audio = ContentTime(f.get());
}
codec_name = node->optional_string_child("CodecName");
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc
index 719406259..d37b59fa9 100644
--- a/src/lib/ffmpeg_decoder.cc
+++ b/src/lib/ffmpeg_decoder.cc
@@ -38,7 +38,9 @@
#include "frame_interval_checker.h"
#include "image.h"
#include "log.h"
+#include "passthrough_packet_queue.h"
#include "raw_image_proxy.h"
+#include "subtitle_sync_packet_queue.h"
#include "text_content.h"
#include "text_decoder.h"
#include "util.h"
@@ -73,17 +75,17 @@ using dcp::Size;
using namespace dcpomatic;
-FFmpegDecoder::FFmpegDecoder (shared_ptr<const Film> film, shared_ptr<const FFmpegContent> c, bool fast)
- : FFmpeg (c)
- , Decoder (film)
+FFmpegDecoder::FFmpegDecoder(shared_ptr<const Film> film, shared_ptr<const FFmpegContent> c, bool fast)
+ : FFmpeg(c)
+ , Decoder(film)
, _filter_graphs(c->filters(), dcp::Fraction(lrint(_ffmpeg_content->video_frame_rate().get_value_or(24) * 1000), 1000))
{
if (c->video && c->video->use()) {
video = make_shared<VideoDecoder>(this, c);
- _pts_offset = pts_offset (c->ffmpeg_audio_streams(), c->first_video(), c->active_video_frame_rate(film));
+ _pts_offset = pts_offset(c->ffmpeg_audio_streams(), c->first_video(), c->active_video_frame_rate(film));
/* It doesn't matter what size or pixel format this is, it just needs to be black */
- _black_image = make_shared<Image>(AV_PIX_FMT_RGB24, dcp::Size (128, 128), Image::Alignment::PADDED);
- _black_image->make_black ();
+ _black_image = make_shared<Image>(AV_PIX_FMT_RGB24, dcp::Size(128, 128), Image::Alignment::PADDED);
+ _black_image->make_black();
} else {
_pts_offset = {};
}
@@ -93,7 +95,7 @@ FFmpegDecoder::FFmpegDecoder (shared_ptr<const Film> film, shared_ptr<const FFmp
}
if (c->only_text()) {
- text.push_back (make_shared<TextDecoder>(this, c->only_text()));
+ text.push_back(make_shared<TextDecoder>(this, c->only_text()));
/* XXX: we should be calling maybe_set_position() on this TextDecoder, but we can't easily find
* the time of the first subtitle at this point.
*/
@@ -104,15 +106,27 @@ FFmpegDecoder::FFmpegDecoder (shared_ptr<const Film> film, shared_ptr<const FFmp
}
_dropped_time.resize(_format_context->nb_streams);
+
+ if (video && !text.empty()) {
+ _packet_queue.reset(new SubtitleSyncPacketQueue());
+ } else {
+ _packet_queue.reset(new PassthroughPacketQueue());
+ }
}
FFmpegDecoder::FlushResult
-FFmpegDecoder::flush ()
+FFmpegDecoder::flush()
{
LOG_DEBUG_PLAYER("DEC: Flush FFmpeg decoder: current state {}", static_cast<int>(_flush_state));
switch (_flush_state) {
+ case FlushState::PACKET_QUEUE:
+ if (!process_from_packet_queue(true)) {
+ LOG_DEBUG_PLAYER("DEC: Finished flushing packets");
+ _flush_state = FlushState::CODECS;
+ }
+ break;
case FlushState::CODECS:
if (flush_codecs() == FlushResult::DONE) {
LOG_DEBUG_PLAYER("DEC: Finished flushing codecs");
@@ -151,14 +165,14 @@ FFmpegDecoder::flush_codecs()
for (auto i: ffmpeg_content()->ffmpeg_audio_streams()) {
auto context = _codec_context[i->index(_format_context)];
- int r = avcodec_send_packet (context, nullptr);
+ int r = avcodec_send_packet(context, nullptr);
if (r < 0 && r != AVERROR_EOF) {
/* EOF can happen if we've already sent a flush packet */
- throw DecodeError (N_("avcodec_send_packet"), N_("FFmpegDecoder::flush"), r);
+ throw DecodeError(N_("avcodec_send_packet"), N_("FFmpegDecoder::flush"), r);
}
- r = avcodec_receive_frame (context, audio_frame(i));
+ r = avcodec_receive_frame(context, audio_frame(i));
if (r >= 0) {
- process_audio_frame (i);
+ process_audio_frame(i);
did_something = true;
}
}
@@ -175,8 +189,8 @@ FFmpegDecoder::flush_fill()
bool did_something = false;
auto const frc = film()->active_frame_rate_change(_ffmpeg_content->position());
- ContentTime full_length (_ffmpeg_content->full_length(film()), frc);
- full_length = full_length.ceil (frc.source());
+ ContentTime full_length(_ffmpeg_content->full_length(film()), frc);
+ full_length = full_length.ceil(frc.source());
if (video && !video->ignore()) {
double const vfr = _ffmpeg_content->video_frame_rate().get();
auto const v = video->position(film()).get_value_or(ContentTime()) + ContentTime::from_frames(1, vfr);
@@ -187,7 +201,7 @@ FFmpegDecoder::flush_fill()
}
if (audio && !audio->ignore()) {
- for (auto i: _ffmpeg_content->ffmpeg_audio_streams ()) {
+ for (auto i: _ffmpeg_content->ffmpeg_audio_streams()) {
auto const a = audio->stream_position(film(), i);
/* Unfortunately if a is 0 that really means that we don't know the stream position since
there has been no data on it since the last seek. In this case we'll just do nothing
@@ -195,10 +209,10 @@ FFmpegDecoder::flush_fill()
*/
if (a > ContentTime() && a < full_length) {
LOG_DEBUG_PLAYER("DEC: Flush inserts silence at {}", to_string(a));
- auto to_do = min (full_length - a, ContentTime::from_seconds (0.1));
- auto silence = make_shared<AudioBuffers>(i->channels(), to_do.frames_ceil (i->frame_rate()));
- silence->make_silent ();
- audio->emit (film(), i, silence, a, true);
+ auto to_do = min(full_length - a, ContentTime::from_seconds(0.1));
+ auto silence = make_shared<AudioBuffers>(i->channels(), to_do.frames_ceil(i->frame_rate()));
+ silence->make_silent();
+ audio->emit(film(), i, silence, a, true);
did_something = true;
}
}
@@ -209,12 +223,47 @@ FFmpegDecoder::flush_fill()
bool
-FFmpegDecoder::pass ()
+FFmpegDecoder::process_from_packet_queue(bool flushing)
+{
+ auto process = _packet_queue->get(flushing);
+ if (!process) {
+ return false;
+ }
+
+ auto packet = boost::get<AVPacket*>(&process->first);
+
+ switch (process->second) {
+ case PacketQueue::Type::VIDEO:
+ decode_and_process_video_packet(*packet);
+ break;
+ case PacketQueue::Type::SUBTITLE:
+ decode_and_process_subtitle_packet(*packet);
+ break;
+ case PacketQueue::Type::AUDIO:
+ decode_and_process_audio_packet(*packet);
+ break;
+ case PacketQueue::Type::DROP:
+ {
+ auto info = boost::get<PacketQueue::PacketInfo>(process->first);
+ DCPOMATIC_ASSERT(static_cast<int>(_dropped_time.size()) > info.stream_index);
+ _dropped_time[info.stream_index] = dcpomatic::ContentTime::from_seconds(info.dts * av_q2d(_format_context->streams[info.stream_index]->time_base) + _pts_offset.seconds());
+ break;
+ }
+ }
+
+ av_packet_free(packet);
+
+ return true;
+}
+
+
+bool
+FFmpegDecoder::pass()
{
auto packet = av_packet_alloc();
- DCPOMATIC_ASSERT (packet);
+ DCPOMATIC_ASSERT(packet);
- int r = av_read_frame (_format_context, packet);
+ int r = av_read_frame(_format_context, packet);
/* AVERROR_INVALIDDATA can apparently be returned sometimes even when av_read_frame
has pretty-much succeeded (and hence generated data which should be processed).
@@ -225,11 +274,11 @@ FFmpegDecoder::pass ()
if (r != AVERROR_EOF) {
/* Maybe we should fail here, but for now we'll just finish off instead */
char buf[256];
- av_strerror (r, buf, sizeof(buf));
- LOG_ERROR (N_("error on av_read_frame ({}) ({})"), &buf[0], r);
+ av_strerror(r, buf, sizeof(buf));
+ LOG_ERROR(N_("error on av_read_frame ({}) ({})"), &buf[0], r);
}
- av_packet_free (&packet);
+ av_packet_free(&packet);
return flush() == FlushResult::DONE;
} else if (r == AVERROR_INVALIDDATA) {
LOG_DEBUG_PLAYER("DEC: av_read_frame gave INVALIDDATA but we carry on");
@@ -238,15 +287,21 @@ FFmpegDecoder::pass ()
int const si = packet->stream_index;
auto fc = _ffmpeg_content;
+ optional<PacketQueue::Type> type;
+
if (_video_stream && si == _video_stream.get() && video && !video->ignore()) {
- decode_and_process_video_packet (packet);
+ type = PacketQueue::Type::VIDEO;
} else if (fc->subtitle_stream() && fc->subtitle_stream()->uses_index(_format_context, si) && !only_text()->ignore()) {
- decode_and_process_subtitle_packet (packet);
+ type = PacketQueue::Type::SUBTITLE;
} else if (audio) {
- decode_and_process_audio_packet (packet);
+ type = PacketQueue::Type::AUDIO;
} else {
- DCPOMATIC_ASSERT(static_cast<int>(_dropped_time.size()) > si);
- _dropped_time[si] = dcpomatic::ContentTime::from_seconds(packet->dts * av_q2d(_format_context->streams[si]->time_base) + _pts_offset.seconds());
+ type = PacketQueue::Type::DROP;
+ }
+
+ if (type) {
+ _packet_queue->add(packet, *type);
+ process_from_packet_queue(false);
}
if (_have_current_subtitle && _current_subtitle_to && position() > *_current_subtitle_to) {
@@ -254,7 +309,6 @@ FFmpegDecoder::pass ()
_have_current_subtitle = false;
}
- av_packet_free (&packet);
return false;
}
@@ -283,7 +337,7 @@ deinterleave_audio(AVFrame* frame)
switch (format) {
case AV_SAMPLE_FMT_U8:
{
- auto p = reinterpret_cast<uint8_t *> (frame->data[0]);
+ auto p = reinterpret_cast<uint8_t *>(frame->data[0]);
int sample = 0;
int channel = 0;
for (int i = 0; i < total_samples; ++i) {
@@ -300,7 +354,7 @@ deinterleave_audio(AVFrame* frame)
case AV_SAMPLE_FMT_S16:
{
- auto p = reinterpret_cast<int16_t *> (frame->data[0]);
+ auto p = reinterpret_cast<int16_t *>(frame->data[0]);
int sample = 0;
int channel = 0;
for (int i = 0; i < total_samples; ++i) {
@@ -317,7 +371,7 @@ deinterleave_audio(AVFrame* frame)
case AV_SAMPLE_FMT_S16P:
{
- auto p = reinterpret_cast<int16_t **> (frame->data);
+ auto p = reinterpret_cast<int16_t **>(frame->data);
for (int i = 0; i < channels; ++i) {
for (int j = 0; j < frames; ++j) {
data[i][j] = static_cast<float>(p[i][j]) / (1 << 15);
@@ -328,7 +382,7 @@ deinterleave_audio(AVFrame* frame)
case AV_SAMPLE_FMT_S32:
{
- auto p = reinterpret_cast<int32_t *> (frame->data[0]);
+ auto p = reinterpret_cast<int32_t *>(frame->data[0]);
int sample = 0;
int channel = 0;
for (int i = 0; i < total_samples; ++i) {
@@ -345,7 +399,7 @@ deinterleave_audio(AVFrame* frame)
case AV_SAMPLE_FMT_S32P:
{
- auto p = reinterpret_cast<int32_t **> (frame->data);
+ auto p = reinterpret_cast<int32_t **>(frame->data);
for (int i = 0; i < channels; ++i) {
for (int j = 0; j < frames; ++j) {
data[i][j] = static_cast<float>(p[i][j]) / 2147483648;
@@ -356,7 +410,7 @@ deinterleave_audio(AVFrame* frame)
case AV_SAMPLE_FMT_FLT:
{
- auto p = reinterpret_cast<float*> (frame->data[0]);
+ auto p = reinterpret_cast<float*>(frame->data[0]);
int sample = 0;
int channel = 0;
for (int i = 0; i < total_samples; ++i) {
@@ -373,15 +427,15 @@ deinterleave_audio(AVFrame* frame)
case AV_SAMPLE_FMT_FLTP:
{
- auto p = reinterpret_cast<float**> (frame->data);
+ auto p = reinterpret_cast<float**>(frame->data);
for (int i = 0; i < channels; ++i) {
- memcpy (data[i], p[i], frames * sizeof(float));
+ memcpy(data[i], p[i], frames * sizeof(float));
}
}
break;
default:
- throw DecodeError (fmt::format(_("Unrecognised audio sample format ({})"), static_cast<int>(format)));
+ throw DecodeError(fmt::format(_("Unrecognised audio sample format ({})"), static_cast<int>(format)));
}
return audio;
@@ -389,31 +443,32 @@ deinterleave_audio(AVFrame* frame)
AVSampleFormat
-FFmpegDecoder::audio_sample_format (shared_ptr<FFmpegAudioStream> stream) const
+FFmpegDecoder::audio_sample_format(shared_ptr<FFmpegAudioStream> stream) const
{
return static_cast<AVSampleFormat>(stream->stream(_format_context)->codecpar->format);
}
int
-FFmpegDecoder::bytes_per_audio_sample (shared_ptr<FFmpegAudioStream> stream) const
+FFmpegDecoder::bytes_per_audio_sample(shared_ptr<FFmpegAudioStream> stream) const
{
- return av_get_bytes_per_sample (audio_sample_format (stream));
+ return av_get_bytes_per_sample(audio_sample_format(stream));
}
void
-FFmpegDecoder::seek (ContentTime time, bool accurate)
+FFmpegDecoder::seek(ContentTime time, bool accurate)
{
- Decoder::seek (time, accurate);
+ Decoder::seek(time, accurate);
- _flush_state = FlushState::CODECS;
+ _flush_state = FlushState::PACKET_QUEUE;
+ _packet_queue->clear();
/* If we are doing an `accurate' seek, we need to use pre-roll, as
we don't really know what the seek will give us.
*/
- auto pre_roll = accurate ? ContentTime::from_seconds (2) : ContentTime (0);
+ auto pre_roll = accurate ? ContentTime::from_seconds(2) : ContentTime(0);
time -= pre_roll;
/* XXX: it seems debatable whether PTS should be used here...
@@ -431,18 +486,18 @@ FFmpegDecoder::seek (ContentTime time, bool accurate)
stream = streams[0]->index(_format_context);
}
- DCPOMATIC_ASSERT (stream);
+ DCPOMATIC_ASSERT(stream);
auto u = time - _pts_offset;
- if (u < ContentTime ()) {
- u = ContentTime ();
+ if (u < ContentTime()) {
+ u = ContentTime();
}
auto seek = [&](int flag) {
return av_seek_frame(
_format_context,
stream.get(),
- u.seconds() / av_q2d (_format_context->streams[stream.get()]->time_base),
+ u.seconds() / av_q2d(_format_context->streams[stream.get()]->time_base),
flag
);
};
@@ -456,16 +511,16 @@ FFmpegDecoder::seek (ContentTime time, bool accurate)
*/
_filter_graphs.clear();
- if (video_codec_context ()) {
- avcodec_flush_buffers (video_codec_context());
+ if (video_codec_context()) {
+ avcodec_flush_buffers(video_codec_context());
}
for (auto i: ffmpeg_content()->ffmpeg_audio_streams()) {
- avcodec_flush_buffers (_codec_context[i->index(_format_context)]);
+ avcodec_flush_buffers(_codec_context[i->index(_format_context)]);
}
- if (subtitle_codec_context ()) {
- avcodec_flush_buffers (subtitle_codec_context ());
+ if (subtitle_codec_context()) {
+ avcodec_flush_buffers(subtitle_codec_context());
}
_have_current_subtitle = false;
@@ -481,7 +536,7 @@ FFmpegDecoder::seek (ContentTime time, bool accurate)
shared_ptr<FFmpegAudioStream>
-FFmpegDecoder::audio_stream_from_index (int index) const
+FFmpegDecoder::audio_stream_from_index(int index) const
{
/* XXX: inefficient */
auto streams = ffmpeg_content()->ffmpeg_audio_streams();
@@ -490,7 +545,7 @@ FFmpegDecoder::audio_stream_from_index (int index) const
++stream;
}
- if (stream == streams.end ()) {
+ if (stream == streams.end()) {
return {};
}
@@ -499,9 +554,9 @@ FFmpegDecoder::audio_stream_from_index (int index) const
void
-FFmpegDecoder::process_audio_frame (shared_ptr<FFmpegAudioStream> stream)
+FFmpegDecoder::process_audio_frame(shared_ptr<FFmpegAudioStream> stream)
{
- auto frame = audio_frame (stream);
+ auto frame = audio_frame(stream);
auto data = deinterleave_audio(frame);
auto const time_base = stream->stream(_format_context)->time_base;
@@ -516,7 +571,7 @@ FFmpegDecoder::process_audio_frame (shared_ptr<FFmpegAudioStream> stream)
ct = *_next_time[stream];
}
} else {
- ct = ContentTime::from_seconds (
+ ct = ContentTime::from_seconds(
frame->best_effort_timestamp *
av_q2d(time_base))
+ _pts_offset;
@@ -534,14 +589,14 @@ FFmpegDecoder::process_audio_frame (shared_ptr<FFmpegAudioStream> stream)
if (ct < ContentTime()) {
/* Discard audio data that comes before time 0 */
- auto const remove = min (int64_t(data->frames()), (-ct).frames_ceil(double(stream->frame_rate())));
- data->move (data->frames() - remove, remove, 0);
- data->set_frames (data->frames() - remove);
- ct += ContentTime::from_frames (remove, stream->frame_rate());
+ auto const remove = min(int64_t(data->frames()), (-ct).frames_ceil(double(stream->frame_rate())));
+ data->move(data->frames() - remove, remove, 0);
+ data->set_frames(data->frames() - remove);
+ ct += ContentTime::from_frames(remove, stream->frame_rate());
}
if (ct < ContentTime()) {
- LOG_WARNING (
+ LOG_WARNING(
"Crazy timestamp {} for {} samples in stream {} (ts={} tb={}, off={})",
to_string(ct),
data->frames(),
@@ -554,29 +609,29 @@ FFmpegDecoder::process_audio_frame (shared_ptr<FFmpegAudioStream> stream)
/* Give this data provided there is some, and its time is sane */
if (ct >= ContentTime() && data->frames() > 0) {
- audio->emit (film(), stream, data, ct);
+ audio->emit(film(), stream, data, ct);
}
}
void
-FFmpegDecoder::decode_and_process_audio_packet (AVPacket* packet)
+FFmpegDecoder::decode_and_process_audio_packet(AVPacket* packet)
{
- auto stream = audio_stream_from_index (packet->stream_index);
+ auto stream = audio_stream_from_index(packet->stream_index);
if (!stream) {
return;
}
auto context = _codec_context[stream->index(_format_context)];
- auto frame = audio_frame (stream);
+ auto frame = audio_frame(stream);
LOG_DEBUG_PLAYER("DEC: Send audio packet on stream {}", stream->index(_format_context));
- int r = avcodec_send_packet (context, packet);
+ int r = avcodec_send_packet(context, packet);
if (r < 0) {
LOG_WARNING("avcodec_send_packet returned {} for an audio packet", r);
}
while (r >= 0) {
- r = avcodec_receive_frame (context, frame);
+ r = avcodec_receive_frame(context, frame);
if (r == AVERROR(EAGAIN)) {
/* More input is required */
LOG_DEBUG_PLAYER("DEC: EAGAIN after trying to receive audio frame");
@@ -587,22 +642,22 @@ FFmpegDecoder::decode_and_process_audio_packet (AVPacket* packet)
* data to decode even if an error occurred. #352 may be related (though this was
* when we were using an old version of the FFmpeg API).
*/
- process_audio_frame (stream);
+ process_audio_frame(stream);
}
}
bool
-FFmpegDecoder::decode_and_process_video_packet (AVPacket* packet)
+FFmpegDecoder::decode_and_process_video_packet(AVPacket* packet)
{
- DCPOMATIC_ASSERT (_video_stream);
+ DCPOMATIC_ASSERT(_video_stream);
auto context = video_codec_context();
bool pending = false;
do {
LOG_DEBUG_PLAYER("DEC: Send video packet");
- int r = avcodec_send_packet (context, packet);
+ int r = avcodec_send_packet(context, packet);
if (r < 0) {
LOG_WARNING("avcodec_send_packet returned {} for a video packet", r);
}
@@ -611,17 +666,17 @@ FFmpegDecoder::decode_and_process_video_packet (AVPacket* packet)
pending = r == AVERROR(EAGAIN);
while (true) {
- r = avcodec_receive_frame (context, _video_frame);
+ r = avcodec_receive_frame(context, _video_frame);
if (r == AVERROR(EAGAIN) || r == AVERROR_EOF || (r < 0 && !packet)) {
/* More input is required, no more frames are coming, or we are flushing and there was
* some error which we just want to ignore.
*/
return false;
} else if (r < 0) {
- throw DecodeError (N_("avcodec_receive_frame"), N_("FFmpeg::decode_and_process_video_packet"), r);
+ throw DecodeError(N_("avcodec_receive_frame"), N_("FFmpeg::decode_and_process_video_packet"), r);
}
- process_video_frame ();
+ process_video_frame();
}
} while (pending);
@@ -630,10 +685,10 @@ FFmpegDecoder::decode_and_process_video_packet (AVPacket* packet)
void
-FFmpegDecoder::process_video_frame ()
+FFmpegDecoder::process_video_frame()
{
auto graph = _filter_graphs.get(dcp::Size(_video_frame->width, _video_frame->height), static_cast<AVPixelFormat>(_video_frame->format));
- auto images = graph->process (_video_frame);
+ auto images = graph->process(_video_frame);
for (auto const& i: images) {
@@ -643,20 +698,20 @@ FFmpegDecoder::process_video_frame ()
double const pts = i.second * av_q2d(_format_context->streams[_video_stream.get()]->time_base) + _pts_offset.seconds();
LOG_DEBUG_PLAYER("DEC: Process video with timestamp {}", to_string(ContentTime::from_seconds(pts)))
- video->emit (
+ video->emit(
film(),
make_shared<RawImageProxy>(image),
ContentTime::from_seconds(pts)
);
} else {
- LOG_WARNING ("Dropping frame without PTS");
+ LOG_WARNING("Dropping frame without PTS");
}
}
}
void
-FFmpegDecoder::decode_and_process_subtitle_packet (AVPacket* packet)
+FFmpegDecoder::decode_and_process_subtitle_packet(AVPacket* packet)
{
auto context = subtitle_codec_context();
if (!context) {
@@ -669,21 +724,21 @@ FFmpegDecoder::decode_and_process_subtitle_packet (AVPacket* packet)
return;
}
- auto sub_period = subtitle_period (packet, ffmpeg_content()->subtitle_stream()->stream(_format_context), sub);
+ auto sub_period = subtitle_period(packet, ffmpeg_content()->subtitle_stream()->stream(_format_context), sub);
/* Stop any current subtitle, either at the time it was supposed to stop, or now if now is sooner */
if (_have_current_subtitle) {
if (_current_subtitle_to) {
- only_text()->emit_stop (min(*_current_subtitle_to, sub_period.from + _pts_offset));
+ only_text()->emit_stop(min(*_current_subtitle_to, sub_period.from + _pts_offset));
} else {
- only_text()->emit_stop (sub_period.from + _pts_offset);
+ only_text()->emit_stop(sub_period.from + _pts_offset);
}
_have_current_subtitle = false;
}
if (sub.num_rects <= 0) {
/* Nothing new in this subtitle */
- avsubtitle_free (&sub);
+ avsubtitle_free(&sub);
return;
}
@@ -713,7 +768,7 @@ FFmpegDecoder::decode_and_process_subtitle_packet (AVPacket* packet)
cout << "XXX: SUBTITLE_TEXT " << rect->text << "\n";
break;
case SUBTITLE_ASS:
- process_ass_subtitle (rect->ass, from);
+ process_ass_subtitle(rect->ass, from);
break;
}
}
@@ -722,17 +777,17 @@ FFmpegDecoder::decode_and_process_subtitle_packet (AVPacket* packet)
only_text()->emit_bitmap_start(bitmap_text);
}
- avsubtitle_free (&sub);
+ avsubtitle_free(&sub);
}
BitmapText
-FFmpegDecoder::process_bitmap_subtitle (AVSubtitleRect const * rect)
+FFmpegDecoder::process_bitmap_subtitle(AVSubtitleRect const * rect)
{
/* Note BGRA is expressed little-endian, so the first byte in the word is B, second
G, third R, fourth A.
*/
- auto image = make_shared<Image>(AV_PIX_FMT_BGRA, dcp::Size (rect->w, rect->h), Image::Alignment::PADDED);
+ auto image = make_shared<Image>(AV_PIX_FMT_BGRA, dcp::Size(rect->w, rect->h), Image::Alignment::PADDED);
#ifdef DCPOMATIC_HAVE_AVSUBTITLERECT_PICT
/* Start of the first line in the subtitle */
@@ -753,11 +808,11 @@ FFmpegDecoder::process_bitmap_subtitle (AVSubtitleRect const * rect)
chosen by the user; created a `mapped' palette from those settings.
*/
auto colour_map = ffmpeg_content()->subtitle_stream()->colours();
- vector<RGBA> mapped_palette (rect->nb_colors);
+ vector<RGBA> mapped_palette(rect->nb_colors);
for (int i = 0; i < rect->nb_colors; ++i) {
- RGBA c (palette[2], palette[1], palette[0], palette[3]);
- auto j = colour_map.find (c);
- if (j != colour_map.end ()) {
+ RGBA c(palette[2], palette[1], palette[0], palette[3]);
+ auto j = colour_map.find(c);
+ if (j != colour_map.end()) {
mapped_palette[i] = j->second;
} else {
/* This colour was not found in the FFmpegSubtitleStream's colour map; probably because
@@ -815,7 +870,7 @@ FFmpegDecoder::process_bitmap_subtitle (AVSubtitleRect const * rect)
DCPOMATIC_ASSERT(target_width > 0);
DCPOMATIC_ASSERT(target_height > 0);
- dcpomatic::Rect<double> const scaled_rect (
+ dcpomatic::Rect<double> const scaled_rect(
static_cast<double>(rect->x + x_offset) / target_width,
static_cast<double>(rect->y + y_offset) / target_height,
static_cast<double>(rect->w) / target_width,
@@ -827,7 +882,7 @@ FFmpegDecoder::process_bitmap_subtitle (AVSubtitleRect const * rect)
void
-FFmpegDecoder::process_ass_subtitle (string ass, ContentTime from)
+FFmpegDecoder::process_ass_subtitle(string ass, ContentTime from)
{
/* We have no styles and no Format: line, so I'm assuming that FFmpeg
produces a single format of Dialogue: lines...
@@ -843,7 +898,7 @@ FFmpegDecoder::process_ass_subtitle (string ass, ContentTime from)
}
}
- if (text.empty ()) {
+ if (text.empty()) {
return;
}
@@ -854,7 +909,7 @@ FFmpegDecoder::process_ass_subtitle (string ass, ContentTime from)
auto const raw = sub::SSAReader::parse_line({}, text, context);
for (auto const& i: sub::collect<vector<sub::Subtitle>>(raw)) {
- only_text()->emit_plain_start (from, i);
+ only_text()->emit_plain_start(from, i);
}
}
diff --git a/src/lib/ffmpeg_decoder.h b/src/lib/ffmpeg_decoder.h
index 022c5625b..795320280 100644
--- a/src/lib/ffmpeg_decoder.h
+++ b/src/lib/ffmpeg_decoder.h
@@ -27,6 +27,7 @@
#include "bitmap_text.h"
#include "decoder.h"
#include "ffmpeg.h"
+#include "packet_queue.h"
#include "video_filter_graph_set.h"
extern "C" {
#include <libavcodec/avcodec.h>
@@ -39,6 +40,7 @@ class AudioBuffers;
class FFmpegAudioStream;
class Image;
class Log;
+class PacketQueue;
class VideoFilterGraph;
struct ffmpeg_pts_offset_test;
@@ -49,10 +51,10 @@ struct ffmpeg_pts_offset_test;
class FFmpegDecoder : public FFmpeg, public Decoder
{
public:
- FFmpegDecoder (std::shared_ptr<const Film> film, std::shared_ptr<const FFmpegContent>, bool fast);
+ FFmpegDecoder(std::shared_ptr<const Film> film, std::shared_ptr<const FFmpegContent>, bool fast);
- bool pass () override;
- void seek (dcpomatic::ContentTime time, bool) override;
+ bool pass() override;
+ void seek(dcpomatic::ContentTime time, bool) override;
dcpomatic::ContentTime position() const override;
private:
@@ -64,23 +66,24 @@ private:
};
FlushResult flush();
+ bool process_from_packet_queue(bool flushing);
- AVSampleFormat audio_sample_format (std::shared_ptr<FFmpegAudioStream> stream) const;
- int bytes_per_audio_sample (std::shared_ptr<FFmpegAudioStream> stream) const;
+ AVSampleFormat audio_sample_format(std::shared_ptr<FFmpegAudioStream> stream) const;
+ int bytes_per_audio_sample(std::shared_ptr<FFmpegAudioStream> stream) const;
- std::shared_ptr<FFmpegAudioStream> audio_stream_from_index (int index) const;
- void process_audio_frame (std::shared_ptr<FFmpegAudioStream> stream);
+ std::shared_ptr<FFmpegAudioStream> audio_stream_from_index(int index) const;
+ void process_audio_frame(std::shared_ptr<FFmpegAudioStream> stream);
- void process_video_frame ();
+ void process_video_frame();
- bool decode_and_process_video_packet (AVPacket* packet);
- void decode_and_process_audio_packet (AVPacket* packet);
- void decode_and_process_subtitle_packet (AVPacket* packet);
+ bool decode_and_process_video_packet(AVPacket* packet);
+ void decode_and_process_audio_packet(AVPacket* packet);
+ void decode_and_process_subtitle_packet(AVPacket* packet);
- BitmapText process_bitmap_subtitle (AVSubtitleRect const * rect);
- void process_ass_subtitle (std::string ass, dcpomatic::ContentTime from);
+ BitmapText process_bitmap_subtitle(AVSubtitleRect const * rect);
+ void process_ass_subtitle(std::string ass, dcpomatic::ContentTime from);
- void maybe_add_subtitle ();
+ void maybe_add_subtitle();
FlushResult flush_codecs();
FlushResult flush_fill();
@@ -97,12 +100,14 @@ private:
std::map<std::shared_ptr<FFmpegAudioStream>, boost::optional<dcpomatic::ContentTime>> _next_time;
enum class FlushState {
+ PACKET_QUEUE,
CODECS,
AUDIO_DECODER,
FILL,
};
- FlushState _flush_state = FlushState::CODECS;
+ FlushState _flush_state = FlushState::PACKET_QUEUE;
std::vector<boost::optional<dcpomatic::ContentTime>> _dropped_time;
+ std::unique_ptr<PacketQueue> _packet_queue;
};
diff --git a/src/lib/ffmpeg_examiner.cc b/src/lib/ffmpeg_examiner.cc
index 6b60f6de3..48b354394 100644
--- a/src/lib/ffmpeg_examiner.cc
+++ b/src/lib/ffmpeg_examiner.cc
@@ -221,7 +221,7 @@ FFmpegExaminer::check_for_duplicate_ids()
std::set<int> stream_ids;
if (_video_stream) {
- stream_ids.insert(*_video_stream);
+ stream_ids.insert(_format_context->streams[*_video_stream]->id);
}
for (auto stream: _audio_streams) {
diff --git a/src/lib/film.cc b/src/lib/film.cc
index b0276086a..de6343b9c 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -113,6 +113,7 @@ using namespace dcpomatic;
static constexpr char metadata_file[] = "metadata.xml";
static constexpr char ui_state_file[] = "ui.xml";
static constexpr char assets_file[] = "assets.xml";
+static constexpr char info_dir[] = "info";
/* 5 -> 6
@@ -289,7 +290,7 @@ boost::filesystem::path
Film::info_file(DCPTimePeriod period) const
{
boost::filesystem::path p;
- p /= "info";
+ p /= info_dir;
p /= video_identifier() + "_" + fmt::to_string(period.from.get()) + "_" + fmt::to_string(period.to.get());
return file(p);
}
@@ -1440,7 +1441,7 @@ Film::cpls() const
for (auto const& item: dcp::filesystem::directory_iterator(dir)) {
if (
dcp::filesystem::is_directory(item) &&
- item.path().filename() != "j2c" && item.path().filename() != "video" && item.path().filename() != "info" && item.path().filename() != "analysis"
+ item.path().filename() != "j2c" && item.path().filename() != "video" && item.path().filename() != info_dir && item.path().filename() != "analysis"
) {
try {
@@ -2204,12 +2205,35 @@ Film::speed_up_range(int dcp_frame_rate) const
return _playlist->speed_up_range(dcp_frame_rate);
}
+
void
-Film::copy_from(shared_ptr<const Film> film)
+Film::copy_from(shared_ptr<const Film> film, std::function<void (float)> set_progress)
{
read_metadata(film->file(metadata_file));
+
+ auto old_assets = film->read_remembered_assets();
+ auto new_assets = std::vector<RememberedAsset>{};
+
+ /* Find source film's remembered assets that still exist and copy them to our new film */
+ for (auto path: dcp::filesystem::recursive_directory_iterator(*film->directory())) {
+ auto iter = std::find_if(old_assets.begin(), old_assets.end(), [path](RememberedAsset const& asset) {
+ return asset.filename() == path.path().filename();
+ });
+ if (iter != old_assets.end()) {
+ copy_in_bits(path, assets_path() / path.path().filename(), set_progress);
+ new_assets.push_back({path.path().filename(), iter->period(), iter->identifier()});
+ }
+ }
+
+ write_remembered_assets(new_assets);
+
+ /* To use the assets we also need the info files */
+ for (auto path: dcp::filesystem::directory_iterator(film->dir(info_dir))) {
+ dcp::filesystem::copy_file(path.path(), dir(info_dir) / path.path().filename());
+ }
}
+
bool
Film::references_dcp_video() const
{
diff --git a/src/lib/film.h b/src/lib/film.h
index 3aef1e27e..09b51202c 100644
--- a/src/lib/film.h
+++ b/src/lib/film.h
@@ -19,7 +19,7 @@
*/
-/** @file src/film.h
+/** @file src/lib/film.h
* @brief A representation of some audio and video content, and details of
* how they should be presented in a DCP.
*/
@@ -122,7 +122,7 @@ public:
void write_template(boost::filesystem::path path) const;
std::shared_ptr<xmlpp::Document> metadata(bool with_content_paths = true) const;
- void copy_from(std::shared_ptr<const Film> film);
+ void copy_from(std::shared_ptr<const Film> film, std::function<void (float)> set_progress);
std::string isdcf_name(bool if_created_now) const;
std::string dcp_name(bool if_created_now = false) const;
diff --git a/src/lib/hints.cc b/src/lib/hints.cc
index 90b88a6ef..071e63761 100644
--- a/src/lib/hints.cc
+++ b/src/lib/hints.cc
@@ -370,14 +370,6 @@ Hints::check_loudness()
}
-static
-bool
-subtitle_mxf_too_big(shared_ptr<dcp::TextAsset> asset)
-{
- return asset && asset->file() && dcp::filesystem::file_size(*asset->file()) >= (MAX_TEXT_MXF_SIZE - SIZE_SLACK);
-}
-
-
void
Hints::check_out_of_range_markers()
{
@@ -500,10 +492,6 @@ try
hint(_("At least one of your subtitle lines has more than 79 characters. You should make each line 79 characters at most in length."));
}
- bool ccap_xml_too_big = false;
- bool ccap_mxf_too_big = false;
- bool subs_mxf_too_big = false;
-
auto dcp_dir = film->dir("hints") / dcpomatic::get_process_id();
dcp::filesystem::remove_all(dcp_dir);
@@ -512,31 +500,39 @@ try
dcp::DCP dcp(dcp_dir);
dcp.read();
DCPOMATIC_ASSERT(dcp.cpls().size() == 1);
+ optional<size_t> largest_ccap_xml;
+ optional<size_t> largest_ccap_mxf;
+ optional<size_t> largest_sub_mxf;
for (auto reel: dcp.cpls()[0]->reels()) {
for (auto ccap: reel->closed_captions()) {
- if (ccap->asset() && ccap->asset()->xml_as_string().length() > static_cast<size_t>(MAX_CLOSED_CAPTION_XML_SIZE - SIZE_SLACK) && !ccap_xml_too_big) {
- hint(_(
- "At least one of your closed caption files' XML part is larger than " MAX_CLOSED_CAPTION_XML_SIZE_TEXT
- ". You should divide the DCP into shorter reels."
- ));
- ccap_xml_too_big = true;
- }
- if (subtitle_mxf_too_big(ccap->asset()) && !ccap_mxf_too_big) {
- hint(_(
- "At least one of your closed caption files is larger than " MAX_TEXT_MXF_SIZE_TEXT
- " in total. You should divide the DCP into shorter reels."
- ));
- ccap_mxf_too_big = true;
+ largest_ccap_xml = std::max(ccap->asset()->xml_as_string().length(), largest_ccap_xml.get_value_or(0));
+ if (ccap->asset() && ccap->asset()->file()) {
+ largest_ccap_mxf = std::max(dcp::filesystem::file_size(*ccap->asset()->file()), static_cast<uintmax_t>(largest_ccap_mxf.get_value_or(0)));
}
}
- if (reel->main_subtitle() && subtitle_mxf_too_big(reel->main_subtitle()->asset()) && !subs_mxf_too_big) {
- hint(_(
- "At least one of your subtitle files is larger than " MAX_TEXT_MXF_SIZE_TEXT " in total. "
- "You should divide the DCP into shorter reels."
- ));
- subs_mxf_too_big = true;
+ if (reel->main_subtitle() && reel->main_subtitle()->asset() && reel->main_subtitle()->asset()->file()) {
+ largest_sub_mxf = std::max(dcp::filesystem::file_size(*reel->main_subtitle()->asset()->file()), static_cast<uintmax_t>(largest_sub_mxf.get_value_or(0)));
}
}
+
+ if (largest_ccap_xml && *largest_ccap_xml > static_cast<size_t>(MAX_CLOSED_CAPTION_XML_SIZE - SIZE_SLACK)) {
+ hint(fmt::format(_(
+ "At least one of your closed caption files' XML part is larger than " MAX_CLOSED_CAPTION_XML_SIZE_TEXT
+ ". The largest XML part is {}KB. You should divide the DCP into shorter reels."
+ ), *largest_ccap_xml / 1000));
+ }
+ if (largest_ccap_mxf && *largest_ccap_mxf >= (MAX_TEXT_MXF_SIZE - SIZE_SLACK)) {
+ hint(fmt::format(_(
+ "At least one of your closed caption files is larger than " MAX_TEXT_MXF_SIZE_TEXT
+ " in total. The largest file is {}MB. You should divide the DCP into shorter reels."
+ ), *largest_ccap_mxf / 1000000));
+ }
+ if (largest_sub_mxf && *largest_sub_mxf >= (MAX_TEXT_MXF_SIZE - SIZE_SLACK)) {
+ hint(fmt::format(_(
+ "At least one of your subtitle files is larger than " MAX_TEXT_MXF_SIZE_TEXT " in total. "
+ "The largest file is {}MB. You should divide the DCP into shorter reels."
+ ), *largest_sub_mxf / 1000000));
+ }
dcp::filesystem::remove_all(dcp_dir);
emit(boost::bind(boost::ref(Finished)));
diff --git a/src/lib/hints.h b/src/lib/hints.h
index b17da2c99..78cc615d3 100644
--- a/src/lib/hints.h
+++ b/src/lib/hints.h
@@ -26,8 +26,8 @@
#include "signaller.h"
#include "text_type.h"
#include "weak_film.h"
-#include <boost/atomic.hpp>
#include <boost/signals2.hpp>
+#include <atomic>
#include <string>
#include <vector>
@@ -111,7 +111,7 @@ private:
bool _very_long_subtitle = false;
boost::optional<dcpomatic::DCPTimePeriod> _last_subtitle;
- boost::atomic<bool> _stop;
+ std::atomic<bool> _stop;
bool _disable_audio_analysis = false;
};
diff --git a/src/lib/image.cc b/src/lib/image.cc
index 95de4bc03..d5212fc78 100644
--- a/src/lib/image.cc
+++ b/src/lib/image.cc
@@ -190,7 +190,8 @@ Image::crop_source_pointers(Crop crop) const
corrected_crop.bottom = size().height - 4;
}
- std::vector<uint8_t*> pointers(planes());
+ /* FFmpeg memcpy()s this array and assumes it has 4 entries */
+ std::vector<uint8_t*> pointers(4);
for (int c = 0; c < planes(); ++c) {
int const x = lrintf(bytes_per_pixel(c) * corrected_crop.left);
pointers[c] = data()[c] + x + stride()[c] * (corrected_crop.top / vertical_factor(c));
@@ -286,7 +287,8 @@ Image::crop_scale_window(
round_height_for_subsampling((out_size.height - inter_size.height) / 2, out_desc)
);
- std::vector<uint8_t*> scale_out_data(out->planes());
+ /* FFmpeg memcpy()s this array and assumes it has 4 entries */
+ std::vector<uint8_t*> scale_out_data(4);
for (int c = 0; c < out->planes(); ++c) {
int const x = lrintf(out->bytes_per_pixel(c) * corner.x);
scale_out_data[c] = out->data()[c] + x + out->stride()[c] * (corner.y / out->vertical_factor(c));
@@ -403,15 +405,15 @@ void
Image::yuv_16_black(uint16_t v, bool alpha)
{
memset(data()[0], 0, sample_size(0).height * stride()[0]);
+ auto const uv = copy_16_bit_words_to_64_bit(v);
for (int i = 1; i < 3; ++i) {
auto p = reinterpret_cast<int16_t*>(data()[i]);
int const lines = sample_size(i).height;
+ auto const comp_line_size = line_size()[i];
+ auto const comp_stride = stride()[i] / 2;
for (int y = 0; y < lines; ++y) {
- /* We divide by 2 here because we are writing 2 bytes at a time */
- for (int x = 0; x < line_size()[i] / 2; ++x) {
- p[x] = v;
- }
- p += stride()[i] / 2;
+ fill_memory(p, comp_line_size, uv);
+ p += comp_stride;
}
}
@@ -466,13 +468,12 @@ Image::make_part_black(int const start, int const width)
case AV_PIX_FMT_YUV420P:
{
y_part();
+ auto const uv = copy_bytes_to_64_bit(eight_bit_uv);
for (int i = 1; i < 3; ++i) {
auto p = data()[i];
int const h = sample_size(i).height;
for (int y = 0; y < h; ++y) {
- for (int x = start / 2; x < (start + width) / 2; ++x) {
- p[x] = eight_bit_uv;
- }
+ fill_memory(p + start / 2, width / 2, uv);
p += stride()[i];
}
}
@@ -481,13 +482,12 @@ Image::make_part_black(int const start, int const width)
case AV_PIX_FMT_YUV422P10LE:
{
y_part();
+ auto const uv = copy_16_bit_words_to_64_bit(ten_bit_uv);
for (int i = 1; i < 3; ++i) {
auto p = reinterpret_cast<int16_t*>(data()[i]);
int const h = sample_size(i).height;
for (int y = 0; y < h; ++y) {
- for (int x = start / 2; x < (start + width) / 2; ++x) {
- p[x] = ten_bit_uv;
- }
+ fill_memory(p + start / 2, width, uv);
p += stride()[i] / 2;
}
}
@@ -496,13 +496,12 @@ Image::make_part_black(int const start, int const width)
case AV_PIX_FMT_YUV444P10LE:
{
y_part();
+ auto const uv = copy_16_bit_words_to_64_bit(ten_bit_uv);
for (int i = 1; i < 3; ++i) {
auto p = reinterpret_cast<int16_t*>(data()[i]);
int const h = sample_size(i).height;
for (int y = 0; y < h; ++y) {
- for (int x = start; x < (start + width); ++x) {
- p[x] = ten_bit_uv;
- }
+ fill_memory(p + start, width * 2, uv);
p += stride()[i] / 2;
}
}
@@ -610,17 +609,15 @@ Image::make_black()
case AV_PIX_FMT_UYVY422:
{
- int const Y = sample_size(0).height;
- int const X = line_size()[0];
- uint8_t* p = data()[0];
- for (int y = 0; y < Y; ++y) {
- for (int x = 0; x < X / 4; ++x) {
- *p++ = eight_bit_uv; // Cb
- *p++ = 0; // Y0
- *p++ = eight_bit_uv; // Cr
- *p++ = 0; // Y1
- }
- }
+ fill_memory(
+ data()[0],
+ sample_size(0).height * line_size()[0],
+ /* Cb/Cr is eight_bit_uv, Y0/Y1 is 0 */
+ static_cast<uint64_t>(eight_bit_uv) |
+ (static_cast<uint64_t>(eight_bit_uv) << 16) |
+ (static_cast<uint64_t>(eight_bit_uv) << 32) |
+ (static_cast<uint64_t>(eight_bit_uv) << 48)
+ );
break;
}
@@ -1219,6 +1216,17 @@ Image::bytes_per_pixel(int component) const
}
#endif
+ if (
+ _pixel_format == AV_PIX_FMT_0RGB ||
+ _pixel_format == AV_PIX_FMT_RGB0 ||
+ _pixel_format == AV_PIX_FMT_0BGR ||
+ _pixel_format == AV_PIX_FMT_BGR0) {
+ /* Each pixel has an empty byte which we need to account for when allocating,
+ * otherwise we'll corrupt the image.
+ */
+ bpp[3] = bpp[0];
+ }
+
if ((d->flags & AV_PIX_FMT_FLAG_PLANAR) == 0) {
/* Not planar; sum them up */
return bpp[0] + bpp[1] + bpp[2] + bpp[3];
diff --git a/src/lib/image.h b/src/lib/image.h
index 458899f8b..602930029 100644
--- a/src/lib/image.h
+++ b/src/lib/image.h
@@ -108,6 +108,7 @@ public:
private:
friend struct pixel_formats_test;
friend struct make_part_black_test;
+ friend void image_benchmark();
void allocate();
void swap(Image &);
diff --git a/src/lib/job.h b/src/lib/job.h
index f435d815a..34f7b0526 100644
--- a/src/lib/job.h
+++ b/src/lib/job.h
@@ -30,12 +30,12 @@
#include "signaller.h"
#include <dcp/warnings.h>
-#include <boost/atomic.hpp>
LIBDCP_DISABLE_WARNINGS
#include <boost/signals2.hpp>
LIBDCP_ENABLE_WARNINGS
#include <boost/thread.hpp>
#include <boost/thread/mutex.hpp>
+#include <atomic>
#include <string>
@@ -174,7 +174,7 @@ private:
/** true to limit emissions of the progress signal so that they don't
* come too often.
*/
- boost::atomic<bool> _rate_limit_progress;
+ std::atomic<bool> _rate_limit_progress;
/** condition to signal changes to pause/resume so that we know when to wake;
this could be a general _state_change if it made more sense.
diff --git a/src/lib/kdm_cli.cc b/src/lib/kdm_cli.cc
index b115412a7..bd400b458 100644
--- a/src/lib/kdm_cli.cc
+++ b/src/lib/kdm_cli.cc
@@ -96,6 +96,7 @@ help(std::function<void (string)> out)
out(" -S, --screen <name> screen name (when using -C) or screen name (to filter screens when using -c)");
out(" -C, --projector-certificate <file> file containing projector certificate");
out(" -T, --trusted-device-certificate <file> file containing a trusted device's certificate");
+ out(" --trusted-device-chain <file> file containing a trusted device's chain; the leaf certificate will be used");
out(" --decryption-key <file> file containing the private key which can decrypt the given DKDM");
out(variant::insert_dcpomatic(" ({}'s configured private key will be used otherwise)"));
out(" --cinemas-file <file> use the given file as a list of cinemas instead of the current configuration");
@@ -525,12 +526,13 @@ try
{ "screen", required_argument, 0, 'S' },
{ "projector-certificate", required_argument, 0, 'C' },
{ "trusted-device-certificate", required_argument, 0, 'T' },
+ { "trusted-device-chain", required_argument, 0, 'H' },
{ "decryption-key", required_argument, 0, 'G' },
{ "cinemas-file", required_argument, 0, 'E' },
{ 0, 0, 0, 0 }
};
- int c = getopt_long(argc, argv, "ho:K:Z:f:t:d:F:pae::zvc:S:C:T:E:G", long_options, &option_index);
+ int c = getopt_long(argc, argv, "ho:K:Z:f:t:d:F:pae::zvc:S:C:T:E:G:H", long_options, &option_index);
if (c == -1) {
break;
@@ -603,6 +605,12 @@ try
case 'T':
trusted_devices.push_back(TrustedDevice(dcp::Certificate(dcp::file_to_string(optarg))));
break;
+ case 'H':
+ {
+ auto chain = dcp::CertificateChain(dcp::file_to_string(optarg));
+ trusted_devices.push_back(TrustedDevice(chain.leaf()));
+ break;
+ }
case 'G':
decryption_key = optarg;
break;
@@ -718,6 +726,11 @@ try
valid_to = valid_from.get() + duration_from_string(*duration_string);
}
+ if (!trusted_devices.empty() && (formulation != dcp::Formulation::MULTIPLE_MODIFIED_TRANSITIONAL_1 && formulation != dcp::Formulation::DCI_SPECIFIC)) {
+ out("You have given one or more trusted devices but the KDM formulation you specified will not write them to the KDM. "
+ "Consider using --formulation multiple-modified-transitional-1");
+ }
+
if (verbose) {
out(fmt::format("Making KDMs valid from {} to {}", boost::posix_time::to_simple_string(valid_from.get()), boost::posix_time::to_simple_string(valid_to.get())));
}
diff --git a/src/lib/memory_util.cc b/src/lib/memory_util.cc
index 00117855d..0ed8e4939 100644
--- a/src/lib/memory_util.cc
+++ b/src/lib/memory_util.cc
@@ -25,17 +25,72 @@ extern "C" {
#include <libavutil/avutil.h>
}
LIBDCP_ENABLE_WARNINGS
+#include <algorithm>
#include <new>
#include <stdexcept>
void *
-wrapped_av_malloc (size_t s)
+wrapped_av_malloc(size_t s)
{
- auto p = av_malloc (s);
+ auto p = av_malloc(s);
if (!p) {
- throw std::bad_alloc ();
+ throw std::bad_alloc();
}
return p;
}
+
+void
+fill_memory(void* ptr, size_t bytes, uint64_t value)
+{
+ if (bytes == 0) {
+ return;
+ }
+
+ auto const start = std::min(bytes, sizeof(value) - reinterpret_cast<uintptr_t>(ptr) % sizeof(value));
+ auto start_ptr = reinterpret_cast<uint8_t*>(ptr);
+ if (start < 8) {
+ for (auto i = 0UL; i < start; ++i) {
+ *start_ptr++ = value & 0xff;
+ value = (value >> 8) | ((value & 0xff) << 56);
+ }
+
+ bytes -= start;
+ if (bytes == 0) {
+ return;
+ }
+ }
+
+ auto const main = (bytes - (bytes % sizeof(value))) / 8;
+ auto main_ptr = reinterpret_cast<uint64_t*>(start_ptr);
+ for (auto i = 0UL; i < main; ++i) {
+ *main_ptr++ = value;
+ }
+
+ bytes -= main * 8;
+ if (bytes == 0) {
+ return;
+ }
+
+ auto end_ptr = reinterpret_cast<uint8_t*>(main_ptr);
+ for (auto i = 0UL; i < bytes; ++i) {
+ *end_ptr++ = value & 0xff;
+ value = (value >> 8) | ((value & 0xff) << 56);
+ }
+}
+
+
+uint64_t
+copy_16_bit_words_to_64_bit(uint16_t v)
+{
+ return static_cast<uint64_t>(v) | (static_cast<uint64_t>(v) << 16) | (static_cast<uint64_t>(v) << 32) | (static_cast<uint64_t>(v) << 48);
+}
+
+
+uint64_t
+copy_bytes_to_64_bit(uint8_t v)
+{
+ return static_cast<uint64_t>(v) | (static_cast<uint64_t>(v) << 8) | (static_cast<uint64_t>(v) << 16) | (static_cast<uint64_t>(v) << 24)
+ | (static_cast<uint64_t>(v) << 32) | (static_cast<uint64_t>(v) << 40) | (static_cast<uint64_t>(v) << 48) | (static_cast<uint64_t>(v) << 56);
+}
diff --git a/src/lib/memory_util.h b/src/lib/memory_util.h
index eccc4a857..bfc0682ab 100644
--- a/src/lib/memory_util.h
+++ b/src/lib/memory_util.h
@@ -19,4 +19,11 @@
*/
-extern void* wrapped_av_malloc (size_t);
+#include <cstddef>
+#include <cstdint>
+
+
+extern void* wrapped_av_malloc(size_t);
+extern void fill_memory(void* ptr, size_t bytes, uint64_t value);
+extern uint64_t copy_16_bit_words_to_64_bit(uint16_t v);
+extern uint64_t copy_bytes_to_64_bit(uint8_t v);
diff --git a/src/lib/packet_queue.cc b/src/lib/packet_queue.cc
new file mode 100644
index 000000000..9cdc7bc53
--- /dev/null
+++ b/src/lib/packet_queue.cc
@@ -0,0 +1,35 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "packet_queue.h"
+extern "C" {
+#include <libavcodec/packet.h>
+}
+
+
+PacketQueue::PacketInfo::PacketInfo(AVPacket* packet)
+ : stream_index(packet->stream_index)
+ , dts(packet->dts)
+{
+
+}
+
+
diff --git a/src/lib/packet_queue.h b/src/lib/packet_queue.h
new file mode 100644
index 000000000..60bd4e8af
--- /dev/null
+++ b/src/lib/packet_queue.h
@@ -0,0 +1,83 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#ifndef DCPOMATIC_PACKET_QUEUE_H
+#define DCPOMATIC_PACKET_QUEUE_H
+
+
+/** @file src/lib/packet_queue.h
+ * @brief PacketQueue parent class.
+ */
+
+
+#include <boost/optional.hpp>
+#include <boost/variant.hpp>
+#include <cstdint>
+#include <deque>
+
+struct AVPacket;
+
+
+/** @class PacketQueue
+ * @brief Parent class for things which take and then return AVPackets, possibly
+ * re-ordering them.
+ */
+class PacketQueue
+{
+public:
+ virtual ~PacketQueue() = default;
+
+ enum class Type {
+ VIDEO,
+ AUDIO,
+ SUBTITLE,
+ DROP,
+ };
+
+ /** Container for the only information we need to keep from a DROP packet */
+ struct PacketInfo {
+ PacketInfo(AVPacket* packet);
+
+ int stream_index;
+ int64_t dts;
+ };
+
+ typedef boost::variant<AVPacket*, PacketInfo> Packet;
+
+ /** Add a packet to the queue. Does not ref the packet; we expect
+ * the packet to be freed when it comes out of get() (or by clear()).
+ */
+ virtual void add(AVPacket* packet, Type type) = 0;
+
+ /** Get the next packet to process.
+ * @param flushing should be true if we are flushing at the end of a decode.
+ * When this is true the queue will be emptied without trying to re-order it.
+ * Returns boost::none when there are no more packets to get.
+ */
+ virtual boost::optional<std::pair<Packet, Type>> get(bool flushing) = 0;
+
+ /** Clear the queue. Packets will be freed. */
+ virtual void clear() = 0;
+};
+
+
+#endif
+
diff --git a/src/lib/passthrough_packet_queue.cc b/src/lib/passthrough_packet_queue.cc
new file mode 100644
index 000000000..03038ff5f
--- /dev/null
+++ b/src/lib/passthrough_packet_queue.cc
@@ -0,0 +1,56 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "dcpomatic_assert.h"
+#include "passthrough_packet_queue.h"
+#include <boost/core/exchange.hpp>
+#include <boost/optional.hpp>
+#include <utility>
+
+
+using boost::optional;
+
+
+void
+PassthroughPacketQueue::add(AVPacket* packet, Type type)
+{
+ DCPOMATIC_ASSERT(!_store);
+ if (type == PacketQueue::Type::DROP) {
+ _store = std::make_pair(PacketInfo(packet), type);
+ } else {
+ _store = std::make_pair(Packet(packet), type);
+ }
+}
+
+
+optional<std::pair<PacketQueue::Packet, PacketQueue::Type>>
+PassthroughPacketQueue::get(bool)
+{
+ return boost::exchange(_store, boost::none);
+}
+
+
+void
+PassthroughPacketQueue::clear()
+{
+ _store = boost::none;
+}
+
diff --git a/src/lib/passthrough_packet_queue.h b/src/lib/passthrough_packet_queue.h
new file mode 100644
index 000000000..56ebf3867
--- /dev/null
+++ b/src/lib/passthrough_packet_queue.h
@@ -0,0 +1,45 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "packet_queue.h"
+#include <boost/optional.hpp>
+
+
+class PassthroughPacketQueue : public PacketQueue
+{
+public:
+ void add(AVPacket* packet, Type type) override;
+
+ /** Get the next packet to process.
+ * @param flushing should be true if we are flushing at the end of a decode.
+ * When this is true the queue will be emptied without trying to re-order it.
+ * Returns { nullptr, VIDEO } when there are no more packets to get.
+ */
+ boost::optional<std::pair<Packet, Type>> get(bool flushing) override;
+
+ /** Clear the queue. Packets will be freed. */
+ void clear() override;
+
+private:
+ boost::optional<std::pair<Packet, Type>> _store;
+};
+
+
diff --git a/src/lib/player.cc b/src/lib/player.cc
index f93327495..cf5429fd5 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -86,6 +86,7 @@ using namespace dcpomatic;
Player::Player(shared_ptr<const Film> film, Image::Alignment subtitle_alignment, bool tolerant)
: _film(film)
, _suspended(0)
+ , _video_container_size(dcp::Size{})
, _ignore_video(false)
, _ignore_audio(false)
, _ignore_text(false)
@@ -94,6 +95,7 @@ Player::Player(shared_ptr<const Film> film, Image::Alignment subtitle_alignment,
, _tolerant(tolerant)
, _play_referenced(false)
, _audio_merger(film->audio_frame_rate())
+ , _playback_length(dcpomatic::DCPTime{})
, _subtitle_alignment(subtitle_alignment)
{
construct();
@@ -104,6 +106,7 @@ Player::Player(shared_ptr<const Film> film, shared_ptr<const Playlist> playlist_
: _film(film)
, _playlist(playlist_)
, _suspended(0)
+ , _video_container_size(dcp::Size{})
, _ignore_video(false)
, _ignore_audio(false)
, _ignore_text(false)
@@ -112,6 +115,7 @@ Player::Player(shared_ptr<const Film> film, shared_ptr<const Playlist> playlist_
, _tolerant(tolerant)
, _play_referenced(false)
, _audio_merger(film->audio_frame_rate())
+ , _playback_length(dcpomatic::DCPTime{})
{
construct();
}
@@ -164,7 +168,7 @@ Player::Player(Player&& other)
, _play_referenced(other._play_referenced.load())
, _next_video_time(other._next_video_time)
, _next_audio_time(other._next_audio_time)
- , _dcp_decode_reduction(other._dcp_decode_reduction.load())
+ , _dcp_decode_reduction(other._dcp_decode_reduction)
, _last_video(std::move(other._last_video))
, _audio_merger(std::move(other._audio_merger))
, _shuffler(std::move(other._shuffler))
@@ -204,7 +208,7 @@ Player::operator=(Player&& other)
_play_referenced = other._play_referenced.load();
_next_video_time = other._next_video_time;
_next_audio_time = other._next_audio_time;
- _dcp_decode_reduction = other._dcp_decode_reduction.load();
+ _dcp_decode_reduction = other._dcp_decode_reduction;
_last_video = std::move(other._last_video);
_audio_merger = std::move(other._audio_merger);
_shuffler = std::move(other._shuffler);
@@ -1554,12 +1558,17 @@ Player::set_dcp_decode_reduction(optional<int> reduction)
{
ChangeSignaller<Player, int> cc(this, PlayerProperty::DCP_DECODE_REDUCTION);
- if (reduction == _dcp_decode_reduction.load()) {
- cc.abort();
- return;
+ {
+ boost::mutex::scoped_lock lm(_mutex);
+
+ if (reduction == _dcp_decode_reduction) {
+ cc.abort();
+ return;
+ }
+
+ _dcp_decode_reduction = reduction;
}
- _dcp_decode_reduction = reduction;
setup_pieces();
}
diff --git a/src/lib/player.h b/src/lib/player.h
index 4a1cf5f55..2ae60c287 100644
--- a/src/lib/player.h
+++ b/src/lib/player.h
@@ -39,7 +39,7 @@
#include "player_text.h"
#include "position_image.h"
#include "shuffler.h"
-#include <boost/atomic.hpp>
+#include <atomic>
#include <list>
@@ -181,9 +181,10 @@ private:
std::weak_ptr<Piece> weak_piece, std::weak_ptr<const TextContent> weak_content, dcpomatic::ContentTime subtitle_from
) const;
- /** Mutex to protect the most of the Player state. When it's used for the preview we have
- seek() and pass() called from the Butler thread and lots of other stuff called
- from the GUI thread.
+ /** Mutex to protect the player state that is not using std::atomic.
+ * When the player is used for the preview we have seek() and pass()
+ * called from the Butler thread and lots of other stuff called
+ * from the GUI thread.
*/
mutable boost::mutex _mutex;
@@ -192,36 +193,36 @@ private:
std::shared_ptr<const Playlist> _playlist;
/** > 0 if we are suspended (i.e. pass() and seek() do nothing) */
- boost::atomic<int> _suspended;
+ std::atomic<int> _suspended;
std::vector<std::shared_ptr<Piece>> _pieces;
/** Size of the image we are rendering to; this may be the DCP frame size, or
* the size of preview in a window.
*/
- boost::atomic<dcp::Size> _video_container_size;
+ std::atomic<dcp::Size> _video_container_size;
mutable boost::mutex _black_image_mutex;
std::shared_ptr<Image> _black_image;
/** true if the player should ignore all video; i.e. never produce any */
- boost::atomic<bool> _ignore_video;
- boost::atomic<bool> _ignore_audio;
+ std::atomic<bool> _ignore_video;
+ std::atomic<bool> _ignore_audio;
/** true if the player should ignore all text; i.e. never produce any */
- boost::atomic<bool> _ignore_text;
- boost::atomic<bool> _always_burn_open_subtitles;
+ std::atomic<bool> _ignore_text;
+ std::atomic<bool> _always_burn_open_subtitles;
/** true if we should try to be fast rather than high quality */
- boost::atomic<bool> _fast;
+ std::atomic<bool> _fast;
/** true if we should keep going in the face of `survivable' errors */
bool _tolerant;
/** true if we should `play' (i.e output) referenced DCP data (e.g. for preview) */
- boost::atomic<bool> _play_referenced;
+ std::atomic<bool> _play_referenced;
/** Time of the next video that we will emit, or the time of the last accurate seek */
boost::optional<dcpomatic::DCPTime> _next_video_time;
/** Time of the next audio that we will emit, or the time of the last accurate seek */
boost::optional<dcpomatic::DCPTime> _next_audio_time;
- boost::atomic<boost::optional<int>> _dcp_decode_reduction;
+ boost::optional<int> _dcp_decode_reduction;
EnumIndexedVector<std::pair<std::shared_ptr<PlayerVideo>, dcpomatic::DCPTime>, Eyes> _last_video;
@@ -250,7 +251,7 @@ private:
std::shared_ptr<AudioProcessor> _audio_processor;
bool _disable_audio_processor = false;
- boost::atomic<dcpomatic::DCPTime> _playback_length;
+ std::atomic<dcpomatic::DCPTime> _playback_length;
/** Alignment for subtitle images that we create */
Image::Alignment _subtitle_alignment = Image::Alignment::PADDED;
diff --git a/src/lib/po/cs_CZ.po b/src/lib/po/cs_CZ.po
index 5bb0feaac..406b0d1fd 100644
--- a/src/lib/po/cs_CZ.po
+++ b/src/lib/po/cs_CZ.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2025-06-10 15:13+0200\n"
"Last-Translator: Tomáš Begeni <begeni@razdva.cz>\n"
"Language-Team: \n"
@@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.6\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -27,7 +27,7 @@ msgstr ""
"\n"
"Snímková frekvence obsahu %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -36,7 +36,7 @@ msgstr ""
"\n"
"Oříznout na {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -45,7 +45,7 @@ msgstr ""
"\n"
"Poměr stran displeje %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -54,7 +54,7 @@ msgstr ""
"\n"
"VyplnÄ›né Äernou, aby se zmenÅ¡il do kontejneru {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -63,7 +63,7 @@ msgstr ""
"\n"
"Měřítko {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -103,7 +103,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", poměr stran obrazových bodů %.2f:1"
@@ -176,7 +176,7 @@ msgstr "2.39 (Scope)"
msgid "3D denoiser"
msgstr "3D denoiser"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -228,7 +228,7 @@ msgstr ""
"a><li><a href=\"https://dcpomatic.com/donate_amount?amount=10\">Přejít na "
"Paypal a darovat€10</a></ul><p>Mockrát děkuji!</font>"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -256,7 +256,7 @@ msgstr "ARIB STD-B67 ('Hybrid log-gamma')"
msgid "Advertisement"
msgstr "Reklama"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -267,7 +267,7 @@ msgstr ""
"Bude použit letter-box uvnitÅ™ rámeÄku Flat (1.85:1). Můžete nastavit DCP "
"kontejner na Scope (2.39:1) v záložce \"DCP\"."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -290,24 +290,24 @@ msgstr "Analýza zvuku"
msgid "Analysing subtitles"
msgstr "Analýza titulků"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr "ZnaÄka která pÅ™ijde po konci projektu, bude ignorována."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Jeden z vašich souborů skrytých titulků je větší než "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "Jeden z vašich XML souborů se skrytými titulky je větší než "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Jeden z vašich souborů s titulky je větší než "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -315,7 +315,7 @@ msgstr ""
"Jeden z vaÅ¡ich řádků s titulky má více než 52 znaků. DoporuÄuje se, aby "
"každý řádek měl maximálně 52 znaků."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -323,7 +323,7 @@ msgstr ""
"Jeden z vašich titulků má více než 79 znaků. Každý řádek by měl být dlouhý "
"maximálně 79 znaků."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -331,7 +331,7 @@ msgstr ""
"Jeden z vaÅ¡ich titulků má více než 3 řádky. DoporuÄuje se použít maximálnÄ› 3 "
"řádky."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -339,7 +339,7 @@ msgstr ""
"Jeden z vaÅ¡ich titulků trvá ménÄ› než 15 snímků. DoporuÄuje se, aby každý "
"podnadpis měl délku alespoň 15 snímků."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -347,7 +347,7 @@ msgstr ""
"Jeden z vaÅ¡ich titulků zaÄíná ménÄ› než 2 snímky po pÅ™edchozím. DoporuÄuje "
"se, aby mezera mezi titulky byla alespoň 2 snímky."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -680,7 +680,7 @@ msgid "Content to be joined must use the same text language."
msgstr ""
"Obsah, ke kterému se chcete připojit, musí používat stejný jazyk textu."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Video je {}x{}"
@@ -821,7 +821,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML titulky"
@@ -829,7 +829,12 @@ msgstr "DCP XML titulky"
msgid "DCP sample rate"
msgstr "Snímková frekvence DCP"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP bude používat každý druhý frame obsahu \n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP bude běžet na %.1f%% obsahu videa.\n"
@@ -924,11 +929,11 @@ msgstr "Stahování selhalo ({} error {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Každý frame bude zdvojený v DCP.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Každý frame bude opakovaný {} krát v DCP.\n"
@@ -977,11 +982,11 @@ msgstr "Chyba: {}"
msgid "Event"
msgstr "Událost"
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr "Zkoumání zvuku"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "Zkoumání zvuku, titulků a skrytých titulků"
@@ -993,7 +998,7 @@ msgstr "Zkoumání obsahu"
msgid "Examining subtitles"
msgstr "Zkoumání titulků"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "Zkoumání titulků a skrytých titulků"
@@ -1147,11 +1152,11 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr "Používáte-li 25fps, měli byste změnit váš standard DCP na SMPTE."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
@@ -1161,7 +1166,7 @@ msgstr ""
"používat Interop. Je vhodné nastavit váš DCP tak, aby používal standard "
"SMPTE v záložce „DCP“."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1207,7 +1212,7 @@ msgstr "Left rear surround (Levý zadní surround)"
msgid "Left surround"
msgstr "Left surround (Levý surround)"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Délka"
@@ -1395,7 +1400,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1514,7 +1519,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1580,7 +1585,7 @@ msgstr "Short (Krátky film)"
msgid "Sign"
msgstr "Podepsat"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Velikost"
@@ -1627,7 +1632,7 @@ msgstr ""
"Tyto soubory budou nyní znovu přezkoumány, takže bude pravděpodobně nutné "
"zkontrolovat jejich nastavení."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1636,7 +1641,7 @@ msgstr ""
"Některé ze skrytých titulků jsou rozloženy na více než {} řádcích, takže "
"budou zkráceny."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1646,7 +1651,7 @@ msgstr ""
"nastavit jazyk zvuku na kartě „DCP“, pokud váš zvuk neobsahuje žádné mluvené "
"Äásti."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1667,7 +1672,7 @@ msgstr "Část vašeho obsahu potřebuje KDM"
msgid "Some of your content needs an OV"
msgstr "Část vašeho obsahu potřebuje OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1736,7 +1741,7 @@ msgstr "Řetěz certifikátů pro podepisování je neplatný"
msgid "The certificate chain for signing is invalid ({})"
msgstr "Řetěz certifikátů pro podepisování je neplatný ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1751,7 +1756,7 @@ msgstr ""
"tlaÄítko „Re-make certificates and key...“ (Znovu vytvoÅ™it certifikáty a "
"klíÄe...) na stránce Keys (KlíÄe) v oknÄ› Preferences (PÅ™edvolby)."
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1806,7 +1811,7 @@ msgstr "Soubor {} byl oříznut o {} milisekund méně."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Soubor {} byl oříznut o {} milisekund více."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1826,7 +1831,7 @@ msgstr ""
"směru než dříve. Měli byste zkontrolovat všechny titulky ve svém projektu "
"a ujistit se, že jsou umístěny tam, kde je chcete mít."
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1853,12 +1858,12 @@ msgstr ""
"Zbývá málo pamÄ›ti. Pokud je váš systém 32-bitový, zkuste snížit poÄet "
"enkódovacích threadov v záložce Všeobecné, v nastavení."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr "Tento KDM byl vytvořen pro {}, ale ne pro jeho listový certifikát."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "Tento KDM nebyl vytvořen pro dešifrovací certifikát {}."
@@ -2051,7 +2056,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Ještě další deinterlacing filter"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2062,7 +2067,7 @@ msgstr ""
"není podporována vÅ¡emi projektory. DoporuÄujeme zmÄ›nit snímkovou frekvenci "
"DCP na {} fps."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2073,7 +2078,7 @@ msgstr ""
"není podporována všemi projektory. Možná budete chtít změnit snímkovou "
"frekvenci na {} fps."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2081,7 +2086,7 @@ msgstr ""
"Nastavili jste pro DCP snímkovou frekvenci na 30fps, která není podporována "
"všemi projektory. Mějte na paměti, že můžete mít potíže s kompatibilitou."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2089,7 +2094,7 @@ msgstr ""
"Používáte 3D obsah, ale váš DCP je nastaven na 2D. Nastavte DCP na 3D, pokud "
"chcete přehrávat ve 3D systému (např. Real-D, MasterImage atd.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2108,7 +2113,7 @@ msgstr ""
"Máte více než jednu Äást obsahu Atmos která nemá stejnou snímkovou "
"frekvenci. Musíte odstranit nějaký obsah Atmos."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2116,7 +2121,7 @@ msgstr ""
"Máte překrývající se skryté titulky, které nejsou povoleny v Interop DCPs. "
"Změňte standard DCP na SMPTE."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2124,7 +2129,7 @@ msgstr ""
"Zadali jste soubor písma, který je větší než 640kB. Pravděpodobně to může "
"způsobit problémy při přehrávání."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2137,7 +2142,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Musíte přidat obsah do DCP před tím než ho vytvoříte"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2150,7 +2155,7 @@ msgstr ""
"Nezáleží na tom, zda má váš obsah méně kanálů, protože {} vyplní přídavky "
"tichem."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2161,7 +2166,7 @@ msgstr ""
"někteří distributoři při kontrole vašeho DCP zvýší chyby kontroly kvality. "
"Abyste tomu zabránili, nastavte zvukové kanály DCP na 8 nebo 16."
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2169,7 +2174,7 @@ msgstr ""
"Vaše DCP používá neobvyklý poměr. To může u některých projektorů způsobit "
"problémy. Pokud je to možné, použijte pro poměr DCP formát Flat nebo Scope."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2198,7 +2203,7 @@ msgstr "[přesouvám obrázky]"
msgid "[still]"
msgstr "[stále]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[titulky]"
@@ -2214,7 +2219,7 @@ msgstr "_reel{}"
msgid "bits"
msgstr "bity"
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "spojení vypršelo"
@@ -2270,22 +2275,22 @@ msgstr "nemohu Äíst ze souboru {} ({})"
msgid "could not write to file {} ({})"
msgstr "nemohu zapisovat do souboru {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "chyba při async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, c++-format
msgid "error during async_connect: ({})"
msgstr "chyba při async_connect: ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "chyba při async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "chyba při async_write ({})"
@@ -2415,7 +2420,7 @@ msgstr "stále"
msgid "unknown"
msgstr "neznáme"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "video snímky"
diff --git a/src/lib/po/da_DK.po b/src/lib/po/da_DK.po
index 69e4894aa..03ac44501 100644
--- a/src/lib/po/da_DK.po
+++ b/src/lib/po/da_DK.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2019-04-06 12:29+0200\n"
"Last-Translator: FULL NAME &lt;EMAIL@ADDRESS&gt;\n"
"Language-Team: LANGUAGE &lt;LL@li.org&gt;\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Generator: Poedit 2.1.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -26,7 +26,7 @@ msgstr ""
"\n"
"Indholds billedhastighed %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -35,7 +35,7 @@ msgstr ""
"\n"
"Beskåret til {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -44,7 +44,7 @@ msgstr ""
"\n"
"Skærmformat %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -53,7 +53,7 @@ msgstr ""
"\n"
"Udfyldt med sort for at tilpasse til container {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -62,7 +62,7 @@ msgstr ""
"\n"
"Skaleret til {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -102,7 +102,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", pixel format %.2f:1"
@@ -176,7 +176,7 @@ msgstr "2.39 (Scope)"
msgid "3D denoiser"
msgstr "3D-denoiser"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -214,7 +214,7 @@ msgid ""
"donate €10</a></ul><p>Thank you!</font>"
msgstr ""
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -241,7 +241,7 @@ msgstr "ARIB STD-B67 ('Hybrid log-gamma')"
msgid "Advertisement"
msgstr "Reklamer (ADV)"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -253,7 +253,7 @@ msgstr ""
"billede. Du vil måske foretrække at sætte din DCP's container til Scope "
"(2.39:1) i fanen \"DCP\"."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
#, fuzzy
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
@@ -279,54 +279,54 @@ msgstr "Analyserer lyd"
msgid "Analysing subtitles"
msgstr "Undersøger undertekster"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr ""
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr ""
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
msgstr ""
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
msgstr ""
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
msgstr ""
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -673,7 +673,7 @@ msgstr "Indhold der skal splejses skal bruge samme tekstningsstrøm."
msgid "Content to be joined must use the same text language."
msgstr "Indhold der skal splejses skal bruge samme skrifttype."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Indholdsvideo er {}x{}"
@@ -814,7 +814,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML undertekster"
@@ -822,7 +822,12 @@ msgstr "DCP XML undertekster"
msgid "DCP sample rate"
msgstr "DCP sample rate"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP vil bruge hvert andet billede fra indholdet.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP vil køre ved %.1f%% af indholdshastigheden.\n"
@@ -912,11 +917,11 @@ msgstr "Download fejlede ({} fejl {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Hvert billede i indholdet vil blive brugt to gange i DCP'en.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
@@ -966,12 +971,12 @@ msgstr "Fejl: {}"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Undersøger undertekster"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
#, fuzzy
msgid "Examining audio, subtitles and closed captions"
msgstr "Undersøger billedtekster"
@@ -984,7 +989,7 @@ msgstr "Undersøger indhold"
msgid "Examining subtitles"
msgstr "Undersøger undertekster"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
#, fuzzy
msgid "Examining subtitles and closed captions"
msgstr "Undersøger billedtekster"
@@ -1141,18 +1146,18 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr "Når du benytter 25bps bør du ændre DCP standard til SMPTE."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
"the SMPTE standard in the \"DCP\" tab."
msgstr ""
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1196,7 +1201,7 @@ msgstr "Venstre bag surround"
msgid "Left surround"
msgstr "Venstre surround"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Længde"
@@ -1388,7 +1393,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, fuzzy, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1507,7 +1512,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1570,7 +1575,7 @@ msgstr "Short"
msgid "Sign"
msgstr ""
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Størrelse"
@@ -1623,7 +1628,7 @@ msgstr ""
"De bliver nu undersøgt igen, og det kan være nødvendigt at gennemse deres "
"indstillinger bagefter."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1631,14 +1636,14 @@ msgid ""
msgstr ""
"Nogle af underteksterne er på mere end {} linjer, så de bliver beskåret."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
"has no spoken parts."
msgstr ""
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1660,7 +1665,7 @@ msgstr "Noget af dit indhold mangler en KDM"
msgid "Some of your content needs an OV"
msgstr "Noget af dit indhold mangler en OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1726,7 +1731,7 @@ msgstr "Certifikatkæden til signering er ugyldig"
msgid "The certificate chain for signing is invalid ({})"
msgstr "Certifikatkæden til signering er ugyldig ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1736,7 +1741,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1782,7 +1787,7 @@ msgstr "Filen {} er blevet trimmet {} millisekunder kortere."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Filen {} er blevet trimmet {} millisekunder længere."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1796,7 +1801,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
#, fuzzy
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
@@ -1825,13 +1830,13 @@ msgstr ""
"kører på et 32 bit operativsystem, så prøv at reducere antallet af "
"genereringstråde i fanebladet Generelt i Indstillinger."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, fuzzy, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
"KDM var genereret til DCP-o-matic, men ikke til dens 'leaf' certifikat."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, fuzzy, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "KDM var ikke genereret til DCP-o-matics dekrypterings certifikat."
@@ -2020,7 +2025,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Endnu et Deinterlacing Filter"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2031,7 +2036,7 @@ msgstr ""
"billedhastighed understøttes ikke af alle projektorer. Du rådes til at "
"ændre DCP-billedhastigheden til {} fps."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2042,7 +2047,7 @@ msgstr ""
"billedhastighed understøttes ikke af alle projektorer. Du rådes til at "
"ændre billedhastigheden til {} fps."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2051,7 +2056,7 @@ msgstr ""
"understøttes af alle projektorer. Vær opmærksom på at der kan opstå "
"kompatibilitetsproblemer."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2059,7 +2064,7 @@ msgstr ""
"Du benytter 3D indhold, men har sat DCPen til 2D. Sæt DCPen til 3D hvis du "
"vil afspille på et 3D-system. (f.eks. Real-D, MasterImage, etc.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, fuzzy, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2077,14 +2082,14 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr ""
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
#, fuzzy
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
msgstr "Du har overlappende undertekster, hvilket ikke er tilladt."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2092,7 +2097,7 @@ msgstr ""
"Du har valgt en font-fil der er større end 640 kB. Dette vil højst "
"sandsynligt give problemer ved afspilningen."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2105,7 +2110,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Du er nødt til at tilføje indhold til DCP'en før du kan danne den"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2114,7 +2119,7 @@ msgid ""
"silence."
msgstr ""
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2122,7 +2127,7 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
#, fuzzy
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
@@ -2132,7 +2137,7 @@ msgstr ""
"projektorer. Brug Flat eller Scope som DCPens indholdsformat, hvis det er "
"muligt"
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2160,7 +2165,7 @@ msgstr "[levende billeder]"
msgid "[still]"
msgstr "[stillbillede]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[undertekster]"
@@ -2176,7 +2181,7 @@ msgstr "_spole{}"
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "forbindelsestimeout"
@@ -2232,22 +2237,22 @@ msgstr "kunne ikke læse fra fil {} ({})"
msgid "could not write to file {} ({})"
msgstr "kunne ikke skrive til fil {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "fejl ved async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "fejl ved async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "fejl ved async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "fejl ved async_write ({})"
@@ -2375,7 +2380,7 @@ msgstr "stille"
msgid "unknown"
msgstr "ukendt"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "videobilleder"
diff --git a/src/lib/po/de_DE.po b/src/lib/po/de_DE.po
index da338451b..6f2c276f1 100644
--- a/src/lib/po/de_DE.po
+++ b/src/lib/po/de_DE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2021-08-20 20:44+0200\n"
"Last-Translator: Carsten Kurz\n"
"Language-Team: DCP-o-matic translators\n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Generator: Poedit 3.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -27,7 +27,7 @@ msgstr ""
"\n"
"Bildrate %.4f fps\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -36,7 +36,7 @@ msgstr ""
"\n"
"Beschnitten zu {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -45,7 +45,7 @@ msgstr ""
"\n"
"Anzeigeseitenverhältnis (DAR) %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -54,7 +54,7 @@ msgstr ""
"\n"
"Mit Schwarz gefüllt auf Containerformat {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -63,7 +63,7 @@ msgstr ""
"\n"
"Skaliert auf {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -104,7 +104,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", Pixelseitenverhältnis %.2f:1"
@@ -178,7 +178,7 @@ msgstr "2.39:1 (DCI Scope)"
msgid "3D denoiser"
msgstr "3D Rauschunterdrückung"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -232,7 +232,7 @@ msgstr ""
"href=\"https://dcpomatic.com/donate_amount?amount=10\">Spende über Paypal "
"£10</a></ul><p>Dankeschön!</font>"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -260,7 +260,7 @@ msgstr "ARIB STD-B67 ('Hybrid log-gamma')"
msgid "Advertisement"
msgstr "Werbung - ADV"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -274,7 +274,7 @@ msgstr ""
"Containertyp auf Scope (2.39:1) einstellen. Für Scope-Trailer ist diese "
"'letter-boxed' Darstellung in einem Flat-Vorprogramm jedoch übliche Praxis."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
#, fuzzy
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
@@ -300,28 +300,28 @@ msgstr "Audio wird analysiert"
msgid "Analysing subtitles"
msgstr "Untertitel analysieren"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
"Mindestens ein Marker ist hinter dem Ende des Projekts platziert und wird "
"daher ignoriert."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Mindestens eine Ihrer Closed Captions (CCAP) ist grösser als "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
"Mindestens eine Ihrer Closed Captions (CCAP) -Dateien (XML-Format) ist "
"grösser als "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Mindestens eine Ihrer Untertiteldateien ist grösser als "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -330,7 +330,7 @@ msgstr ""
"empfohlen, jede Untertitelzeile auf eine Länge von maximal 52 Zeichen zu "
"beschränken."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -338,7 +338,7 @@ msgstr ""
"Mindestens eine Ihrer Untertitel-Zeilen hat mehr als 79 Zeichen. Sie sollten "
"jede Untertitelzeile auf eine Länge von maximal 79 Zeichen begrenzen."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -346,7 +346,7 @@ msgstr ""
"Mindesteins einer Ihrer Untertitel hat mehr als drei Zeilen. Es ist ratsam, "
"nicht mehr als drei Zeilen für einen Untertitel zu nutzen."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -354,7 +354,7 @@ msgstr ""
"Mindestens einer Ihrer Untertitel dauert weniger als 15 Frames. Es ist "
"ratsam, jeden Untertitel eine Länge von mindestens 15 Frames zuzuordnen."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -363,7 +363,7 @@ msgstr ""
"vorherigen Untertitel. Es ist ratsam, die Lücke zwischen Untertiteln auf "
"mindestens 2 Frames zu vergrössern."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
#, fuzzy
msgid ""
"At least one piece of subtitle content has no specified language. It is "
@@ -727,7 +727,7 @@ msgstr ""
"Zu verbindende Inhalte müssen die gleichen Zeichensätze für Untertitel "
"verwenden."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Inhalt Video ist {}x{}"
@@ -868,7 +868,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML Untertitel"
@@ -876,7 +876,12 @@ msgstr "DCP XML Untertitel"
msgid "DCP sample rate"
msgstr "Audio Abtastrate (angepasst für DCP/48KHz)"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP verwendet nur jedes zweite Bild des Quelle.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP läuft mit %.1f%% der Originalgeschwindigkeit der Quelle.\n"
@@ -967,11 +972,11 @@ msgstr "Herunterladen fehlgeschlagen ({} Fehler {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Jedes Bild der Quelle wird im DCP verdoppelt.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Jedes Bild der Quelle wird {} mal im DCP wiederholt.\n"
@@ -1020,12 +1025,12 @@ msgstr "Fehler: ({})"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Analysiere Untertitel"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
#, fuzzy
msgid "Examining audio, subtitles and closed captions"
msgstr "Untersuche Closed Captions (CCAP)"
@@ -1038,7 +1043,7 @@ msgstr "Inhalt wird überprüft"
msgid "Examining subtitles"
msgstr "Analysiere Untertitel"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
#, fuzzy
msgid "Examining subtitles and closed captions"
msgstr "Untersuche Closed Captions (CCAP)"
@@ -1194,13 +1199,13 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
"Sofern Sie eine Bildrate von 25fps verwenden, sollten Sie den DCP Standard "
"für dieses Projekt auf 'SMPTE' setzen!"
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
#, fuzzy
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
@@ -1212,7 +1217,7 @@ msgstr ""
"den SMPTE-Standard für das DCP zu setzen. Nutzen Sie dazu den \"DCP\" "
"Tabreiter."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1259,7 +1264,7 @@ msgstr "Surround hinten links"
msgid "Left surround"
msgstr "Surround links"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Länge"
@@ -1457,7 +1462,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, fuzzy, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1576,7 +1581,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1647,7 +1652,7 @@ msgstr "Kurzfilm - SHR"
msgid "Sign"
msgstr "Signatur"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Größe"
@@ -1704,7 +1709,7 @@ msgstr ""
"Diese Inhalte werden nun neu untersucht, ggfs. müssen Sie bei Änderungen "
"deren typspezifische Einstellungen überprüfen!"
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1713,7 +1718,7 @@ msgstr ""
"Einige ihrer Closed Captions (CCAP) sind länger als {} Zeile(n). Sie werden "
"abgeschnitten."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1723,7 +1728,7 @@ msgstr ""
"festgelegt. Es ist ratsam, die Audio-Sprache im \"DCP\" Tabreiter zu setzen, "
"außer Ihre Audiospuren haben keine gesprochenen Teile."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1745,7 +1750,7 @@ msgstr "Teile ihrer Quellinhalte (DCP) benötigen eine KDM"
msgid "Some of your content needs an OV"
msgstr "Teile ihrer Quellinhalte (DCP) benötigen eine OV-CPL"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1812,7 +1817,7 @@ msgstr "Die Zertifikatskette für die Signatur ist ungültig"
msgid "The certificate chain for signing is invalid ({})"
msgstr "Die Zertifikatskette für Signaturen ist ungültig ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1822,7 +1827,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1872,7 +1877,7 @@ msgstr "Die Spur {} wurde um {} Millisekunden gekürzt."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Die Spur {} wurde um {} Millisekunden verlängert."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1886,7 +1891,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
#, fuzzy
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
@@ -1916,14 +1921,14 @@ msgstr ""
"32-Bit-Betriebssystem ausführen, versuchen Sie, die Anzahl der Rechen-"
"Threads in den Voreinstellungen n zu reduzieren."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, fuzzy, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
"KDM ist zwar für DCP-o-matic ausgestellt, jedoch nicht für das Leaf-"
"Zertifikat dieser Installation."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, fuzzy, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -2123,7 +2128,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Und ein weiterer De-Interlacer ('YADIF')"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2135,7 +2140,7 @@ msgstr ""
"abweichend von 24fps oder 48fps(3D) nicht leichtfertig! Ändern Sie die "
"Bildrate gegebenenfalls in {} fps."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2147,7 +2152,7 @@ msgstr ""
"abweichend von 24fps oder 48fps(3D) nicht leichtfertig! Ändern Sie die "
"Bildrate gegebenenfalls in {} fps!"
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2156,7 +2161,7 @@ msgstr ""
"nicht von allen Projektionssystemen unterstützt! Wählen Sie Bildraten "
"abweichend von 24fps oder 48fps(3D) nicht leichtfertig!"
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2165,7 +2170,7 @@ msgstr ""
"ihre Inhalte in 3D wiedergeben wollen, wählen Sie unter dem DCP-Reiter "
"'Bild' '3D DCP' aus. Andernfalls wird ein 2D-DCP erzeugt."
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, fuzzy, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2187,7 +2192,7 @@ msgstr ""
"unterschiedliche Frame-Raten. Entfernen Sie die Inhalte, welche die "
"unpassenden Frame-Raten haben."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2196,7 +2201,7 @@ msgstr ""
"nicht zulässig! Bitte entfernen Sie die Überlappung oder ändern Sie den DCP "
"Wrapping Typ auf 'SMPTE'."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2207,7 +2212,7 @@ msgstr ""
"speziellen Zeichensatz angewiesen sind, googlen Sie nach 'TI Font "
"Compressor' und verwenden Sie ggfs. dieses Tool zur Behebung des Problems."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2221,7 +2226,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Sie müssen erst Inhalte hinzufügen bevor Sie ein DCP erstellen können!"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, fuzzy, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2235,7 +2240,7 @@ msgstr ""
"Audiokanäle haben, werden die nicht genutzten Audiokanäle automatisch mit "
"Stille aufgefüllt."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2243,7 +2248,7 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2252,7 +2257,7 @@ msgstr ""
"Projektionssystemen Probleme verursachen. Bitte verwenden Sie wann immer "
"möglich Flat oder Scope Container."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2288,7 +2293,7 @@ msgstr "[Bewegte Bilder]"
msgid "[still]"
msgstr "[Standbild]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[Untertitel]"
@@ -2304,7 +2309,7 @@ msgstr "_reel{}"
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "Zeit für Verbindungsaufbau abgelaufen"
@@ -2360,22 +2365,22 @@ msgstr "Datei {} konnte nicht gelesen werden ({})"
msgid "could not write to file {} ({})"
msgstr "Datei {} konnte nicht geschrieben werden ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "error during async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "error during async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "error during async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "error during async_write ({})"
@@ -2527,7 +2532,7 @@ msgstr "Standbild"
msgid "unknown"
msgstr "unbekannt"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "Video Bilder"
diff --git a/src/lib/po/el_GR.po b/src/lib/po/el_GR.po
index 82705cdda..845004e7a 100644
--- a/src/lib/po/el_GR.po
+++ b/src/lib/po/el_GR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,42 +17,42 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
"Content frame rate %.4f\n"
msgstr ""
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
"Cropped to {}x{}"
msgstr ""
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
"Display aspect ratio %.2f:1"
msgstr ""
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
"Padded with black to fit container {} ({}x{})"
msgstr ""
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
"Scaled to {}x{}"
msgstr ""
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr ""
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ""
@@ -155,7 +155,7 @@ msgstr ""
msgid "3D denoiser"
msgstr ""
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -193,7 +193,7 @@ msgid ""
"donate €10</a></ul><p>Thank you!</font>"
msgstr ""
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -216,7 +216,7 @@ msgstr ""
msgid "Advertisement"
msgstr ""
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -224,7 +224,7 @@ msgid ""
"tab."
msgstr ""
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -244,54 +244,54 @@ msgstr ""
msgid "Analysing subtitles"
msgstr ""
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr ""
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr ""
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
msgstr ""
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
msgstr ""
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
msgstr ""
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -614,7 +614,7 @@ msgstr ""
msgid "Content to be joined must use the same text language."
msgstr ""
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr ""
@@ -750,7 +750,7 @@ msgstr ""
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr ""
@@ -758,7 +758,12 @@ msgstr ""
msgid "DCP sample rate"
msgstr ""
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr ""
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr ""
@@ -835,11 +840,11 @@ msgstr ""
msgid "EC"
msgstr ""
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr ""
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
@@ -888,11 +893,11 @@ msgstr ""
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr ""
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr ""
@@ -904,7 +909,7 @@ msgstr ""
msgid "Examining subtitles"
msgstr ""
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr ""
@@ -1055,18 +1060,18 @@ msgstr ""
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
"the SMPTE standard in the \"DCP\" tab."
msgstr ""
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1110,7 +1115,7 @@ msgstr ""
msgid "Left surround"
msgstr ""
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr ""
@@ -1293,7 +1298,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1409,7 +1414,7 @@ msgstr ""
msgid "SMPTE 240M"
msgstr ""
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1471,7 +1476,7 @@ msgstr ""
msgid "Sign"
msgstr ""
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr ""
@@ -1505,21 +1510,21 @@ msgid ""
"need to check their settings."
msgstr ""
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
"has no spoken parts."
msgstr ""
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1540,7 +1545,7 @@ msgstr ""
msgid "Some of your content needs an OV"
msgstr ""
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1604,7 +1609,7 @@ msgstr ""
msgid "The certificate chain for signing is invalid ({})"
msgstr ""
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1614,7 +1619,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1658,7 +1663,7 @@ msgstr ""
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr ""
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1672,7 +1677,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1692,12 +1697,12 @@ msgid ""
"tab of Preferences."
msgstr ""
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -1875,7 +1880,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr ""
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -1883,7 +1888,7 @@ msgid ""
"to {} fps."
msgstr ""
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -1891,19 +1896,19 @@ msgid ""
"rate to {} fps."
msgstr ""
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
msgstr ""
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
msgstr ""
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -1917,19 +1922,19 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr ""
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
msgstr ""
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -1940,7 +1945,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr ""
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -1949,7 +1954,7 @@ msgid ""
"silence."
msgstr ""
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -1957,13 +1962,13 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
msgstr ""
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -1989,7 +1994,7 @@ msgstr ""
msgid "[still]"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr ""
@@ -2005,7 +2010,7 @@ msgstr ""
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr ""
@@ -2061,22 +2066,22 @@ msgstr ""
msgid "could not write to file {} ({})"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, c++-format
msgid "error during async_connect: ({})"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr ""
@@ -2199,7 +2204,7 @@ msgstr ""
msgid "unknown"
msgstr ""
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr ""
diff --git a/src/lib/po/es_ES.po b/src/lib/po/es_ES.po
index 6ac02b4e0..dcc644703 100644
--- a/src/lib/po/es_ES.po
+++ b/src/lib/po/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: LIBDCPOMATIC\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2021-10-17 22:41-0400\n"
"Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
"Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.0\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -26,7 +26,7 @@ msgstr ""
"\n"
"Velocidad del contenido %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -35,7 +35,7 @@ msgstr ""
"\n"
"Recortado a {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -44,7 +44,7 @@ msgstr ""
"\n"
"Proporción de aspecto mostrada %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -53,7 +53,7 @@ msgstr ""
"\n"
"Completado con negro para cubrir el contenedor {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -62,7 +62,7 @@ msgstr ""
"\n"
"Redimensionado a {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -102,7 +102,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", proporción de aspecto de pixel %.2f:1"
@@ -176,7 +176,7 @@ msgstr "2.39 (Scope)"
msgid "3D denoiser"
msgstr "reducción de ruido 3D"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -228,7 +228,7 @@ msgstr ""
"Paypal para donar €20</a><li><a href=“https://dcpomatic.com/donate_amount?"
"amount=10â€>Ir a Paypal para donar€10</a></ul><p>¡Muchas gracias!"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -257,7 +257,7 @@ msgstr "ARIB STD-B67 ('Log-gamma híbrido')"
msgid "Advertisement"
msgstr "Publicidad"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -268,7 +268,7 @@ msgstr ""
"(1.85:1). Esto creará bandas negras horizontales. Puede que prefieras "
"seleccionar el contenedor DCP en Scope (2.39:1) en la pestaña \"DCP\"."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -291,25 +291,25 @@ msgstr "Analizaando audio"
msgid "Analysing subtitles"
msgstr "Analizando subtítulos"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
"Al menos un marcador aparece después del final del proyecto y será ignorado."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Al menos uno de los ficheros de subtítulos cerrados es mayor que "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "Al menos uno de los ficheros XML de subtítulos cerrados es mayor que "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Al menos uno de los ficheros de subtítulos es mayor que "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -317,7 +317,7 @@ msgstr ""
"Al menos una de las líneas de subtítulos tiene más de 52 caracteres. Se "
"recomienda un máximo de 52 caracteres por línea."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -325,7 +325,7 @@ msgstr ""
"Al menos una de las líneas de subtítulos tiene más de 79 caracteres. Cada "
"línea debe tener un máximo de 79 caracteres."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -333,7 +333,7 @@ msgstr ""
"Al menos uno de los subtítulos tiene más de 3 líneas. Se recomienda no usar "
"más de 3 líneas."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -341,7 +341,7 @@ msgstr ""
"Al menos uno de los subtítulos dura menos de 15 imágenes. Se recomienda que "
"un subtítulo dure al menos 15 imágenes."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -349,7 +349,7 @@ msgstr ""
"Al menos uno de los subtítulos empieza menos de 2 imágenes tras el "
"precedente. Se recomienda dejar al menos 2 imágenes entre subtítulos."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
#, fuzzy
msgid ""
"At least one piece of subtitle content has no specified language. It is "
@@ -690,7 +690,7 @@ msgstr "Para unir contenido debe tener el mismo tipo de subtítulos."
msgid "Content to be joined must use the same text language."
msgstr "Para unir contenidos deben tener la misma lengua de texto."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "El video es {}x{}"
@@ -831,7 +831,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "Subtítulos DCP XML"
@@ -839,7 +839,12 @@ msgstr "Subtítulos DCP XML"
msgid "DCP sample rate"
msgstr "Velocidad del DCP"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "El DCP usará una de cada dos imágenes de la fuente.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "El DCP se reproducirá al %.1f%% de la velocidad de la fuente.\n"
@@ -928,11 +933,11 @@ msgstr "Descarga fallida ({} error {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Se doblará cada imagen en el DCP.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Cada imagen será repetida otras {} veces en el DCP.\n"
@@ -981,12 +986,12 @@ msgstr "Error: {}"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Examinando subtítulos"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "Examinando audio, subtítulos, abiertos y cerrados"
@@ -998,7 +1003,7 @@ msgstr "Examinando contenido"
msgid "Examining subtitles"
msgstr "Examinando subtítulos"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "Examinando subtítulos abiertos y cerrados"
@@ -1152,11 +1157,11 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr "Si usas 25 ípsilons deberías cambiar el standard DCP a SMPTE."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
#, fuzzy
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
@@ -1167,7 +1172,7 @@ msgstr ""
"importante para elegir Interop. Deberías elegir el standard SMPTE en la "
"pestaña “DCPâ€."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1213,7 +1218,7 @@ msgstr "Surround trasero izquierda"
msgid "Left surround"
msgstr "Surround izquierda"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Duración"
@@ -1406,7 +1411,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, fuzzy, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1525,7 +1530,7 @@ msgstr "SMPTE 2085, Y’D’zD’x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1592,7 +1597,7 @@ msgstr "Cortometraje"
msgid "Sign"
msgstr "Signo"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Tamaño"
@@ -1641,7 +1646,7 @@ msgstr ""
"\n"
"Estos ficheros serán reexaminados ahora, necesitarás confirmar las opciones."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1649,7 +1654,7 @@ msgid ""
msgstr ""
"Algunos d los subtítulos cerrados tienen más de {} líneas, serán cortados."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1659,7 +1664,7 @@ msgstr ""
"recomendable indicar la lengua del audio en la pestaña “DCPâ€, a menos que el "
"audio no contenga texto hablado."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1681,7 +1686,7 @@ msgstr "Parte del contenido necesita una KDM"
msgid "Some of your content needs an OV"
msgstr "Parte del contenido necesita una OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1748,7 +1753,7 @@ msgstr "La cadena de certificados para firmar no es válida"
msgid "The certificate chain for signing is invalid ({})"
msgstr "La cadena de certificados para firmar no es válida ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1758,7 +1763,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1807,7 +1812,7 @@ msgstr "El fichero {} ha sido recortado en {} milisegundos."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "El fichero {} ha sido alargado con {} milisegundos."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1821,7 +1826,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
#, fuzzy
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
@@ -1850,12 +1855,12 @@ msgstr ""
"sistema operativo de 32 bits, trate de reducir el número de hilos de "
"codificación en la sección General de las preferencias."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, fuzzy, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr "Este KDM se hizo para DCP-o-matic pero no para su certificado hoja."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, fuzzy, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -2050,7 +2055,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Yet Another Deinterlacing Filter"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2061,7 +2066,7 @@ msgstr ""
"soportada por todos los proyectores. Te recomendamos cambiar la velocidad a "
"{} ips."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2072,7 +2077,7 @@ msgstr ""
"soportada por todos los proyectores. Considera cambiar la velocidad a {} "
"ips."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2081,7 +2086,7 @@ msgstr ""
"todos los proyectores. Sé consciente de que puede haber problemas de "
"compatibilidad."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2089,7 +2094,7 @@ msgstr ""
"Estás usando contenido 3D pero el DCP es 2D. Cambia el DCP a 3D si quieres "
"que funcione en un sistema 3D (ej.: Real-D, MasterImage, etc.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, fuzzy, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2108,7 +2113,7 @@ msgstr ""
"Hay más d aun contenido Atmos, y no tienen la misma velocidad. Debes quitar "
"algún contenido Atmos."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2116,7 +2121,7 @@ msgstr ""
"Tienes subtítulos cerrados superpuestos, que no están permitidos en DCPs "
"Interop. Cambia el standard DCP a SMPTE."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2124,7 +2129,7 @@ msgstr ""
"Has seleccionado una fuente de más de 640 Kb. Es muy posible que cause "
"problemas en la reproducción."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2137,7 +2142,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Tiene que añadir contenido al DCP antes de crearlo"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, fuzzy, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2150,7 +2155,7 @@ msgstr ""
"que el contenido tenga menos canales, DCP-o-matic añadirá silencio en los "
"canales sin audio."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2158,7 +2163,7 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2167,7 +2172,7 @@ msgstr ""
"algunos proyectores. Si es posible, utiliza Flat o Scope como contenedor "
"DCP."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2195,7 +2200,7 @@ msgstr "[imágenes en movimiento]"
msgid "[still]"
msgstr "[imagen fija]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[subtítulos]"
@@ -2211,7 +2216,7 @@ msgstr "_bobina{}"
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "tiempo de conexión agotado"
@@ -2267,22 +2272,22 @@ msgstr "no se pudo leer del fichero {} ({})"
msgid "could not write to file {} ({})"
msgstr "no se pudo escribir en el fichero {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "error durante async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "error durante async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "error durante async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "error durante async_write ({})"
@@ -2417,7 +2422,7 @@ msgstr "imagen fija"
msgid "unknown"
msgstr "desconocido"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "fotogramas"
diff --git a/src/lib/po/fa_IR.po b/src/lib/po/fa_IR.po
index a2d78c768..636631b6f 100644
--- a/src/lib/po/fa_IR.po
+++ b/src/lib/po/fa_IR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2024-10-05 18:17+0330\n"
"Last-Translator: Soleyman Rahmani Aghdam <Soleyman.rahmani@gmail.com>\n"
"Language-Team: \n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.5\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -27,7 +27,7 @@ msgstr ""
"\n"
"تعداد ÙØ±ÛŒÙ… محتوا در ثانیه %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -36,7 +36,7 @@ msgstr ""
"\n"
"بریده شد به {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -45,7 +45,7 @@ msgstr ""
"\n"
"نسبت ابعاد ØµÙØ­Ù‡ نمایش %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -54,7 +54,7 @@ msgstr ""
"\n"
"با نوار مشکی تا هم اندازه ظر٠محتوا پوشیده شد {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -63,7 +63,7 @@ msgstr ""
"\n"
"تغییر مقیاس به {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -103,7 +103,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$نام_عملیات: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", نسبت ابعاد پیکسلها %.2f:1"
@@ -176,7 +176,7 @@ msgstr "2/39(اسکوپ)"
msgid "3D denoiser"
msgstr "ضد نویز سه بعدی"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -231,7 +231,7 @@ msgstr ""
"</a></ul><p>\n"
"متشکرم! </font>"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -259,7 +259,7 @@ msgstr "ARIB STD-B67 ('Hybrid log-gamma')"
msgid "Advertisement"
msgstr "تبلیغات بازرگانی"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -271,7 +271,7 @@ msgstr ""
"میگیرد. ممکن است ترجیح دهید ظر٠دی سی پی را در زبانه \"دی سی پی\" بزرگتر و "
"روی اسکوپ (2/39 به 1) قرار دهید."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -294,24 +294,24 @@ msgstr "آنالیز صدا"
msgid "Analysing subtitles"
msgstr "آنالیز زیرنویس"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr "حداقل یک نشانه در آخر پروژه قرار Ú¯Ø±ÙØªÙ‡ Ú©Ù‡ از آن صر٠نظر شد."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "حداقل یکی از ÙØ§ÛŒÙ„های زیرنویس شما بزرگتر است از "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "حداقل یکی از قسمتهای XML ÙØ§ÛŒÙ„های زیرنویس شما بزرگتر است از "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "حداقل یکی از ÙØ§ÛŒÙ„های زیرنویس شما بزرگتر است از "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -319,7 +319,7 @@ msgstr ""
"حداقل یکی از خطهای زیرنویس شما بیشتر از 52 حر٠دارد. توصیه میشود طول هر خط "
"را حداکثر به 52 حر٠تغییر دهید."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -327,7 +327,7 @@ msgstr ""
"حداقل یکی از خطهای زیرنویس شما بیش از 79 حر٠دارد. شما باید طول هر خط را "
"حداکثر به 79 حر٠تغییر دهید."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -335,7 +335,7 @@ msgstr ""
"حداقل یکی از زیرنویسهای شما بیش از 3 خط دارد. توصیه میشود بیش از سه خط "
"Ø§Ø³ØªÙØ§Ø¯Ù‡ نکنید."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -343,7 +343,7 @@ msgstr ""
"حداقل یک زیرنویس وجود دارد Ú©Ù‡ زمان آن کمتر از 15 ÙØ±ÛŒÙ… است. توصیه میشود زمان "
"هر زیرنویس حداقل 15 ÙØ±ÛŒÙ… بر ثانیه باشد."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -351,7 +351,7 @@ msgstr ""
"حداقل یکی از زیرنویسهای شما کمتر از 2 ÙØ±ÛŒÙ… بعد از زیرنویس قبلی شروع میشود. "
"توصیه میشود زمان بین دو زیرنویس حداقل 2 ÙØ±ÛŒÙ… باشد."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -680,7 +680,7 @@ msgstr "محتوایی Ú©Ù‡ الحاق میشود باید رشته کد زیرÙ
msgid "Content to be joined must use the same text language."
msgstr "محتوایی که الحاق میشود باید زبان نوشتاری مشابه داشته باشد."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "محتوای ویدیو {}x{} است"
@@ -821,7 +821,7 @@ msgstr "دی بی پی"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "زیرنویس های XML دی سی پی"
@@ -829,7 +829,12 @@ msgstr "زیرنویس های XML دی سی پی"
msgid "DCP sample rate"
msgstr "نرخ نمونه دی سی پی"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "دی سی Ù¾ÛŒ از هر ÙØ±ÛŒÙ… دیگر محتوا Ø§Ø³ØªÙØ§Ø¯Ù‡ میکند.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "دی سی پی با %.1f%% سرعت محتوا اجرا خواهد شد.\n"
@@ -924,11 +929,11 @@ msgstr "دانلود با خطا مواجه شد({} خطا{})"
msgid "EC"
msgstr "c"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "هر ÙØ±ÛŒÙ… محتوا در دی سی Ù¾ÛŒ دوبرابر خواهد شد.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "هر ÙØ±ÛŒÙ… محتوا {}بار در دی سی Ù¾ÛŒ تکرار خواهد شد.\n"
@@ -977,11 +982,11 @@ msgstr "خطا: {}"
msgid "Event"
msgstr "رویداد"
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr "بررسی صدا"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "بررسی صدا، زیرنویس Ùˆ ÙØ§ÛŒÙ„ زیرنویس"
@@ -993,7 +998,7 @@ msgstr "بررسی محتوا"
msgid "Examining subtitles"
msgstr "بررسی زیرنویس"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "بررسی ÙØ§ÛŒÙ„ های زیرنویس"
@@ -1146,13 +1151,13 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
"اگر از 25 ÙØ±ÛŒÙ… بر ثانیه Ø§Ø³ØªÙØ§Ø¯Ù‡ میکنید استاندارد دی سی Ù¾ÛŒ خود را به اس ام Ù¾ÛŒ "
"تی ای تغییر دهید."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
@@ -1162,7 +1167,7 @@ msgstr ""
"معینی برای Ø§Ø³ØªÙØ§Ø¯Ù‡ از اینتروپ دارید. توصیه میشود Ú©Ù‡ در زبانه \"دی سی Ù¾ÛŒ\" "
"استاندارد اس ام پی تی ای را برای دی سی پی خودتان انتخاب کنید."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1208,7 +1213,7 @@ msgstr "پشت سر- چپ سراوند"
msgid "Left surround"
msgstr "چپ سراوند"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "مدت"
@@ -1399,7 +1404,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, fuzzy, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1518,7 +1523,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1584,7 +1589,7 @@ msgstr "کوتاه"
msgid "Sign"
msgstr "امضاء"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "اندازه"
@@ -1629,7 +1634,7 @@ msgstr ""
"\n"
"این ÙØ§ÛŒÙ„ها بررسی مجدد میشوند، ممکن است نیاز باشد تنظیمات آنها را کنترل کنید."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, fuzzy, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1637,7 +1642,7 @@ msgid ""
msgstr ""
"برخی از زیرنویس‌های شما بیش از % 1 خطوط را شامل می‌شوند، بنابراین کوتاه می‌شوند."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1646,7 +1651,7 @@ msgstr ""
"بخش از محتوای شما صدا دارد اما شما زبان آنرا تنظیم نکرده اید. توصیه میشود که "
"زبان را در زبانه \"دی سی پی\" تنظیم کنید حتی اگرسکوت دارد."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1667,7 +1672,7 @@ msgstr "بخشی از محتوای شما نیازمند کلید است"
msgid "Some of your content needs an OV"
msgstr "بخشی از محتوای شما نیازمند یک نسخه اصلی است(OV)"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1732,7 +1737,7 @@ msgstr "زنجیره گواهینامه نامعتبر است"
msgid "The certificate chain for signing is invalid ({})"
msgstr "زنجیره گواهینامه نامعتبر است({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, fuzzy, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1746,7 +1751,7 @@ msgstr ""
"اجرا نشوند. توصیه میشود با مراجعه به اولویتها در زبانه کلید توسط \"ساخت مجدد "
"گواهی نامه و کلید..\" مجدد زنجیره گواهی نامه را ایجاد کنید."
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, fuzzy, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1798,7 +1803,7 @@ msgstr "ÙØ§ÛŒÙ„ {} به مدت {} میلی ثانیه تنظیم وکوتاه Ø
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "ÙØ§ÛŒÙ„ {} به مدت {} میلی ثانیه تنظیم وبلند شد."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1818,7 +1823,7 @@ msgstr ""
"بود. اما شما باید همه زیرنویسهای پروژه خود را برای اطمینان از جانمایی درست "
"بررسی کنید."
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1845,12 +1850,12 @@ msgstr ""
"میکنید سعی کنید تعداد رشته های رمزگذاری را از طریق زبانه کلی در اولویتها "
"کاهش دهید."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, fuzzy, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr "این کلید برای 1% ساخته شده اما نه برای گواهی برگ آن."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, fuzzy, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "این کلید برای گواهی نامه 1% ساخته نشده است."
@@ -2040,7 +2045,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "با این حال یک Ùیلتر ضد اینترلیس دیگر"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2051,7 +2056,7 @@ msgstr ""
"پروژکتورها پشتیبانی نمیشود. توصیه میشود نرخ ÙØ±ÛŒÙ… دی سی Ù¾ÛŒ را به {} ÙØ±ÛŒÙ… بر "
"ثانیه تغییر دهید."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2062,7 +2067,7 @@ msgstr ""
"پروژکتورها پشتیبانی نمیشود. ممکن است بخواهید نرخ ÙØ±ÛŒÙ… را به {} ÙØ±ÛŒÙ… بر ثانیه "
"تغییر دهید."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2070,7 +2075,7 @@ msgstr ""
"تنظیمات دی سی Ù¾ÛŒ را روی 30 ÙØ±ÛŒÙ… بر ثانیه قرار داده اید Ú©Ù‡ همه پروژکتورها "
"قادر به نمایش آن نیستند. از این عدم سازگاری آگاه باشد."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2079,7 +2084,7 @@ msgstr ""
"قرار است روی سیستم سه بعدی پلی شود تنظیم دی سی پی خود را روی سه بعدی قرار "
"دهید(مانند Real-D، MasterImage، وغیره.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, fuzzy, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2098,7 +2103,7 @@ msgstr ""
"شما بیش از یک محتوای اتمز دارید Ú©Ù‡ نرخ ÙØ±ÛŒÙ… مشابهی ندارند. باید برخی از آنها "
"را حذ٠کنید."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2106,7 +2111,7 @@ msgstr ""
"زیرنویسهای شما همپوشانی دارند، که در استاندارد اینتروپ مجاز نیست. استاندارد "
"دی سی پی خود را به اس ام پی تی ای تغییر دهید."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2114,7 +2119,7 @@ msgstr ""
"یک ÙØ§ÛŒÙ„ Ùونت با اندازه بزرگتر از 640 کیلوبایت مشخص شده است. به احتمال زیاد "
"هنگام پلی Ùیلم مشکل ساز است."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2127,7 +2132,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "شما قبل از ساخت دی س Ù¾ÛŒ باید به آن تعدادی محتوا اضاÙÙ‡ کنید"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, fuzzy, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2140,7 +2145,7 @@ msgstr ""
"محتوای شما تعداد کانال کمتری دارد مساله ای نیست، 1% کانالهای اضاÙÙ‡ را با "
"سکوت پر میکند."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2151,7 +2156,7 @@ msgstr ""
"سنجی دی سی Ù¾ÛŒ شما توسط Ø¯ÙØ§ØªØ± پخش با خطای Ú©ÛŒÙÛŒ مواجه شود. برای پرهیز از خطا، "
"تعداد کانالهای دی سی پی خود را روی 8 یا 16 قرار دهید."
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2159,7 +2164,7 @@ msgstr ""
"دی سی Ù¾ÛŒ شما نسبت ابعاد تصویر نامتعارÙÛŒ دارد. این ممکن در برخی پروژکتورها "
"مشکل ایجاد کند. اگر ممکن است، از نسبت ابعاد تخت یا اسکوپ Ø§Ø³ØªÙØ§Ø¯Ù‡ کنید."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2186,7 +2191,7 @@ msgstr "[تصاویر متحرک]"
msgid "[still]"
msgstr "[تصویرثابت]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[زیرنویسها]"
@@ -2202,7 +2207,7 @@ msgstr "_حلقه{}"
msgid "bits"
msgstr "بیتها"
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "زمان اتصال تمام شد"
@@ -2258,22 +2263,22 @@ msgstr "نمیتوان از ÙØ§ÛŒÙ„ خواند{}({})"
msgid "could not write to file {} ({})"
msgstr "نمیتوان در ÙØ§ÛŒÙ„ نوشت{}({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "خطا در هنگام async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "خطا در هنگام async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "خطا در هنگام async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "خطا در هنگام async_write ({})"
@@ -2405,7 +2410,7 @@ msgstr "تصویرثابت"
msgid "unknown"
msgstr "ناشناخته"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "ÙØ±ÛŒÙ… های ویدیو"
diff --git a/src/lib/po/fr_FR.po b/src/lib/po/fr_FR.po
index bd5f68789..2915dc9b5 100644
--- a/src/lib/po/fr_FR.po
+++ b/src/lib/po/fr_FR.po
@@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
-"PO-Revision-Date: 2025-09-28 14:37+0200\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
+"PO-Revision-Date: 2026-04-22 00:09+0200\n"
"Last-Translator: Dan Cohen <thedan.cohen@protonmail.com>\n"
"Language-Team: \n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 3.7\n"
+"X-Generator: Poedit 3.9\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -26,7 +26,7 @@ msgstr ""
"\n"
"Fréquence d'images du contenu %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -35,7 +35,7 @@ msgstr ""
"\n"
"Rogné à {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -44,7 +44,7 @@ msgstr ""
"\n"
"Rapport d'aspect de l'écran %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -53,7 +53,7 @@ msgstr ""
"\n"
"Ajout de bandes noires pour remplir le format image cible {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -62,7 +62,7 @@ msgstr ""
"\n"
"Mis à l'échelle à {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -102,7 +102,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", rapport d'aspect des pixels %.2f:1"
@@ -175,7 +175,7 @@ msgstr "2,39 (Scope)"
msgid "3D denoiser"
msgstr "Débruitage 3D"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -202,7 +202,7 @@ msgid "; {} remaining; finishing at {}{}"
msgstr "; {} restant ; fin prévue à {}{}"
#: src/lib/analytics.cc:58
-#, fuzzy, c++-format
+#, c++-format
msgid ""
"<h2>You have made {} DCPs with {}!</h2><img width=\"150\" height=\"193\" "
"src=\"memory:me.jpg\" align=\"center\"><font size=\"+1\"><p>Hello. I'm Carl "
@@ -220,16 +220,16 @@ msgstr ""
"src=\"memory:me.jpg\" align=\"center\"><p>Bonjour. Je m'appelle Carl et je "
"suis le développeur de {}. Je travaille sur ce logiciel pendant mon temps "
"libre (avec l'aide d'une équipe bénévole de testeurs et de traducteurs) et "
-"je le publie en tant que logiciel libre.<p>Si vous trouvez {} utile, merci "
-"de penser à faire un don au projet. Une aide financière m'aidera à passer "
-"plus de temps sur {} et à l'améliorer !<p><ul><li><a href=\"https://"
+"je le publie en tant que logiciel libre.<p>Si vous trouvez {} utile, "
+"n’hésitez pas à faire un don au projet. Une aide financière m'aidera à "
+"passer plus de temps sur {} et à l'améliorer !<p><ul><li><a href=\"https://"
"dcpomatic.com/donate_amount?amount=40\">Aller sur Paypal pour faire un don "
"de 40€</a><li><a href=\"https://dcpomatic.com/donate_amount?"
"amount=20\">Aller sur Paypal pour faire un don de 20€</a><li><a "
"href=\"https://dcpomatic.com/donate_amount?amount=10\">Aller sur Paypal pour "
"faire un don de 10€</a></ul><p>Merci !</p>"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -258,7 +258,7 @@ msgstr "ARIB STD-B67 ('Hybrid log-gamma')"
msgid "Advertisement"
msgstr "Publicité"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -270,7 +270,7 @@ msgstr ""
"Ajuster le conteneur de votre DCP en Scope (2,39:1) dans l'onglet \"DCP\", "
"si vous voulez l'éviter."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -293,24 +293,24 @@ msgstr "Analyse de l'audio"
msgid "Analysing subtitles"
msgstr "Analyse des sous-titres"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr "Au moins un marqueur tombe après la fin du projet et sera ignoré."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Au moins un de vos fichiers de sous-titres codés est plus gros que "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "Au moins un de vos sous-titres codés a une partie XML plus grosse que "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Au moins un de vos fichiers de sous-titres est plus gros que "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -319,7 +319,7 @@ msgstr ""
"Il est recommandé de faire en sorte que chaque ligne ait une longueur de 52 "
"caractères au maximum."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -327,7 +327,7 @@ msgstr ""
"Au moins une de vos lignes de sous-titres comporte plus de 79 caractères. "
"Vous devez faire en sorte que chaque ligne ait 79 caractères au maximum."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -335,7 +335,7 @@ msgstr ""
"Au moins un de vos sous-titres comporte plus de 3 lignes. Il est conseillé "
"de ne pas utiliser plus de 3 lignes."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -343,7 +343,7 @@ msgstr ""
"Au moins un de vos sous-titres dure moins de 15 images. Il est conseillé de "
"faire en sorte que chaque sous-titre dure au moins 15 images."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -352,7 +352,7 @@ msgstr ""
"précédent. Il est conseillé de faire en sorte que l'écart entre les sous-"
"titres soit d'au moins 2 images."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -444,7 +444,7 @@ msgstr "C"
#: src/lib/exceptions.cc:196
#, c++-format
msgid "CPL {} not found"
-msgstr ""
+msgstr "CPL {} non trouvé"
#: src/lib/job.cc:657
msgid "Cancelled"
@@ -476,6 +476,9 @@ msgid ""
"Check the server settings in the TMS tab of preferences, or un-tick \"Upload "
"DCP to TMS after creation\" if you do not want to upload your DCP."
msgstr ""
+"Vérifiez les paramètres du serveurs dans l’onglet des préférences TMS, ou "
+"décochez «Téléverser le DCP vers TMS après la création» si vous ne voulez "
+"pas téléverser votre DCP."
#: src/lib/transcode_job.cc:106
msgid "Check their new settings, then try again."
@@ -687,7 +690,7 @@ msgstr "Le contenu à joindre doit utiliser le même flux de sous-titres."
msgid "Content to be joined must use the same text language."
msgstr "Le contenu à joindre doit utiliser la même langue de texte."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Le contenu vidéo est {}x{}"
@@ -706,9 +709,8 @@ msgid "Copying DCPs to {}"
msgstr "Copie des DCPs vers {}"
#: src/lib/reel_writer.cc:194
-#, fuzzy
msgid "Copying existing asset"
-msgstr "Vérification des données d'image existantes"
+msgstr "Copie des ressources existantes"
#: src/lib/copy_to_drive_job.cc:58
#, c++-format
@@ -828,7 +830,7 @@ msgstr "DCP"
msgid "DCP (via {})"
msgstr "DCP (via {})"
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "Sous-titres XML de DCP"
@@ -836,7 +838,12 @@ msgstr "Sous-titres XML de DCP"
msgid "DCP sample rate"
msgstr "Fréquence d'échantillonnage du DCP"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "Le DCP utilisera une image sur {} du contenu.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "Le DCP sera lu à %.1f%% de la vitesse du contenu source.\n"
@@ -927,15 +934,14 @@ msgstr "Échec du téléchargement (erreur {} {})"
#. TRANSLATORS: this is an abbreviation for "end credits", shown next to the pair of markers
#. "FFEC" and "LFEC" ({First, Last} Frame of End Credits)
#: src/lib/layout_markers.cc:145
-#, fuzzy
msgid "EC"
-msgstr "C"
+msgstr "EC"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Chaque image du contenu sera doublée dans le DCP.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Chaque image de contenu sera répétée {} fois de plus dans le DCP.\n"
@@ -986,11 +992,11 @@ msgstr "Erreur : {}"
msgid "Event"
msgstr "Événement"
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr "Examen de l'audio"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "Examen de l'audio, des sous-titres et des sous-titres codés"
@@ -1002,7 +1008,7 @@ msgstr "Examen du contenu"
msgid "Examining subtitles"
msgstr "Examen des sous-titres"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "Examen des sous-titres et des sous-titres codés"
@@ -1154,15 +1160,15 @@ msgstr "IEC61966-2-4"
#. "FFOI" and "LFOI" ({First, Last} Frame of Intermission)
#: src/lib/layout_markers.cc:142
msgid "IN"
-msgstr ""
+msgstr "IN"
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
"Si vous utilisez 25 images par seconde, vous devez changer votre standard "
"DCP en SMPTE."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
@@ -1172,7 +1178,7 @@ msgstr ""
"avez une raison particulière d'utiliser Interop. Il est conseillé de "
"paramétrer votre DCP pour utiliser la norme SMPTE dans l'onglet \"DCP\"."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1218,7 +1224,7 @@ msgstr "Ambiance arrière gauche"
msgid "Left surround"
msgstr "Ambiance gauche"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Durée"
@@ -1264,9 +1270,8 @@ msgstr "Ls"
#. TRANSLATORS: this is an abbreviation for "moving credits", shown next to the pair of markers
#. "FFMC" and "LFMC" ({First, Last} Frame of Moving Credits)
#: src/lib/layout_markers.cc:148
-#, fuzzy
msgid "MC"
-msgstr "C"
+msgstr "MC"
#: src/lib/mid_side_decoder.cc:39
msgid "Mid-side decoder"
@@ -1312,12 +1317,11 @@ msgstr "Désentrelaceur à compensation de mouvement"
#: src/lib/dcp_content.cc:212
msgid "No ASSETMAP or ASSETMAP.xml file found: is this a DCP?"
-msgstr ""
+msgstr "Aucun fichier ASSETMAP ou ASSETMAP.xml trouvé: est-ce un DCP?"
#: src/lib/dcp_examiner.cc:115
-#, fuzzy
msgid "No CPLs found in DCP"
-msgstr "Aucune CPL trouvée dans le DCP."
+msgstr "Aucune CPL trouvée dans le DCP"
#: src/lib/dcp_decoder.cc:114
msgid "No CPLs found in DCP."
@@ -1403,17 +1407,17 @@ msgstr "Réduction de bruit par ondelettes"
#: src/lib/colour_conversion.cc:293
msgid "P3 D60 (~6000K)"
-msgstr ""
+msgstr "P3 D60 (~6000K)"
#: src/lib/colour_conversion.cc:292
msgid "P3 D65 (~6500K)"
-msgstr ""
+msgstr "P3 D65 (~6500K)"
#: src/lib/colour_conversion.cc:291
msgid "P3 DCI (~6300K)"
-msgstr ""
+msgstr "P3 DCI (~6300K)"
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1455,9 +1459,8 @@ msgstr "D"
#. TRANSLATORS: this is an abbreviation for "ratings band", shown next to the pair of markers
#. "FFOB" and "LFOB" ({First, Last} Frame of Band)
#: src/lib/layout_markers.cc:136
-#, fuzzy
msgid "RB"
-msgstr "D"
+msgstr "RB"
#: src/lib/ffmpeg_content.cc:644
msgid "RGB / sRGB (IEC61966-2-1)"
@@ -1532,7 +1535,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1548,9 +1551,8 @@ msgid "SMPTE ST 2084 for 10, 12, 14 and 16 bit systems"
msgstr "SMPTE ST 2084 pour systèmes 10, 12, 14 et 16 bits"
#: src/lib/ffmpeg_content.cc:660
-#, fuzzy
msgid "SMPTE ST 2128, IPT-C2"
-msgstr "SMPTE ST 428-1"
+msgstr "SMPTE ST 2128, IPT-C2"
#: src/lib/ffmpeg_content.cc:636
msgid "SMPTE ST 428-1"
@@ -1599,7 +1601,7 @@ msgstr "Court métrage"
msgid "Sign"
msgstr "Signe"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Taille"
@@ -1637,17 +1639,14 @@ msgstr ""
"vérifier leurs paramètres."
#: src/lib/check_content_job.cc:94
-#, fuzzy
msgid ""
"Some files must be re-examined due to a bug fix in DCP-o-matic. You may "
"need to check their settings."
msgstr ""
-"Certains fichiers ont été modifiés depuis qu'ils ont été ajoutés au projet.\n"
-"\n"
-"Ces fichiers seront maintenant réexaminés, vous devrez donc peut-être "
-"vérifier leurs paramètres."
+"Certains fichiers doivent être re-examinés suite à la résolution d’un bug "
+"dans DCP-o-matic. Vous devez vérifier leurs paramètres."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1656,7 +1655,7 @@ msgstr ""
"Certaines de vos sous-titres codés font plus de {} lignes, ils seront donc "
"tronqués."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1666,7 +1665,7 @@ msgstr ""
"langue audio. Il est conseillé de définir la langue audio dans l'onglet "
"\"DCP\", sauf si votre audio ne comporte pas de parties parlées."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1674,6 +1673,11 @@ msgid ""
"in doubt, set everything (picture, sound and text) to be either encrypted or "
"not."
msgstr ""
+"Une partie de votre contenu est chiffré, mais l’autre non. Même si certains "
+"distributeurs (ex : Netflix) demandent des sous-titres non chiffrés (même si "
+"le son et l’image le sont), d’autres pointeront des erreurs avec le DCP fait "
+"depuis ce projet. Dans le doute, chiffrez tout ou rien (image, son et "
+"texte)."
#: src/lib/make_dcp.cc:69
msgid "Some of your content is missing"
@@ -1687,7 +1691,7 @@ msgstr "Certains de vos contenus ont besoin d'un KDM"
msgid "Some of your content needs an OV"
msgstr "Une partie de votre contenu a besoin d'une OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1723,9 +1727,8 @@ msgstr "Dimanche"
#. TRANSLATORS: this is an abbreviation for "title credits", shown next to the pair of markers
#. "FFTC" and "LFTC" ({First, Last} Frame of Title Credits)
#: src/lib/layout_markers.cc:139
-#, fuzzy
msgid "TC"
-msgstr "C"
+msgstr "TC"
#: src/lib/dcp_content_type.cc:60
msgid "Teaser"
@@ -1757,7 +1760,7 @@ msgstr "La chaîne de certificats pour la signature n'est pas valide"
msgid "The certificate chain for signing is invalid ({})"
msgstr "La chaîne de certificats pour la signature n'est pas valide ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1772,7 +1775,7 @@ msgstr ""
"certificats de signature en cliquant sur le bouton \"Re-créer les "
"certificats et la clé...\" dans la page Clés des préférences."
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1826,7 +1829,7 @@ msgstr "Le fichier {} a été raccourci de {} millisecondes."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Le fichier {} a été allongé de {} millisecondes."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1847,7 +1850,7 @@ msgstr ""
"devriez vérifier tous les sous-titres de votre projet pour vous assurer "
"qu'ils sont placés là où vous le souhaitez."
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1876,13 +1879,13 @@ msgstr ""
"système d'exploitation 32 bits, essayez de réduire le nombre de threads "
"d'encodage dans l'onglet Général des préférences."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
"Ce KDM a été fait pour {} mais pas pour son certificat d'entité finale."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "Ce KDM n'a pas été fait pour le certificat de décryptage de {}."
@@ -2065,17 +2068,17 @@ msgstr "YCOCG"
#: src/lib/ffmpeg_content.cc:661
msgid "YCgCo-R, even addition"
-msgstr ""
+msgstr "YCg-Co-R, ajout pair"
#: src/lib/ffmpeg_content.cc:662
msgid "YCgCo-R, odd addition"
-msgstr ""
+msgstr "YCg-Co-R, ajout impair"
#: src/lib/filter.cc:98
msgid "Yet Another Deinterlacing Filter"
msgstr "Yet Another Deinterlacing Filter"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2086,7 +2089,7 @@ msgstr ""
"par tous les projecteurs. Nous vous conseillons de modifier la cadence "
"d'images de votre DCP à {} ips."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2097,7 +2100,7 @@ msgstr ""
"Cette fréquence d'images n'est pas supportée par tous les projecteurs. Vous "
"pourriez envisager de modifier la fréquence d'images de votre DCP à {} ips."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2106,7 +2109,7 @@ msgstr ""
"qui n'est pas supportée par tous les projecteurs. Attention à de probables "
"problèmes de compatibilité."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2115,7 +2118,7 @@ msgstr ""
"DCP sur 3D si vous souhaitez le projeter sur un système 3D (par exemple : "
"Real-D, MasterImage, etc.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2135,7 +2138,7 @@ msgstr ""
"Vous avez plus d'un morceau de contenu Atmos, et ils n'ont pas la même "
"fréquence d'images. Vous devez supprimer une partie du contenu Atmos."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2143,7 +2146,7 @@ msgstr ""
"Des sous-titres se chevauchent, ce qui n'est pas autorisé dans les DCP au "
"standard Interop. Modifiez votre standard de DCP en SMPTE."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2151,7 +2154,7 @@ msgstr ""
"Vous avez spécifié un fichier de police dont la taille est supérieure à "
"640kB. Cela risque fort de poser des problèmes lors de la lecture."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2164,7 +2167,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Vous devez ajouter du contenu au DCP avant de le créer"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2177,7 +2180,7 @@ msgstr ""
"canaux. Cela n'a pas d'importance si votre contenu a moins de canaux, car "
"{} remplira les extras de silence."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2188,7 +2191,7 @@ msgstr ""
"erreur lors de la vérification par votre distributeur. Sélectionnez 8 ou 16 "
"canaux audio pour éviter cela."
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2197,7 +2200,7 @@ msgstr ""
"problèmes sur certains projecteurs. Si possible, utilisez Flat ou Scope "
"pour le ratio du DCP."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2229,7 +2232,7 @@ msgstr "[séquence d'images]"
msgid "[still]"
msgstr "[image fixe]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[sous-titres]"
@@ -2245,7 +2248,7 @@ msgstr "_bobine{}"
msgid "bits"
msgstr "bits"
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "la connexion a expiré"
@@ -2301,22 +2304,22 @@ msgstr "impossible de lire depuis le fichier {} ({})"
msgid "could not write to file {} ({})"
msgstr "impossible d'écrire dans le fichier {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "erreur pendant async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, c++-format
msgid "error during async_connect: ({})"
msgstr "erreur pendant async_connect : ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "erreur pendant async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "erreur pendant async_write ({})"
@@ -2416,7 +2419,6 @@ msgstr "nom"
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
#: src/lib/dcp_content.cc:829
-#, fuzzy
msgid ""
"one of its closed caption reels has a non-zero entry point so it must be re-"
"written."
@@ -2450,7 +2452,7 @@ msgstr "fixe"
msgid "unknown"
msgstr "inconnu"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "images vidéo"
diff --git a/src/lib/po/hu_HU.po b/src/lib/po/hu_HU.po
index 87860dae9..93f2f7862 100644
--- a/src/lib/po/hu_HU.po
+++ b/src/lib/po/hu_HU.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2022-08-31 21:35+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.1.1\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -26,7 +26,7 @@ msgstr ""
"\n"
"Tartalom képkockaszáma %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -35,7 +35,7 @@ msgstr ""
"\n"
"Méretre vágva: {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -44,7 +44,7 @@ msgstr ""
"\n"
"Megjelenítési arány: %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -53,7 +53,7 @@ msgstr ""
"\n"
"Fekete kerettel körbekerítve, hogy beleférjen a {} ({}x{}) konténerbe."
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -62,7 +62,7 @@ msgstr ""
"\n"
"Skálázva a következő méretre: {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -102,7 +102,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", pixel arány %.2f:1"
@@ -175,7 +175,7 @@ msgstr "2.39 (Scope)"
msgid "3D denoiser"
msgstr "3D denoiser"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -227,7 +227,7 @@ msgstr ""
"dcpomatic.com/donate_amount?amount=10â€>€10 támogatása PayPal-on keresztül</"
"a></ul><p>Nagyon szépen köszönöm!"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -258,7 +258,7 @@ msgstr "ARIB STD-B67 (‘Hybrid log-gamma’)"
msgid "Advertisement"
msgstr "Advertisement"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -269,7 +269,7 @@ msgstr ""
"(1.85:1). Ez egy fekete keretet fog eredményezni. Javasoljuk a DCP konténer "
"Scope (2.39:1) használatát a “DCP’ fülön belül."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -292,26 +292,26 @@ msgstr "Hang vizsgálata"
msgid "Analysing subtitles"
msgstr "Felirat vizsgálata"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
"Legalább egy jelölő a projekt vége után van beállítva. Ez nem lesz "
"figyelembe véve."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Legalább egy hangleíró felirat nagyobb, mint "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "Legalább egy hangleíró felirat XML fájlja nagyobb, mint "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Legalább egy felirat nagyobb, mint "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -319,7 +319,7 @@ msgstr ""
"Legalább egy felirat sor több karaktert tartalmaz, mint 52. Javasolt, hogy "
"egy sor felirat maximum 52 karakter legyen."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -327,7 +327,7 @@ msgstr ""
"Legalább egy felirat sor több karaktert tartalmaz, mint 79. Javasolt, hogy "
"egy sor felirat maximum 79 karakter legyen."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -335,7 +335,7 @@ msgstr ""
"Legalább egy felirat bekezdése több, mint 3 sort tartalmaz. Javasolt, hogy "
"ne legyen egy bekezdés 3 sornál több."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -343,7 +343,7 @@ msgstr ""
"Legalább egy felirat képkocka száma kisebb, mint 15. Javasolt, hogy egy "
"felirat legalább 15 képkocka hosszú legyen."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -351,7 +351,7 @@ msgstr ""
"Legalább egy felirat kevesebb, mint 2 képkockával következik a másik után. "
"Javasolt, hogy legalább 2 képkockányi hely legyen két felirat között."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
#, fuzzy
msgid ""
"At least one piece of subtitle content has no specified language. It is "
@@ -691,7 +691,7 @@ msgstr ""
msgid "Content to be joined must use the same text language."
msgstr ""
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr ""
@@ -830,7 +830,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML feliratok"
@@ -838,7 +838,12 @@ msgstr "DCP XML feliratok"
msgid "DCP sample rate"
msgstr ""
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr ""
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr ""
@@ -927,11 +932,11 @@ msgstr "Letöltés közben hiba lépett fel ({} hiba {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr ""
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
@@ -980,12 +985,12 @@ msgstr "Hiba: {}"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Feliratok vizsgálata"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "Hang, feliratok és hangleíró feliratok vizsgálata"
@@ -997,7 +1002,7 @@ msgstr "Tartalom vizsgálata"
msgid "Examining subtitles"
msgstr "Feliratok vizsgálata"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "Feliratok és hangleíró feliratok vizsgálata"
@@ -1150,18 +1155,18 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
"the SMPTE standard in the \"DCP\" tab."
msgstr ""
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1205,7 +1210,7 @@ msgstr "Bal hátsó térhangzás"
msgid "Left surround"
msgstr "Bal térhangzás"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Hossz"
@@ -1395,7 +1400,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, fuzzy, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1514,7 +1519,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1581,7 +1586,7 @@ msgstr "Short"
msgid "Sign"
msgstr "Aláírás"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Méret"
@@ -1615,21 +1620,21 @@ msgid ""
"need to check their settings."
msgstr ""
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
"has no spoken parts."
msgstr ""
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1650,7 +1655,7 @@ msgstr ""
msgid "Some of your content needs an OV"
msgstr ""
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1716,7 +1721,7 @@ msgstr ""
msgid "The certificate chain for signing is invalid ({})"
msgstr ""
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1726,7 +1731,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1770,7 +1775,7 @@ msgstr ""
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr ""
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1784,7 +1789,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1804,12 +1809,12 @@ msgid ""
"tab of Preferences."
msgstr ""
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -1987,7 +1992,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr ""
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -1995,7 +2000,7 @@ msgid ""
"to {} fps."
msgstr ""
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2003,19 +2008,19 @@ msgid ""
"rate to {} fps."
msgstr ""
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
msgstr ""
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
msgstr ""
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2029,19 +2034,19 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr ""
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
msgstr ""
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2052,7 +2057,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr ""
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2061,7 +2066,7 @@ msgid ""
"silence."
msgstr ""
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2069,13 +2074,13 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
msgstr ""
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2101,7 +2106,7 @@ msgstr "[mozgó képek]"
msgid "[still]"
msgstr "[álló]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[felirat]"
@@ -2117,7 +2122,7 @@ msgstr "_reel{}"
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "időtúllépés csatlakozás közben"
@@ -2173,22 +2178,22 @@ msgstr "hiba a fájlból olvasás közben {} ({})"
msgid "could not write to file {} ({})"
msgstr "hiba a fájlba írás közben {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "hiba a csatlakozás közben ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "hiba a csatlakozás közben ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "hiba az olvasás közben ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "hiba az írás közben ({})"
@@ -2311,7 +2316,7 @@ msgstr "még"
msgid "unknown"
msgstr "ismeretlen"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "videó képkockái"
diff --git a/src/lib/po/it_IT.po b/src/lib/po/it_IT.po
index 0642acf7c..a1e4126d6 100644
--- a/src/lib/po/it_IT.po
+++ b/src/lib/po/it_IT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: IT VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2018-09-30 14:16+0200\n"
"Last-Translator: William Fanelli <william.f@impronte.com>\n"
"Language-Team: \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.7\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -26,7 +26,7 @@ msgstr ""
"\n"
"Frequenza fotogrammi del contenuto %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -35,7 +35,7 @@ msgstr ""
"\n"
"Ritagliato a {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -44,7 +44,7 @@ msgstr ""
"\n"
"Rapporto schermo %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -53,7 +53,7 @@ msgstr ""
"\n"
"Aggiunto nero per adattare al contenitore {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -62,7 +62,7 @@ msgstr ""
"\n"
"Scalato a {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -102,7 +102,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$NOME_LAVORO: $STATO_LAVORO"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", rapporto pixel %.2f:1"
@@ -176,7 +176,7 @@ msgstr "2.39 (Scope)"
msgid "3D denoiser"
msgstr "Riduzione rumore 3D"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -214,7 +214,7 @@ msgid ""
"donate €10</a></ul><p>Thank you!</font>"
msgstr ""
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -241,7 +241,7 @@ msgstr "ARIB STD-B67 ('log-gamma ibrido')"
msgid "Advertisement"
msgstr "Pubblicità"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -253,7 +253,7 @@ msgstr ""
"Forse è preferibile impostare il contenitore DCP su Scope (2.39:1) nel tab "
"\"DCP\"."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
#, fuzzy
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
@@ -279,54 +279,54 @@ msgstr "Analizza l'audio"
msgid "Analysing subtitles"
msgstr "Trova sottotitoli"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr ""
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr ""
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
msgstr ""
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
msgstr ""
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
msgstr ""
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -672,7 +672,7 @@ msgstr "Il contenuto da unire deve usare lo stesso flusso di sottotitoli."
msgid "Content to be joined must use the same text language."
msgstr "Il contenuto da unire deve usare gli stessi caratteri."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Il contenuto video è {}x{}"
@@ -814,7 +814,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML sottotitoli"
@@ -822,7 +822,12 @@ msgstr "DCP XML sottotitoli"
msgid "DCP sample rate"
msgstr "DCP frequenza di campionamento"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "Il DCP utilizzerà ogni altro fotogramma del contenuto.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "Il DCP andrà al %.1f%% della velocità originale.\n"
@@ -912,11 +917,11 @@ msgstr "Download fallito ({}/{} errore {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Ogni fotogramma del contenuto sarà duplicato nel DCP.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Ogni fotogramma del contenuto sarà ripetuto {} più volte nel DCP.\n"
@@ -965,12 +970,12 @@ msgstr "Errore: {}"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Trova sottotitoli"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
#, fuzzy
msgid "Examining audio, subtitles and closed captions"
msgstr "Esamino il contenuto"
@@ -984,7 +989,7 @@ msgstr "Analisi contenuto"
msgid "Examining subtitles"
msgstr "Trova sottotitoli"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
#, fuzzy
msgid "Examining subtitles and closed captions"
msgstr "Esamino il contenuto"
@@ -1142,18 +1147,18 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
"the SMPTE standard in the \"DCP\" tab."
msgstr ""
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1197,7 +1202,7 @@ msgstr "Surround posteriore sinistro"
msgid "Left surround"
msgstr "Surround sinistro"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Lunghezza"
@@ -1387,7 +1392,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1504,7 +1509,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1567,7 +1572,7 @@ msgstr "Corto"
msgid "Sign"
msgstr ""
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Dimensione"
@@ -1601,21 +1606,21 @@ msgid ""
"need to check their settings."
msgstr ""
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
"has no spoken parts."
msgstr ""
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1637,7 +1642,7 @@ msgstr "Alcuni dei tuoi contenuti richiedono una KDM"
msgid "Some of your content needs an OV"
msgstr "Alcuni dei tuoi contenuti richiedono un OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1703,7 +1708,7 @@ msgstr "La catena del certificato per la firma non è valida"
msgid "The certificate chain for signing is invalid ({})"
msgstr "La catena del certificato per la firma non è valida ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1713,7 +1718,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1759,7 +1764,7 @@ msgstr "Il file {} é stato tagliato di {} millisecondi in meno."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Il file {} é stato tagliato di {} millisecondi in piú."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1773,7 +1778,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
#, fuzzy
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
@@ -1803,12 +1808,12 @@ msgstr ""
"operativo a 32 bit, provare a ridurre il numero di thread di codifica nella "
"scheda Generale delle Preferenze."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -1999,7 +2004,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Altro filtro di deinterlacciamento"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2010,7 +2015,7 @@ msgstr ""
"supportata . Si consiglia di modificare la frequenza fotogrammi del DCP o di "
"creare un DCP SMPTE."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2021,7 +2026,7 @@ msgstr ""
"supportata . Si consiglia di modificare la frequenza fotogrammi del DCP o di "
"creare un DCP SMPTE."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
#, fuzzy
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
@@ -2031,7 +2036,7 @@ msgstr ""
"supportata . Si consiglia di modificare la frequenza fotogrammi del DCP o di "
"creare un DCP SMPTE."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2040,7 +2045,7 @@ msgstr ""
"3D se vuoi vedere il contenuto su un vero sistema 3D (come Real-D, "
"MasterImage, ecc.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, fuzzy, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2058,13 +2063,13 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr ""
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2072,7 +2077,7 @@ msgstr ""
"Hai specificato un font la cui dimensione supera i 640kB. Probabilmente ci "
"saranno problemi nella riproduzione."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2085,7 +2090,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Devi aggiungere dei contenuti al DCP prima di crearlo"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2094,7 +2099,7 @@ msgid ""
"silence."
msgstr ""
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2102,7 +2107,7 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
#, fuzzy
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
@@ -2112,7 +2117,7 @@ msgstr ""
"causare problemi su alcuni proiettori. Se possibile, usa Flat o Scope come "
"contenitore per il DCP"
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2144,7 +2149,7 @@ msgstr "[spostamento immagini]"
msgid "[still]"
msgstr "[fermo immagine]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[sottotitoli]"
@@ -2160,7 +2165,7 @@ msgstr ""
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "connessione scaduta"
@@ -2216,22 +2221,22 @@ msgstr "Impossibile leggere dal file {} ({})"
msgid "could not write to file {} ({})"
msgstr "Impossibile scrivere il file {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "errore durante la connessione asincrona ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "errore durante la connessione asincrona ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "errore durante la lettura asincrona ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "errore durante la scrittura asincrona ({})"
@@ -2361,7 +2366,7 @@ msgstr "fermo immagine"
msgid "unknown"
msgstr "sconosciuto"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "fotogrammi video"
diff --git a/src/lib/po/ja_JP.po b/src/lib/po/ja_JP.po
index b6c29136a..6ec5315d1 100644
--- a/src/lib/po/ja_JP.po
+++ b/src/lib/po/ja_JP.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-15 21:03+0100\n"
-"PO-Revision-Date: 2026-04-07 19:21+0900\n"
+"PO-Revision-Date: 2026-04-25 20:27+0900\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ja_JP\n"
@@ -1333,7 +1333,7 @@ msgstr "OK"
#: src/lib/job.cc:652
msgid "OK (ran for {} from {} to {})"
-msgstr ""
+msgstr "OK ( å‡¦ç†æ™‚é–“ {} 〠開始時刻 {} 〠終了時刻 {} )"
#: src/lib/job.cc:650
msgid "OK (ran for {})"
diff --git a/src/lib/po/ko_KR.po b/src/lib/po/ko_KR.po
index c8c4179f6..9ae621413 100644
--- a/src/lib/po/ko_KR.po
+++ b/src/lib/po/ko_KR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2026-03-06 17:22+0900\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.8\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -27,7 +27,7 @@ msgstr ""
"\n"
"콘í…츠 프레임 ë ˆì´íЏ %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -36,7 +36,7 @@ msgstr ""
"\n"
"{}x{}로 í¬ë¡­ë¨"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -45,7 +45,7 @@ msgstr ""
"\n"
"ë””ìŠ¤í”Œë ˆì´ í™”ë©´ 비율 %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -54,7 +54,7 @@ msgstr ""
"\n"
"컨테ì´ë„ˆ {} ({}x{})ì— ë§žê²Œ 블랙 패딩 추가ë¨"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -63,7 +63,7 @@ msgstr ""
"\n"
"{}x{}로 ìŠ¤ì¼€ì¼ ì¡°ì •ë¨"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -103,7 +103,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", 픽셀 화면 비율 %.2f:1"
@@ -176,7 +176,7 @@ msgstr "2.39 (스코프)"
msgid "3D denoiser"
msgstr "3D ë…¸ì´ì¦ˆ 제거기"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -227,7 +227,7 @@ msgstr ""
"amount=20\">Paypal로 20€ 기부하기</a><li><a href=\"https://dcpomatic.com/"
"donate_amount?amount=10\">Paypal로 10€ 기부하기</a></ul><p>ê°ì‚¬í•©ë‹ˆë‹¤!</font>"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -255,7 +255,7 @@ msgstr "ARIB STD-B67 ('하ì´ë¸Œë¦¬ë“œ 로그-ê°ë§ˆ')"
msgid "Advertisement"
msgstr "ê´‘ê³ "
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -266,7 +266,7 @@ msgstr ""
"ë˜ì–´ 있습니다. ì´ ê²½ìš° 플랫 프레임 ë‚´ì— ë ˆí„°ë°•ìŠ¤ê°€ ìƒê¸°ê²Œ ë©ë‹ˆë‹¤. \"DCP\" 탭"
"ì—서 컨테ì´ë„ˆë¥¼ 스코프(2.39:1)로 설정하는 ê²ƒì´ ì¢‹ì„ ìˆ˜ 있습니다."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -289,24 +289,24 @@ msgstr "오디오 ë¶„ì„"
msgid "Analysing subtitles"
msgstr "ìžë§‰ ë¶„ì„"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr "최소 í•˜ë‚˜ì˜ ë§ˆì»¤ê°€ 프로ì íЏ 종료 ì§€ì  ì´í›„ì— ìœ„ì¹˜í•˜ì—¬ 무시ë©ë‹ˆë‹¤."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "í쇄 ìžë§‰ íŒŒì¼ ì¤‘ ì ì–´ë„ 하나가 다ìŒë³´ë‹¤ í½ë‹ˆë‹¤: "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "í쇄 ìžë§‰ 파ì¼ì˜ XML 부분 중 ì ì–´ë„ 하나가 다ìŒë³´ë‹¤ í½ë‹ˆë‹¤: "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "ìžë§‰ íŒŒì¼ ì¤‘ ì ì–´ë„ 하나가 다ìŒë³´ë‹¤ í½ë‹ˆë‹¤: "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
#, fuzzy
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
@@ -315,7 +315,7 @@ msgstr ""
"ìžë§‰ 중 한 ì¤„ì— 52ìž ì´ìƒì´ í¬í•¨ë˜ì–´ 있습니다. ê° ì¤„ì„ ìµœëŒ€ 52ìž ì´ë‚´ë¡œ 구성"
"하는 ê²ƒì„ ê¶Œìž¥í•©ë‹ˆë‹¤."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
#, fuzzy
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
@@ -324,7 +324,7 @@ msgstr ""
"ìžë§‰ 중 한 ì¤„ì— 79ìž ì´ìƒì´ í¬í•¨ë˜ì–´ 있습니다. ê° ì¤„ì„ ìµœëŒ€ 79ìž ì´ë‚´ë¡œ 구성"
"해야 합니다."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -332,7 +332,7 @@ msgstr ""
"ìžë§‰ 중 3ì¤„ì„ ì´ˆê³¼í•˜ëŠ” ê²ƒì´ ìžˆìŠµë‹ˆë‹¤. ìžë§‰ì€ 3줄 ì´ë‚´ë¡œ 유지하는 ê²ƒì´ ì¢‹ìŠµë‹ˆ"
"다."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -340,7 +340,7 @@ msgstr ""
"하나 ì´ìƒì˜ ìžë§‰ì´ 15프레임보다 짧게 표시ë©ë‹ˆë‹¤. ê° ìžë§‰ì€ 최소 15프레임 ì´"
"ìƒ ìœ ì§€ë˜ë„ë¡ ì„¤ì •í•˜ëŠ” ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -348,7 +348,7 @@ msgstr ""
"하나 ì´ìƒì˜ ìžë§‰ì´ ì´ì „ ìžë§‰ 종료 후 2프레임 미만 간격으로 시작ë©ë‹ˆë‹¤. ìžë§‰ "
"사ì´ì˜ ê°„ê²©ì€ ìµœì†Œ 2프레임 ì´ìƒìœ¼ë¡œ 설정하는 ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
#, fuzzy
msgid ""
"At least one piece of subtitle content has no specified language. It is "
@@ -679,7 +679,7 @@ msgstr "ê²°í•©í•  콘í…츠는 ë™ì¼í•œ ìžë§‰ ìŠ¤íŠ¸ë¦¼ì„ ì‚¬ìš©í•´ì•¼ 합니
msgid "Content to be joined must use the same text language."
msgstr "ê²°í•©í•  콘í…츠는 ë™ì¼í•œ í…스트 언어를 사용해야 합니다."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "콘í…츠 비디오는 {}x{}입니다"
@@ -823,7 +823,7 @@ msgstr "DCP"
msgid "DCP (via {})"
msgstr "DCP ({} 경유)"
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML ìžë§‰"
@@ -831,7 +831,12 @@ msgstr "DCP XML ìžë§‰"
msgid "DCP sample rate"
msgstr "DCP 샘플 ë ˆì´íЏ"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCPì—서 콘í…ì¸ ì˜ ë§¤ ë‘ ë²ˆì§¸ í”„ë ˆìž„ì„ ì‚¬ìš©í•©ë‹ˆë‹¤.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCPê°€ 콘í…츠 ì†ë„ì˜ %.1f%%로 재ìƒë©ë‹ˆë‹¤.\n"
@@ -926,11 +931,11 @@ msgstr "다운로드 실패 ({} 오류 {})"
msgid "EC"
msgstr "EC"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "DCPì—서 ê° ì½˜í…츠 í”„ë ˆìž„ì´ ë‘ ë²ˆì”© 반복ë©ë‹ˆë‹¤.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "DCPì—서 ê° ì½˜í…츠 í”„ë ˆìž„ì´ {}번 ë” ë°˜ë³µë©ë‹ˆë‹¤.\n"
@@ -979,11 +984,11 @@ msgstr "오류: {}"
msgid "Event"
msgstr "ì´ë²¤íЏ"
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr "오디오 ë¶„ì„"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "오디오, ìžë§‰ ë° í쇄형 ìžë§‰ ë¶„ì„"
@@ -995,7 +1000,7 @@ msgstr "콘í…츠 ë¶„ì„"
msgid "Examining subtitles"
msgstr "ìžë§‰ ë¶„ì„"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "ìžë§‰ ë° í쇄형 ìžë§‰ ë¶„ì„"
@@ -1148,11 +1153,11 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr "IN"
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr "25fps를 사용하는 경우 DCP í‘œì¤€ì„ SMPTE로 변경해야 합니다."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
@@ -1161,7 +1166,7 @@ msgstr ""
"특별한 ì´ìœ ê°€ 없다면 Interop 대신 SMPTE DCP를 제작하는 ê²ƒì´ ê¶Œìž¥ë©ë‹ˆë‹¤. "
"\"DCP\" 탭ì—서 í‘œì¤€ì„ SMPTE로 설정하십시오."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1207,7 +1212,7 @@ msgstr "좌측 후방 서ë¼ìš´ë“œ"
msgid "Left surround"
msgstr "좌측 서ë¼ìš´ë“œ"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "길ì´"
@@ -1390,7 +1395,7 @@ msgstr "P3 D65 (~6500K)"
msgid "P3 DCI (~6300K)"
msgstr "P3 DCI (~6300K)"
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1508,7 +1513,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1575,7 +1580,7 @@ msgstr "단편 (Short)"
msgid "Sign"
msgstr "사ì¸"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "í¬ê¸°"
@@ -1618,14 +1623,14 @@ msgstr ""
"DCP-o-maticì˜ ë²„ê·¸ 수정으로 ì¸í•´ ì¼ë¶€ 파ì¼ì„ 다시 ë¶„ì„해야 합니다. íŒŒì¼ ì„¤ì •"
"ì„ í™•ì¸í•´ 보십시오."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr "í쇄형 ìžë§‰ 중 ì¼ë¶€ê°€ {}ì¤„ì„ ì´ˆê³¼í•˜ì—¬ ëë¶€ë¶„ì´ ìž˜ë¦´ 수 있습니다."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1634,7 +1639,7 @@ msgstr ""
"오디오가 í¬í•¨ëœ 콘í…츠가 있으나 오디오 언어가 설정ë˜ì§€ 않았습니다. 대사가 ì—†"
"는 경우가 아니ë¼ë©´ \"DCP\" 탭ì—서 오디오 언어를 설정하는 ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1659,7 +1664,7 @@ msgstr "ì¼ë¶€ 콘í…ì¸ ì— KDMì´ í•„ìš”í•©ë‹ˆë‹¤"
msgid "Some of your content needs an OV"
msgstr "ì¼ë¶€ 콘í…ì¸ ì— OVê°€ 필요합니다"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1727,7 +1732,7 @@ msgstr "서명용 ì¸ì¦ì„œ ì²´ì¸ì´ 유효하지 않습니다"
msgid "The certificate chain for signing is invalid ({})"
msgstr "서명용 ì¸ì¦ì„œ ì²´ì¸ì´ 유효하지 않습니다 ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1741,7 +1746,7 @@ msgstr ""
"서 ë° í‚¤ 다시 만들기...\" ë²„íŠ¼ì„ í´ë¦­í•˜ì—¬ ì¸ì¦ì„œ ì²´ì¸ì„ 재ìƒì„±í•˜ëŠ” ê²ƒì„ ê¶Œìž¥"
"합니다."
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1794,7 +1799,7 @@ msgstr "íŒŒì¼ {}ì˜ íŠ¸ë¦¬ë°ì´ {}ë°€ë¦¬ì´ˆë§Œí¼ ì¤„ì—ˆìŠµë‹ˆë‹¤."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "íŒŒì¼ {}ì˜ íŠ¸ë¦¬ë°ì´ {}ë°€ë¦¬ì´ˆë§Œí¼ ëŠ˜ì—ˆìŠµë‹ˆë‹¤."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1812,7 +1817,7 @@ msgstr ""
"ì¼ë¶€ ìžë§‰ì˜ ìˆ˜ì§ ì˜¤í”„ì…‹ ì¡°ì ˆ ë°©ì‹ì´ ì´ì „ê³¼ 반대 방향으로 변경ë˜ì—ˆìŠµë‹ˆë‹¤. 프"
"로ì íЏ ë‚´ì˜ ìžë§‰ 위치가 ì˜ë„한 대로 배치ë˜ì—ˆëŠ”ì§€ 확ì¸í•´ 주십시오."
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1837,14 +1842,14 @@ msgstr ""
"메모리가 부족합니다. 32비트 ìš´ì˜ì²´ì œë¥¼ 사용 중ì´ë¼ë©´ 환경 ì„¤ì •ì˜ 'ì¼ë°˜' 탭ì—"
"서 ì¸ì½”딩 스레드 수를 줄여 보십시오."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
"ì´ KDMì€ {}를 위해 제작ë˜ì—ˆìœ¼ë‚˜ 해당 ë‹¨ë§ ì¸ì¦ì„œ(leaf certificate)를 위한 것"
"ì´ ì•„ë‹™ë‹ˆë‹¤."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "ì´ KDMì€ {}ì˜ ë³µí˜¸í™” ì¸ì¦ì„œë¥¼ 위해 제작ë˜ì§€ 않았습니다."
@@ -2034,7 +2039,7 @@ msgstr "YCgCo-R, 홀수 가산"
msgid "Yet Another Deinterlacing Filter"
msgstr "ë˜ ë‹¤ë¥¸ ë””ì¸í„°ë ˆì´ì‹± í•„í„° (YADIF)"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2044,7 +2049,7 @@ msgstr ""
"DCP 프레임 ë ˆì´íŠ¸ê°€ {} fps로 설정ë˜ì–´ 있습니다. ì´ ë ˆì´íŠ¸ëŠ” ì¼ë¶€ 프로ì í„°ì—"
"서 ì§€ì›ë˜ì§€ ì•Šì„ ìˆ˜ 있습니다. {} fps로 변경하는 ê²ƒì„ ê¶Œìž¥í•©ë‹ˆë‹¤."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2054,7 +2059,7 @@ msgstr ""
"DCP 프레임 ë ˆì´íŠ¸ê°€ {} fps로 설정ë˜ì–´ 있습니다. ì´ ë ˆì´íŠ¸ëŠ” ì¼ë¶€ 프로ì í„°ì—"
"서 ì§€ì›ë˜ì§€ ì•Šì„ ìˆ˜ 있으므로, {} fps로 변경하는 ê²ƒì„ ê³ ë ¤í•´ 보십시오."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2062,7 +2067,7 @@ msgstr ""
"DCP 프레임 ë ˆì´íŠ¸ê°€ 30fps로 설정ë˜ì–´ 있습니다. ì´ëŠ” ì¼ë¶€ 프로ì í„°ì—서 ì§€ì›ë˜"
"ì§€ 않으므로 호환성 문제가 ë°œìƒí•  수 있ìŒì— 유ì˜í•˜ì‹­ì‹œì˜¤."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2070,7 +2075,7 @@ msgstr ""
"3D 콘í…츠를 사용 중ì´ì§€ë§Œ DCPê°€ 2D로 설정ë˜ì–´ 있습니다. 3D 시스템(Real-D, "
"MasterImage 등)ì—서 ìƒì˜í•˜ë ¤ë©´ DCP를 3D로 설정하십시오."
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2089,7 +2094,7 @@ msgstr ""
"프레임 ë ˆì´íŠ¸ê°€ 다른 여러 ê°œì˜ Atmos 콘í…츠가 í¬í•¨ë˜ì–´ 있습니다. ì¼ë¶€ Atmos "
"콘í…츠를 제거해야 합니다."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2097,7 +2102,7 @@ msgstr ""
"í쇄형 ìžë§‰ì´ ê²¹ì³ ìžˆìŠµë‹ˆë‹¤. ì´ëŠ” Interop DCPì—서 허용ë˜ì§€ 않으므로 DCP 표준"
"ì„ SMPTE로 변경하십시오."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2105,7 +2110,7 @@ msgstr ""
"지정한 í°íЏ 파ì¼ì´ 640kB를 초과합니다. ìž¬ìƒ ì‹œ 문제가 ë°œìƒí•  ê°€ëŠ¥ì„±ì´ ë§¤ìš° 높"
"습니다."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2118,7 +2123,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "DCP를 제작하기 ì „ì— ì½˜í…츠를 추가해야 합니다"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2130,7 +2135,7 @@ msgstr ""
"채ë„로 설정하는 ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤. 콘í…츠 채ë„ì´ ì ë”ë¼ë„ {}ì—서 나머지를 무ìŒìœ¼"
"로 채ì›ë‹ˆë‹¤."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2140,7 +2145,7 @@ msgstr ""
"DCP 오디오 채ë„ì´ 8 ë˜ëŠ” 16ì´ ì•„ë‹Œ {}개입니다. 배급사 검수시 오류로 ì²˜ë¦¬ë  "
"수 있으니 오디오 채ë„ì„ 8 ë˜ëŠ” 16으로 설정하십시오."
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2148,7 +2153,7 @@ msgstr ""
"DCPê°€ 비표준 컨테ì´ë„ˆ ë¹„ìœ¨ì„ ì‚¬ìš©í•˜ê³  있습니다. ì¼ë¶€ 프로ì í„°ì—서 문제가 ë°œ"
"ìƒí•  수 있으므로 ê°€ê¸‰ì  í”Œëž«(Flat) ë˜ëŠ” 스코프(Scope)를 사용하십시오."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2178,7 +2183,7 @@ msgstr "[ë™ì˜ìƒ]"
msgid "[still]"
msgstr "[ì •ì§€ ì˜ìƒ]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[ìžë§‰]"
@@ -2194,7 +2199,7 @@ msgstr "_릴{}"
msgid "bits"
msgstr "비트"
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "연결 시간 초과"
@@ -2250,22 +2255,22 @@ msgstr "íŒŒì¼ {}ì—서 ì½ì„ 수 없습니다 ({})"
msgid "could not write to file {} ({})"
msgstr "íŒŒì¼ {}ì— ì“¸ 수 없습니다 ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "비ë™ê¸° ì—°ê²° 중 오류 ë°œìƒ ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, c++-format
msgid "error during async_connect: ({})"
msgstr "비ë™ê¸° ì—°ê²° 중 오류 ë°œìƒ: ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "비ë™ê¸° ì½ê¸° 중 오류 ë°œìƒ ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "비ë™ê¸° 쓰기 중 오류 ë°œìƒ ({})"
@@ -2394,7 +2399,7 @@ msgstr "스틸"
msgid "unknown"
msgstr "알 수 ì—†ìŒ"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "비디오 프레임"
diff --git a/src/lib/po/nl_NL.po b/src/lib/po/nl_NL.po
index c1e1e1f1f..2981fcaa2 100644
--- a/src/lib/po/nl_NL.po
+++ b/src/lib/po/nl_NL.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
-"PO-Revision-Date: 2026-03-23 13:14+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
+"PO-Revision-Date: 2026-04-21 18:10+0200\n"
"Last-Translator: Rob van Nieuwkerk <dcpomatic-translations@berrymount.nl>\n"
"Language-Team: Rob van Nieuwkerk <dcpomatic-translations@berrymount.nl>\n"
"Language: nl_NL\n"
@@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.8\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -27,7 +27,7 @@ msgstr ""
"\n"
"Content frame rate %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -36,7 +36,7 @@ msgstr ""
"\n"
"Bijgesneden naar {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -45,7 +45,7 @@ msgstr ""
"\n"
"Weergave-beeldverhouding %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -54,7 +54,7 @@ msgstr ""
"\n"
"Opgevuld met zwart om in container {} ({}x{}) te passen"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -63,7 +63,7 @@ msgstr ""
"\n"
"Geschaald naar {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -103,7 +103,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", pixel-beeldverhouding %.2f:1"
@@ -176,7 +176,7 @@ msgstr "2,39:1 (Scope)"
msgid "3D denoiser"
msgstr "3D-ruisonderdrukking"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -229,7 +229,7 @@ msgstr ""
"href=\"https://dcpomatic.com/donate_amount?amount=10\">Ga naar Paypal om €10 "
"te doneren</a></ul><p>Dank u wel!</font>"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -258,7 +258,7 @@ msgstr "ARIB STD-B67 ('Hybrid Log-Gamma')"
msgid "Advertisement"
msgstr "Advertisement"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -270,7 +270,7 @@ msgstr ""
"balken zullen komen. Mogelijk wilt u de DCP-container op Scope (2,39:1) "
"instellen bij de DCP-instellingen."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -294,26 +294,26 @@ msgstr "Analyseren audio"
msgid "Analysing subtitles"
msgstr "Analyseren ondertitels"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
"Ten minste één marker komt na het einde van het project en wordt genegeerd."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Ten minste één van uw closed caption bestanden is groter dan "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
"Ten minste één XML-gedeelte van uw closed caption bestanden is groter dan "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Ten minste één van uw ondertitelbestanden is groter dan "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -321,7 +321,7 @@ msgstr ""
"Ten minste één van uw ondertitel-regels heeft meer dan 52 tekens. Het wordt "
"aanbevolen om niet meer dan 52 tekens in een regel te gebruiken."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -329,7 +329,7 @@ msgstr ""
"Ten minste één van uw ondertitel-regels heeft meer dan 79 tekens. U moet "
"elke regel maximaal 79 tekens lang maken."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -337,7 +337,7 @@ msgstr ""
"Ten minste één van uw ondertitels heeft meer dan 3 regels. Het is "
"verstandig om niet meer dan 3 regels te gebruiken."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -345,7 +345,7 @@ msgstr ""
"Ten minste één van uw ondertitels duurt minder dan 15 frames. Het is "
"verstandig om elke ondertitel minstens 15 frames lang te maken."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -353,7 +353,7 @@ msgstr ""
"Ten minste één van uw ondertitels begint minder dan 2 frames na de vorige. "
"Het is verstandig om minstens 2 frames tussen ondertitels te laten."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -708,7 +708,7 @@ msgstr "Samen te voegen content moet dezelfde ondertitel-stream gebruiken."
msgid "Content to be joined must use the same text language."
msgstr "Samen te voegen content moet dezelfde tekst-taal hebben."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Content-video is {}x{}"
@@ -848,7 +848,7 @@ msgstr "DCP"
msgid "DCP (via {})"
msgstr "DCP (via {})"
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML ondertitels"
@@ -856,7 +856,12 @@ msgstr "DCP XML ondertitels"
msgid "DCP sample rate"
msgstr "DCP sample rate"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP zal 1 van elke {} frames van de content gebruiken.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP zal afspelen met %.1f%% van de content-snelheid.\n"
@@ -950,11 +955,11 @@ msgstr "Download mislukt ({} fout {})"
msgid "EC"
msgstr "EC"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Elk content frame zal dubbel gebruikt worden in de DCP.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Elk content frame zal {} keer herhaald worden in de DCP.\n"
@@ -1003,11 +1008,11 @@ msgstr "Fout: {}"
msgid "Event"
msgstr "Event"
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr "Onderzoeken audio"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "Onderzoeken audio, ondertitels en closed captions"
@@ -1019,7 +1024,7 @@ msgstr "Onderzoeken content"
msgid "Examining subtitles"
msgstr "Onderzoeken ondertitels"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "Onderzoeken ondertitels en closed captions"
@@ -1173,13 +1178,13 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr "IN"
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
"Als u een frame rate van 25 fps gebruikt, moet u de DCP-standaard wijzigen "
"in SMPTE."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
@@ -1189,7 +1194,7 @@ msgstr ""
"bepaalde reden heeft om Interop te gebruiken. U wordt geadviseerd om de DCP-"
"standaard op SMPTE in te stellen in het \"DCP\"-tabblad."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1235,7 +1240,7 @@ msgstr "Achter surround links (BsL)"
msgid "Left surround"
msgstr "Links surround (Ls)"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Lengte"
@@ -1428,7 +1433,7 @@ msgstr "P3 D65 (~6500K)"
msgid "P3 DCI (~6300K)"
msgstr "P3 DCI (~6300K)"
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1546,7 +1551,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1612,7 +1617,7 @@ msgstr "Short"
msgid "Sign"
msgstr "Sign"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Grootte"
@@ -1657,7 +1662,7 @@ msgstr ""
"Sommige bestanden moeten opnieuw worden onderzocht vanwege een bugfix in DCP-"
"o-matic. Het kan nodig zijn om hun instellingen te controleren."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1666,7 +1671,7 @@ msgstr ""
"Een deel van uw closed captions heeft meer dan {} regels, dus worden ze "
"afgekapt."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1676,7 +1681,7 @@ msgstr ""
"ingesteld. Het is raadzaam om de audio-taal in te stellen in het \"DCP\"-"
"tabblad, tenzij uw audio geen gesproken delen heeft."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1702,7 +1707,7 @@ msgstr "Een deel van uw content heeft een KDM nodig"
msgid "Some of your content needs an OV"
msgstr "Een deel van uw content heeft een OV nodig"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1771,7 +1776,7 @@ msgstr "De certificaat-keten voor ondertekening is ongeldig"
msgid "The certificate chain for signing is invalid ({})"
msgstr "De certificaat-keten voor ondertekening is ongeldig ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1786,7 +1791,7 @@ msgstr ""
"keten opnieuw aan te maken door op de knop \"Maak certificaten en sleutel "
"opnieuw...\" in het \"Sleutels\"-tabblad bij Voorkeuren te klikken."
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1841,7 +1846,7 @@ msgstr "Van het bestand {} is {} milliseconden minder weggeknipt."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Van het bestand {} is {} milliseconden meer weggeknipt."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1862,7 +1867,7 @@ msgstr ""
"ondertitels in uw project om er zeker van te zijn dat ze op de gewenste "
"plaats staan."
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1891,12 +1896,12 @@ msgstr ""
"threads te verminderen in het \"Algemeen\"-tabblad bij Voorkeuren als u een "
"32-bits operating system draait."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr "Deze KDM is gemaakt voor {} maar niet voor het leaf-certificaat."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "Deze KDM is niet gemaakt voor het ontsleutelings-certificaat van {}."
@@ -2088,7 +2093,7 @@ msgstr "YCgCo-R, oneven toevoeging"
msgid "Yet Another Deinterlacing Filter"
msgstr "Yet Another Deinterlacing Filter"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2099,7 +2104,7 @@ msgstr ""
"wordt niet door alle projectoren ondersteund. U wordt geadviseerd om de DCP "
"frame rate te wijzigen in {} fps."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2110,7 +2115,7 @@ msgstr ""
"wordt niet door alle projectoren ondersteund. U kunt overwegen om de DCP "
"frame rate te wijzigen in {} fps."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2119,7 +2124,7 @@ msgstr ""
"wordt niet door alle projectoren ondersteund. Houd er rekening mee dat u "
"compatibiliteitsproblemen kunt krijgen."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2127,7 +2132,7 @@ msgstr ""
"U gebruikt 3D-content, maar uw DCP is op 2D ingesteld. Stel de DCP in op 3D "
"als u hem wilt afspelen op een 3D-systeem (bv. Real-D, MasterImage etc.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2147,7 +2152,7 @@ msgstr ""
"U heeft meer dan één stuk Atmos-content en ze hebben niet dezelfde frame "
"rate. U moet een deel van de Atmos-content verwijderen."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2155,7 +2160,7 @@ msgstr ""
"U heeft overlappende closed captions. Die zijn niet toegestaan in Interop "
"DCP's. Verander uw DCP-standaard in SMPTE."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2163,7 +2168,7 @@ msgstr ""
"U heeft een font-bestand gespecificeerd dat groter is dan 640kB. Dit zal "
"zeer waarschijnlijk problemen bij het afspelen geven."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2176,7 +2181,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "U moet content aan de DCP toevoegen voor hij gemaakt kan worden"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2189,7 +2194,7 @@ msgstr ""
"maakt niet uit of uw content minder kanalen heeft, {} vult de extra kanalen "
"met stilte."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2201,7 +2206,7 @@ msgstr ""
"DCP controleren. Om dit te voorkomen, stelt u het aantal audio-kanalen van "
"de DCP in op 8 of 16."
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2210,7 +2215,7 @@ msgstr ""
"problemen geven met sommige projectoren. Gebruik, indien mogelijk, Flat of "
"Scope voor de container-beeldverhouding van de DCP."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2241,7 +2246,7 @@ msgstr "[bewegende beelden]"
msgid "[still]"
msgstr "[stilstaand beeld]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[ondertitels]"
@@ -2257,7 +2262,7 @@ msgstr "_reel{}"
msgid "bits"
msgstr "bits"
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "time-out van verbinding"
@@ -2313,22 +2318,22 @@ msgstr "kan niet lezen uit bestand {} ({})"
msgid "could not write to file {} ({})"
msgstr "kan niet schrijven naar bestand {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "fout tijdens async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, c++-format
msgid "error during async_connect: ({})"
msgstr "fout tijdens async_connect: ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "fout tijdens async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "fout tijdens async_write ({})"
@@ -2461,7 +2466,7 @@ msgstr "stilstaand beeld"
msgid "unknown"
msgstr "onbekend"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "video frames"
diff --git a/src/lib/po/pl_PL.po b/src/lib/po/pl_PL.po
index 905cda145..8413e9aad 100644
--- a/src/lib/po/pl_PL.po
+++ b/src/lib/po/pl_PL.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2022-05-10 16:47+0200\n"
"Last-Translator: Michał Tomaszewski <goku1933@gmail.com>\n"
"Language-Team: Polish <http://translations.dcpomatic.com/projects/dcpomatic/"
@@ -20,7 +20,7 @@ msgstr ""
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Poedit 3.0.1\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -29,7 +29,7 @@ msgstr ""
"\n"
"Liczba kl/s pliku video %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -38,7 +38,7 @@ msgstr ""
"\n"
"Wykadrowany do {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -47,7 +47,7 @@ msgstr ""
"\n"
"Proporcje obrazu %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -56,7 +56,7 @@ msgstr ""
"\n"
"Dodane czarne pasy, aby dopasować do formatu {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -65,7 +65,7 @@ msgstr ""
"\n"
"Przeskalowany do {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -105,7 +105,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", proporcje piksela %.2f:1"
@@ -179,7 +179,7 @@ msgstr "2.39 (Scope)"
msgid "3D denoiser"
msgstr "Odszumianie 3D"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -232,7 +232,7 @@ msgstr ""
"dcpomatic.com/donate_mount?amount=10\">Przejdź do PayPal i wpłać 10 EUR</a></"
"ul><p>Dziękuję!"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -262,7 +262,7 @@ msgstr "ARIB STD-B67 ('Hybrydowa log-gamma')"
msgid "Advertisement"
msgstr "Reklama"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -274,7 +274,7 @@ msgstr ""
"skompensować różnice formatów. Być może lepiej ustawić kontener DCP na "
"Scope (2.39:1) w zakładce \"DCP\"."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -298,27 +298,27 @@ msgstr "Analizuję dźwięk"
msgid "Analysing subtitles"
msgstr "AnalizujÄ™ napisy"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
"Znaczniki, które pojawiają się za czasem końcowym Projektu zostaną "
"zignorowane."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Co najmniej jeden z plików napisów kodowanych jest większy niż "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
"Co najmniej jedna część pliku XML z napisami kodowanymi jest większa niż "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Co najmniej jeden z plików z napisami jest większy niż "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -326,7 +326,7 @@ msgstr ""
"W napisach znajdują się linie, które mają powyżej 52 znaków. Zaleca się, "
"aby żadna z linii nie przekraczała 52 znaków."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -334,7 +334,7 @@ msgstr ""
"W napisach znajdują się linie, które mają powyżej 79 znaków. Żadna linia "
"nie powinna przekraczać 79 znaków."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -342,7 +342,7 @@ msgstr ""
"W pliku znajdują się napisy, które mają ponad 3 linie. Zaleca się użycie "
"maksymalnie 3 linii."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -351,7 +351,7 @@ msgstr ""
"obrazu. Zaleca się, aby każdy napis był widoczny co najmniej przez 15 "
"klatek obrazu."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -359,7 +359,7 @@ msgstr ""
"Niektóre napisy w pliku mają odstęp czasowy poniżej 2 klatek obrazu. Zaleca "
"się, aby odstęp między napisami wynosił co najmniej 2 klatki obrazu."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
#, fuzzy
msgid ""
"At least one piece of subtitle content has no specified language. It is "
@@ -698,7 +698,7 @@ msgstr "ÅÄ…czone pliki muszÄ… używać tego samego źródÅ‚a napisów."
msgid "Content to be joined must use the same text language."
msgstr "ÅÄ…czone pliki muszÄ… mieć taki sam jÄ™zyk napisów."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Rozdzielczość pliku video {}x{}"
@@ -839,7 +839,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "Napisy DCP XML"
@@ -847,7 +847,12 @@ msgstr "Napisy DCP XML"
msgid "DCP sample rate"
msgstr "Liczba kl/s DCP"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP będzie używał co drugiej klatki materiału.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP będzie odtwarzany z %.1f%% prędkości.\n"
@@ -936,11 +941,11 @@ msgstr "Pobieranie nie powiodło się ({} błąd {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Każda klatka materiału zostanie zdublowana w DCP.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Każda klatka materiału będzie powtórzona {} razy w DCP.\n"
@@ -989,12 +994,12 @@ msgstr "Błąd: {}"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Analizowanie napisów"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "Sprawdzam audio, napisy i napisy kodowane"
@@ -1006,7 +1011,7 @@ msgstr "Analizowanie materiału"
msgid "Examining subtitles"
msgstr "Analizowanie napisów"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "Analizowanie napisów i napisów kodowanych"
@@ -1161,11 +1166,11 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr "Przy 25 FPS powinieneś zmienić standard paczki DCP na SMPTE."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
#, fuzzy
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
@@ -1176,7 +1181,7 @@ msgstr ""
"użycie standardu Interlop jest uzasadnione. Zaleca się wybranie standardu "
"SMPTE z zakładki „DCP†dla tego Projektu."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1222,7 +1227,7 @@ msgstr "Lewy tylny surround"
msgid "Left surround"
msgstr "Lewy surround"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Długość"
@@ -1412,7 +1417,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, fuzzy, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1531,7 +1536,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1598,7 +1603,7 @@ msgstr "Krótkometrażowy"
msgid "Sign"
msgstr "Podpis"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Rozdzielczość"
@@ -1642,7 +1647,7 @@ msgstr ""
"\n"
"Pliki te zostaną ponownie zbadane, sprawdź ustawienia."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1651,7 +1656,7 @@ msgstr ""
"Niektóre z napisów dzielą się na więcej niż {} linii, dlatego zostaną "
"przycięte."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1661,7 +1666,7 @@ msgstr ""
"jÄ™zyka. Zaleca siÄ™, aby okreÅ›lić jÄ™zyk dźwiÄ™ku w zakÅ‚adce „DCPâ€, chyba że "
"materiał nie posiada dialogów."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1683,7 +1688,7 @@ msgstr "Część twoich materiałów wymaga klucza KDM"
msgid "Some of your content needs an OV"
msgstr "Część twoich materiałów wymaga wersji OV paczki DCP"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1751,7 +1756,7 @@ msgstr "Certyfikat jest nieprawidłowy"
msgid "The certificate chain for signing is invalid ({})"
msgstr "Certyfikat jest nieprawidłowy ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1761,7 +1766,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1810,7 +1815,7 @@ msgstr "Długość pliku {} została skrócona o {} milisekund."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Długość pliku {} została wydłużona o {} milisekund."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1824,7 +1829,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
#, fuzzy
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
@@ -1852,14 +1857,14 @@ msgstr ""
"Brakuje pamięci, aby wykonać tę operację. Jeśli twój system jest 32-bitowy, "
"spróbuj zmniejszyć liczbę wątków kodujących w Preferencjach."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, fuzzy, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
"Ten klucz KDM jest kompatybilny z programem DCP-o-matic, ale zawarty "
"certyfikat jest błędny."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, fuzzy, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -2054,7 +2059,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "I jeszcze jeden filtr usuwania przeplotu"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2065,7 +2070,7 @@ msgstr ""
"obsługiwana przez wszystkie projektory. Zaleca się zmianę liczby klatek/s "
"na wartość {} FPS."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2076,7 +2081,7 @@ msgstr ""
"obsługiwana przez wszystkie projektory. Rozważ zmianę liczby klatek/s na "
"wartość {} FPS."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2085,7 +2090,7 @@ msgstr ""
"przez wszystkie projektory. Paczka może nie być kompatybilna ze wszystkimi "
"systemami."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2094,7 +2099,7 @@ msgstr ""
"opcje DCP na 3D, jeśli chcesz odtwarzać go na systemach 3D (jak Real-D, "
"MasterImage itd.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, fuzzy, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2114,7 +2119,7 @@ msgstr ""
"Co najmniej jeden z twoich materiałów zawiera dźwięk Atmos, a materiały mają "
"różne wartości klatek/s. Musisz usunąć materiał z dźwiękiem Atmos."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2122,7 +2127,7 @@ msgstr ""
"Projekt zawiera nakładające się napisy, które nie są dozwolone w standardzie "
"Interlop. Zmień standard paczki na SMPTE."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2130,7 +2135,7 @@ msgstr ""
"Wskazana przez ciebie czcionka ma rozmiar większy niż 640kB. "
"Najprawdopodobniej spowoduje to problemy podczas odtwarzania."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2143,7 +2148,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Musisz najpierw dodać materiały zanim utworzysz DCP"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, fuzzy, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2156,7 +2161,7 @@ msgstr ""
"kanałów dźwiękowych. Dodane materiały mogą mieć mniej kanałów dźwiękowych, "
"DCP-o-matic wypełni nieużywane kanały ciszą."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2164,7 +2169,7 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2173,7 +2178,7 @@ msgstr ""
"problemy z odtwarzaniem na niektórych serwerach. Jeśli to możliwe, ustaw "
"kontener DCP na Flat lub Scope."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2205,7 +2210,7 @@ msgstr "[ruchome obrazy]"
msgid "[still]"
msgstr "[stopklatka]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[napisy]"
@@ -2221,7 +2226,7 @@ msgstr "_rolka{}"
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "przekroczenie limitu czasu połączenia"
@@ -2277,22 +2282,22 @@ msgstr "nie udało się odczytać pliku {} ({})"
msgid "could not write to file {} ({})"
msgstr "nie udało się zapisać do pliku {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "wystąpił błąd podczas async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "wystąpił błąd podczas async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "wystąpił błąd podczas async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "wystąpił błąd podczas async_write ({})"
@@ -2427,7 +2432,7 @@ msgstr "stopklatka"
msgid "unknown"
msgstr "nieznany"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "klatki obrazu"
diff --git a/src/lib/po/pt_BR.po b/src/lib/po/pt_BR.po
index 02e6eb82f..7e7779402 100644
--- a/src/lib/po/pt_BR.po
+++ b/src/lib/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2018-01-15 16:19-0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.5\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -26,7 +26,7 @@ msgstr ""
"\n"
"Taxa de quadros do conteúdo %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -35,7 +35,7 @@ msgstr ""
"\n"
"Redimensionado para {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -44,7 +44,7 @@ msgstr ""
"\n"
"Proporções de exibição %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -53,7 +53,7 @@ msgstr ""
"\n"
"Preenchido com barras pretas {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -62,7 +62,7 @@ msgstr ""
"\n"
"Redimensionado para {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -102,7 +102,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr ""
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", aspect ratio do pixel %.2f:1"
@@ -176,7 +176,7 @@ msgstr "2.39 (Scope)"
msgid "3D denoiser"
msgstr "Redutor de ruído 3D"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -214,7 +214,7 @@ msgid ""
"donate €10</a></ul><p>Thank you!</font>"
msgstr ""
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -242,7 +242,7 @@ msgstr "ARIB STD-B67 ('Hybrid log-gamma')"
msgid "Advertisement"
msgstr "Comercial"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -254,7 +254,7 @@ msgstr ""
"superior e inferior do frame Flat. Talvez seja mais indicado criar um DCP "
"Scope, escolhendo Scope (2.39:1) no tab \"DCP\"."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
#, fuzzy
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
@@ -281,54 +281,54 @@ msgstr "Analisar áudio"
msgid "Analysing subtitles"
msgstr "Buscando legendas"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr ""
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr ""
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
msgstr ""
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
msgstr ""
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
msgstr ""
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -692,7 +692,7 @@ msgstr "O conteúdo a ser concatenado deve usar a mesma faixa de legendas."
msgid "Content to be joined must use the same text language."
msgstr "O conteúdo a ser concatenado deve usar as mesmas fontes."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "O conteúdo tem {}x{}"
@@ -834,7 +834,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "Legendas XML do DCP"
@@ -842,7 +842,12 @@ msgstr "Legendas XML do DCP"
msgid "DCP sample rate"
msgstr "Taxa de quadros do DCP"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "O DCP vai utilizar frames intercalados do conteúdo.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "O DCP vai ser exibido a %.1f%% da velocidade do conteúdo.\n"
@@ -932,11 +937,11 @@ msgstr "Download falhou ({}/{} erro {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Cada quadro do conteúdo será duplicado no DCP\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Cada quadro do conteúdo será repetido {} vezes no DCP\n"
@@ -985,12 +990,12 @@ msgstr "Erro: {}"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Buscando legendas"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr ""
@@ -1004,7 +1009,7 @@ msgstr "Examinar conteúdo"
msgid "Examining subtitles"
msgstr "Buscando legendas"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
#, fuzzy
msgid "Examining subtitles and closed captions"
msgstr "Buscando legendas"
@@ -1162,18 +1167,18 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
"the SMPTE standard in the \"DCP\" tab."
msgstr ""
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1217,7 +1222,7 @@ msgstr "Surround traseiro esquerdo"
msgid "Left surround"
msgstr "Surround esquerdo"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Duração"
@@ -1406,7 +1411,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1523,7 +1528,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1586,7 +1591,7 @@ msgstr "Curta-metragem"
msgid "Sign"
msgstr ""
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Tamanho"
@@ -1620,21 +1625,21 @@ msgid ""
"need to check their settings."
msgstr ""
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
"has no spoken parts."
msgstr ""
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1658,7 +1663,7 @@ msgstr "uma parte do seu conteúdo necessita de KDM"
msgid "Some of your content needs an OV"
msgstr "uma parte do seu conteúdo necessita de uma versão original (OV)"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1724,7 +1729,7 @@ msgstr "A cadeia de certificado para assinatura é inválida"
msgid "The certificate chain for signing is invalid ({})"
msgstr "A cadeia de certificado para assinatura é inválida ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1734,7 +1739,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1780,7 +1785,7 @@ msgstr "O arquivo {} foi cortado por {} milissegundos a menos."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "O arquivo {} foi cortado por {} milissegundos a mais."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1794,7 +1799,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1817,12 +1822,12 @@ msgstr ""
"de 32 bits, tente reduzir o número de threads para codificação no tab Geral "
"das Preferências, no menu Editar."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -2014,7 +2019,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Yet Another Deinterlacing Filter (YADIF)"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2025,7 +2030,7 @@ msgstr ""
"suportada. Recomendamos a alteração da taxa de quadros do seu DCP para um "
"valor padrão, ou que faça um DCP SMPTE."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2036,7 +2041,7 @@ msgstr ""
"suportada. Recomendamos a alteração da taxa de quadros do seu DCP para um "
"valor padrão, ou que faça um DCP SMPTE."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
#, fuzzy
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
@@ -2046,7 +2051,7 @@ msgstr ""
"suportada. Recomendamos a alteração da taxa de quadros do seu DCP para um "
"valor padrão, ou que faça um DCP SMPTE."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2055,7 +2060,7 @@ msgstr ""
"o DCP para 3D se quiser reprodução correta em um sistema 3D (por exemplo "
"Real-D, MasterImage, etc.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2069,13 +2074,13 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr ""
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2083,7 +2088,7 @@ msgstr ""
"Você especificou um arquivo de fonte que tem mais de 640kB. Isso muito "
"provavelmente causará problemas na reprodução."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2097,7 +2102,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "você precisa adicionar conteúdo ao DCP antes de criá-lo"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2106,7 +2111,7 @@ msgid ""
"silence."
msgstr ""
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2114,7 +2119,7 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
#, fuzzy
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
@@ -2124,7 +2129,7 @@ msgstr ""
"alguns projetores. Se possível, use apenas Flat ou Scope nos formatos de "
"container."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2155,7 +2160,7 @@ msgstr "[sequência de imagens]"
msgid "[still]"
msgstr "[imagem estática]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[legendas]"
@@ -2171,7 +2176,7 @@ msgstr ""
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "connect timed out"
@@ -2227,22 +2232,22 @@ msgstr "não foi possível ler do arquivo {} ({})"
msgid "could not write to file {} ({})"
msgstr "não foi possível modificar o arquivo {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "erro durante async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "erro durante async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "erro durante async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "erro durante async_write ({})"
@@ -2377,7 +2382,7 @@ msgstr "imagem estática"
msgid "unknown"
msgstr "desconhecido"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "quadros de vídeo"
diff --git a/src/lib/po/pt_PT.po b/src/lib/po/pt_PT.po
index 816ef8096..aa0060f1f 100644
--- a/src/lib/po/pt_PT.po
+++ b/src/lib/po/pt_PT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic PORTUGUESE (Portugal)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2016-03-19 18:19+0000\n"
"Last-Translator: Tiago Casal Ribeiro <tiago@casalribeiro.com>\n"
"Language-Team: \n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Generator: Poedit 1.8.7.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, fuzzy, c-format
msgid ""
"\n"
@@ -27,7 +27,7 @@ msgstr ""
"\n"
"Cadência de fotogramas do conteúdo %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, fuzzy, c++-format
msgid ""
"\n"
@@ -36,7 +36,7 @@ msgstr ""
"\n"
"Recortado para {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, fuzzy, c-format
msgid ""
"\n"
@@ -45,7 +45,7 @@ msgstr ""
"\n"
"Rácio do ecrã %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, fuzzy, c++-format
msgid ""
"\n"
@@ -54,7 +54,7 @@ msgstr ""
"\n"
"Preenchido com negro para caber no contentor {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, fuzzy, c++-format
msgid ""
"\n"
@@ -63,7 +63,7 @@ msgstr ""
"\n"
"Redimensionado para {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr ""
@@ -93,7 +93,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr ""
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, fuzzy, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", rácio de pixeis %.2f:1"
@@ -169,7 +169,7 @@ msgstr ""
msgid "3D denoiser"
msgstr "Remoção de ruído 3D"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -207,7 +207,7 @@ msgid ""
"donate €10</a></ul><p>Thank you!</font>"
msgstr ""
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -230,7 +230,7 @@ msgstr ""
msgid "Advertisement"
msgstr "Publicidade"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -238,7 +238,7 @@ msgid ""
"tab."
msgstr ""
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -260,54 +260,54 @@ msgstr "Analizar áudio"
msgid "Analysing subtitles"
msgstr "À procura das legendas"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr ""
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr ""
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
msgstr ""
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
msgstr ""
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
msgstr ""
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -659,7 +659,7 @@ msgstr "O conteúdo a ser unido deve usar o mesmo fluxo de legendas."
msgid "Content to be joined must use the same text language."
msgstr "O conteúdo a ser unido deve usar os mesmos tipos de letra."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "O vídeo do conteúdo tem {}x{}"
@@ -803,7 +803,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "Legendas XML DCP"
@@ -812,7 +812,12 @@ msgstr "Legendas XML DCP"
msgid "DCP sample rate"
msgstr "Cadência de fotogramas do DCP"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "O DCP usará todos os outros fotogramas do conteúdo.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "O DCP será reproduzido a %.1f%% da velocidade do conteúdo.\n"
@@ -902,11 +907,11 @@ msgstr "O download falhou ({}/{} erro {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Cada fotograma do conteúdo será duplicado no DCP.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Cada fotograma do conteúdo será repetido {} vezes no DCP.\n"
@@ -955,12 +960,12 @@ msgstr "Erro: {}"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "À procura das legendas"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
#, fuzzy
msgid "Examining audio, subtitles and closed captions"
msgstr "Examen du contenu"
@@ -975,7 +980,7 @@ msgstr "Examinar conteúdo"
msgid "Examining subtitles"
msgstr "À procura das legendas"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
#, fuzzy
msgid "Examining subtitles and closed captions"
msgstr "Examen du contenu"
@@ -1137,18 +1142,18 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
"the SMPTE standard in the \"DCP\" tab."
msgstr ""
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1192,7 +1197,7 @@ msgstr "Esquerdo traseiro surround"
msgid "Left surround"
msgstr "Esquerdo surround"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Duração"
@@ -1380,7 +1385,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1499,7 +1504,7 @@ msgstr ""
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1564,7 +1569,7 @@ msgstr "Curta-metragem"
msgid "Sign"
msgstr ""
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Tamanho"
@@ -1598,21 +1603,21 @@ msgid ""
"need to check their settings."
msgstr ""
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
"has no spoken parts."
msgstr ""
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1633,7 +1638,7 @@ msgstr ""
msgid "Some of your content needs an OV"
msgstr ""
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1698,7 +1703,7 @@ msgstr "A cadeia de certificação para assinatura é inválida"
msgid "The certificate chain for signing is invalid ({})"
msgstr "A cadeia de certificação para assinatura é inválida"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1708,7 +1713,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1754,7 +1759,7 @@ msgstr ""
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr ""
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1768,7 +1773,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1791,12 +1796,12 @@ msgstr ""
"sistema de 32-bit tente reduzir o número de linhas de execução na aba Geral "
"das Preferências."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -1986,7 +1991,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Yet Another Deinterlacing Filter"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -1994,7 +1999,7 @@ msgid ""
"to {} fps."
msgstr ""
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2002,19 +2007,19 @@ msgid ""
"rate to {} fps."
msgstr ""
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
msgstr ""
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
msgstr ""
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2028,19 +2033,19 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr ""
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
msgstr ""
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2052,7 +2057,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Deve adicionar algum conteúdo ao DCP antes de o criar"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2061,7 +2066,7 @@ msgid ""
"silence."
msgstr ""
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2069,13 +2074,13 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
msgstr ""
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2101,7 +2106,7 @@ msgstr "[moving images]"
msgid "[still]"
msgstr "[still]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[subtitles]"
@@ -2117,7 +2122,7 @@ msgstr ""
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "Ligação expirou"
@@ -2173,22 +2178,22 @@ msgstr "não foi possível ler do ficheiro {} ({})"
msgid "could not write to file {} ({})"
msgstr "não foi possível escrever para o ficheiro {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "erro durante conexão assíncrona ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "erro durante conexão assíncrona ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "erro durante leitura assíncrona ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "erro durante escrita assíncrona ({})"
@@ -2317,7 +2322,7 @@ msgstr "imagem estática"
msgid "unknown"
msgstr "desconhecido"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "fotogramas de vídeo"
diff --git a/src/lib/po/ru_RU.po b/src/lib/po/ru_RU.po
index ee54ce3eb..d55497a90 100644
--- a/src/lib/po/ru_RU.po
+++ b/src/lib/po/ru_RU.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2025-06-08 20:12+0300\n"
"Last-Translator: Mikhail Epshteyn <virus-2006@yandex.ru>\n"
"Language-Team: Mikhail Epshteyn\n"
@@ -17,7 +17,7 @@ msgstr ""
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: .\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -26,7 +26,7 @@ msgstr ""
"\n"
"ЧаÑтота кадров контента: %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -35,7 +35,7 @@ msgstr ""
"\n"
"Размер при кадрировании: {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -44,7 +44,7 @@ msgstr ""
"\n"
"Соотношение Ñторон Ñкрана - %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -53,7 +53,7 @@ msgstr ""
"\n"
"Заполнено черным Ð´Ð»Ñ Ð¿Ð¾Ð´Ð³Ð¾Ð½ÐºÐ¸ под контейнер {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -62,7 +62,7 @@ msgstr ""
"\n"
"МаÑштаб: {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -102,7 +102,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", Ñоотношение Ñторон пикÑÐµÐ»Ñ %.2f:1"
@@ -175,7 +175,7 @@ msgstr "2.39 (Scope)"
msgid "3D denoiser"
msgstr "Подавитель шума 3D"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -228,7 +228,7 @@ msgstr ""
"donate_amount?amount=10\">Перейти в Paypal Ð´Ð»Ñ Ð¿Ð¾Ð¶ÐµÑ€Ñ‚Ð²Ð¾Ð²Ð°Ð½Ð¸Ñ â‚¬10</a></"
"ul><p>Благодарю ваÑ!</font>"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -256,7 +256,7 @@ msgstr "ARIB STD-B67 ('Hybrid log-gamma')"
msgid "Advertisement"
msgstr "ADV (Рекламный)"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -268,7 +268,7 @@ msgstr ""
"Вы можете изменить формат контейнера DCP на SCOPE (2.39:1) на вкладке "
"\"DCP\"."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -292,26 +292,26 @@ msgstr "Ðнализ аудио"
msgid "Analysing subtitles"
msgstr "Ðнализ Ñубтитров"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
"Ðайдены маркеры, уÑтановленные поÑле Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ð½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°. Они будут "
"проигнорированы."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Ðайдены файлы Ñ Ñубтитрами CC, которые больше, чем "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "Ðайдены файлы Ñ Ñубтитрами CC, XML-чаÑть которых больше, чем "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Ðайдены файлы Ñ Ñубтитрами, которые больше, чем "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -319,7 +319,7 @@ msgstr ""
"Ðайдена Ñтрока Ñубтитров, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð´Ð»Ð¸Ð½Ð½ÐµÐµ 52 Ñимволов. РекомендуетÑÑ "
"ограничить длину вÑех Ñтрок до 52 Ñимволов."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -327,7 +327,7 @@ msgstr ""
"Ðайдена Ñтрока Ñубтитров, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð´Ð»Ð¸Ð½Ð½ÐµÐµ 79 Ñимволов. Ð’Ñ‹ должны ограничить "
"длину вÑех Ñтрок до 79 Ñимволов."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -335,7 +335,7 @@ msgstr ""
"Ðайдены Ñубтитры из более трёх Ñтрок. РекомендуетÑÑ Ð¸Ñпользовать не более "
"трёх Ñтрок."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -343,7 +343,7 @@ msgstr ""
"Ðайдены Ñубтитры, продолжительноÑть которых менее 15 кадров. РекомендуетÑÑ "
"задать продолжительноÑть Ð´Ð»Ñ Ð²Ñех Ñубтитров как минимум 15 кадров."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -352,7 +352,7 @@ msgstr ""
"предыдущего. РекомендуетÑÑ Ð·Ð°Ð´Ð°Ñ‚ÑŒ промежуток между Ñубтитрами как минимум 2 "
"кадра."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -696,7 +696,7 @@ msgstr "ВеÑÑŒ добавлÑемый контент должен иметь Ñ
msgid "Content to be joined must use the same text language."
msgstr "ВеÑÑŒ добавлÑемый контент должен иметь одинаковый Ñзык текÑта."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Разрешение контента: {}x{}"
@@ -837,7 +837,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML Ñубтитры"
@@ -845,7 +845,12 @@ msgstr "DCP XML Ñубтитры"
msgid "DCP sample rate"
msgstr "ЧаÑтота кадров DCP"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP будет иÑпользовать каждый второй кадр контента.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP будет воÑпроизводитьÑÑ Ð½Ð° %.1f%% от ÑкороÑти контента.\n"
@@ -942,11 +947,11 @@ msgstr "Ошибка загрузки ({} ошибка {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Каждый кадр контента будет дублирован в DCP-пакете.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
@@ -996,11 +1001,11 @@ msgstr "Ошибка: ({})"
msgid "Event"
msgstr "Событие"
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr "Проверка звука"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "Проверка аудио, открытых и Ñкрытых Ñубтитров"
@@ -1012,7 +1017,7 @@ msgstr "Проверка контента"
msgid "Examining subtitles"
msgstr "Проверка Ñубтитров"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "Проверка Ñубтитров"
@@ -1167,13 +1172,13 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
"ЕÑли вы иÑпользуете 25 кадр/Ñек, вам Ñледует изменить Ñтандарт вашего DCP на "
"SMPTE."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
@@ -1183,7 +1188,7 @@ msgstr ""
"причины Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Interop. РекомендуетÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñтандарт DCP на "
"SMPTE на вкладке \"DCP\"."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1229,7 +1234,7 @@ msgstr "LRS - Левый задний объёмный"
msgid "Left surround"
msgstr "LS - Левый объёмный"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "ДлительноÑть"
@@ -1417,7 +1422,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1536,7 +1541,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1603,7 +1608,7 @@ msgstr "SHR (Короткометражный фильм)"
msgid "Sign"
msgstr "ЖеÑÑ‚"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Размер"
@@ -1650,7 +1655,7 @@ msgstr ""
"Эти файлы ÑÐµÐ¹Ñ‡Ð°Ñ Ð±ÑƒÐ´ÑƒÑ‚ перепроверены. Возможно, вам придётÑÑ Ð¿Ñ€Ð¾Ð²ÐµÑ€Ð¸Ñ‚ÑŒ их "
"наÑтройки."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1659,7 +1664,7 @@ msgstr ""
"Ðекоторые из ваших Ñкрытых Ñубтитров занимают более {} Ñтрок. Они будут "
"обрезаны."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1668,7 +1673,7 @@ msgstr ""
"ЧаÑть вашего контента Ñодержит аудио, у которого не задан Ñзык. ЕÑли ваше "
"аудио Ñодержит речь, то рекомендуетÑÑ Ð·Ð°Ð´Ð°Ñ‚ÑŒ Ñзык аудио на вкладке \"DCP\"."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1689,7 +1694,7 @@ msgstr "ЧаÑть вашего контента требует KDM"
msgid "Some of your content needs an OV"
msgstr "ЧаÑть вашего контента требует OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1758,7 +1763,7 @@ msgstr "Цепочка Ñертификатов Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñи невер
msgid "The certificate chain for signing is invalid ({})"
msgstr "Цепочка Ñертификатов Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñи неверна ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, fuzzy, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1773,7 +1778,7 @@ msgstr ""
"Ñертификатов, нажав кнопку \"Переделать Ñертификаты и ключи...\" на Ñтранице "
"наÑтроек \"Ключи\"."
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, fuzzy, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1827,7 +1832,7 @@ msgstr "Файл {} был обрезан на {} миллиÑекунд менÑ
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Файл {} был обрезан на {} миллиÑекунд больше."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1848,7 +1853,7 @@ msgstr ""
"обратном направлении, чем раньше. Вам Ñледует проверить вÑе Ñубтитры в вашем "
"проекте, чтобы убедитьÑÑ, что они размещены там, где вы хотите."
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1876,12 +1881,12 @@ msgstr ""
"попробуйте уменьшить чиÑло потоков ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÐаÑтройках на вкладке "
"\"ОÑновные\"."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr "Этот KDM был Ñделан Ð´Ð»Ñ {}, но не Ð´Ð»Ñ ÐµÐ³Ð¾ конечного Ñертификата."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "Этот KDM не был Ñделан Ð´Ð»Ñ Ñертификата раÑшифровки {}."
@@ -2073,7 +2078,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Фильтр деинтерлейÑинга YADIF"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2084,7 +2089,7 @@ msgstr ""
"не вÑеми проекторами. РекомендуетÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ чаÑтоту кадров вашего DCP на {} "
"кадр/Ñек."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2095,7 +2100,7 @@ msgstr ""
"поддерживаетÑÑ Ð½Ðµ вÑеми проекторами. Возможно, вы захотите изменить чаÑтоту "
"на {} кадр/Ñек."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2104,7 +2109,7 @@ msgstr ""
"поддерживаетÑÑ Ð½Ðµ вÑеми проекторами. Учтите, что у Ð²Ð°Ñ Ð¼Ð¾Ð³ÑƒÑ‚ быть проблемы "
"ÑовмеÑтимоÑти."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2113,7 +2118,7 @@ msgstr ""
"еÑли хотите воÑпроизвеÑти его на 3D-ÑиÑтеме (напр. Real-D, MasterImage и "
"т.п.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2133,7 +2138,7 @@ msgstr ""
"Обнаружено неÑколько чаÑтей контента Atmos Ñ Ñ€Ð°Ð·Ð½Ð¾Ð¹ чаÑтотой кадров. Вам "
"нужно удалить чаÑть контента Atmos."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2141,7 +2146,7 @@ msgstr ""
"Ваши Ñкрытые Ñубтитры Ñодержат переÑÐµÑ‡ÐµÐ½Ð¸Ñ (overlap), которые не допуÑкаютÑÑ "
"Ð´Ð»Ñ Interop DCP. Измените ваш Ñтандарт DCP на SMPTE."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2149,7 +2154,7 @@ msgstr ""
"Ð’Ñ‹ выбрали файл шрифта, размер которого больше 640 кБ. ВеÑьма вероÑтно, что "
"Ñто вызовет проблемы при воÑпроизведении."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2162,7 +2167,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Вам необходимо добавить контент в DCP перед его Ñозданием"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2175,7 +2180,7 @@ msgstr ""
"Даже еÑли у Ð²Ð°Ñ Ð¼ÐµÐ½ÑŒÑˆÐµ каналов, {} автоматичеÑки заполнит недоÑтающие "
"тишиной."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, fuzzy, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2187,7 +2192,7 @@ msgstr ""
"при проверке вашего DCP. Чтобы избежать Ñтого, уÑтановите Ð´Ð»Ñ Ð°ÑƒÐ´Ð¸Ð¾ÐºÐ°Ð½Ð°Ð»Ð¾Ð² "
"DCP значение 8 или 16."
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2196,7 +2201,7 @@ msgstr ""
"привеÑти к проблемам на некоторых проекторах. ЕÑли возможно, иÑпользуйте "
"Ñоотношение Ñторон Flat или Scope Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€Ð° DCP."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2228,7 +2233,7 @@ msgstr "[движущийÑÑ]"
msgid "[still]"
msgstr "[Ñтатичный]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[Ñубтитры]"
@@ -2244,7 +2249,7 @@ msgstr "_reel{}"
msgid "bits"
msgstr "бит"
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "таймаут ÑоединениÑ"
@@ -2300,22 +2305,22 @@ msgstr "не удалоÑÑŒ прочитать из файла {} ({})"
msgid "could not write to file {} ({})"
msgstr "не удалоÑÑŒ запиÑать в файл {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "ошибка во Ð²Ñ€ÐµÐ¼Ñ async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, c++-format
msgid "error during async_connect: ({})"
msgstr "ошибка во Ð²Ñ€ÐµÐ¼Ñ async_connect: ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "ошибка во Ð²Ñ€ÐµÐ¼Ñ async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "ошибка во Ð²Ñ€ÐµÐ¼Ñ async_write ({})"
@@ -2447,7 +2452,7 @@ msgstr "Ñтатичный"
msgid "unknown"
msgstr "неизвеÑтно"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "видеокадры"
diff --git a/src/lib/po/sk_SK.po b/src/lib/po/sk_SK.po
index 95b2e2363..0748a301d 100644
--- a/src/lib/po/sk_SK.po
+++ b/src/lib/po/sk_SK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2016-01-06 00:23+0100\n"
"Last-Translator: Tomáš HlaváÄ\n"
"Language-Team: \n"
@@ -18,7 +18,7 @@ msgstr ""
"X-Generator: Poedit 1.8.6\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, fuzzy, c-format
msgid ""
"\n"
@@ -27,7 +27,7 @@ msgstr ""
"\n"
"Snímacia frekvencia obsahu %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, fuzzy, c++-format
msgid ""
"\n"
@@ -36,7 +36,7 @@ msgstr ""
"\n"
"Zmenšené na {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, fuzzy, c-format
msgid ""
"\n"
@@ -45,7 +45,7 @@ msgstr ""
"\n"
"Pomer strán displeja %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, fuzzy, c++-format
msgid ""
"\n"
@@ -54,7 +54,7 @@ msgstr ""
"\n"
"Vyplnené Äiernou, aby sa zmestil do kontajnera {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, fuzzy, c++-format
msgid ""
"\n"
@@ -63,7 +63,7 @@ msgstr ""
"\n"
"Zmenšené na {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr ""
@@ -93,7 +93,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr ""
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, fuzzy, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", pomer strán obrazových bodov %.2f:1"
@@ -169,7 +169,7 @@ msgstr ""
msgid "3D denoiser"
msgstr "3D denoiser"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -207,7 +207,7 @@ msgid ""
"donate €10</a></ul><p>Thank you!</font>"
msgstr ""
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -230,7 +230,7 @@ msgstr ""
msgid "Advertisement"
msgstr "Reklama"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -238,7 +238,7 @@ msgid ""
"tab."
msgstr ""
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -260,54 +260,54 @@ msgstr "Analyzovať zvuk"
msgid "Analysing subtitles"
msgstr "Hľadám titulky"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr ""
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr ""
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
msgstr ""
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
msgstr ""
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
msgstr ""
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -655,7 +655,7 @@ msgstr "Aby sa spojil obsah, musí používať rovnaký titulkový stream."
msgid "Content to be joined must use the same text language."
msgstr "Aby sa spojil obsah, musí používať rovnaké písma."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Video je {}x{}"
@@ -799,7 +799,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML titulky"
@@ -808,7 +808,12 @@ msgstr "DCP XML titulky"
msgid "DCP sample rate"
msgstr "Snímacia frekvencia obsahu"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP bude používať každý druhý frame obsahu \n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP bude bežať na %.1f%% obsahu videa.\n"
@@ -898,11 +903,11 @@ msgstr "SÅ¥ahovanie zlyhalo ({}/{} chyba {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Každý frame bude zdvojený v DCP.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Každý frame bude opakovaný {} krát v DCP.\n"
@@ -951,12 +956,12 @@ msgstr "Chyba: {}"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Hľadám titulky"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr ""
@@ -970,7 +975,7 @@ msgstr "VypoÄítavam obsah"
msgid "Examining subtitles"
msgstr "Hľadám titulky"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
#, fuzzy
msgid "Examining subtitles and closed captions"
msgstr "Hľadám titulky"
@@ -1133,18 +1138,18 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
"the SMPTE standard in the \"DCP\" tab."
msgstr ""
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1188,7 +1193,7 @@ msgstr "Left rear surround (Ľavý zadný priestorový)"
msgid "Left surround"
msgstr "Left surround (Ľavý zadný)"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr ""
@@ -1374,7 +1379,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1493,7 +1498,7 @@ msgstr ""
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1558,7 +1563,7 @@ msgstr "Short (Krátky film)"
msgid "Sign"
msgstr ""
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr ""
@@ -1592,21 +1597,21 @@ msgid ""
"need to check their settings."
msgstr ""
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
"has no spoken parts."
msgstr ""
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1627,7 +1632,7 @@ msgstr ""
msgid "Some of your content needs an OV"
msgstr ""
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1693,7 +1698,7 @@ msgstr "Reťaz certifikátov pre podpisovanie je neplatná"
msgid "The certificate chain for signing is invalid ({})"
msgstr "Reťaz certifikátov pre podpisovanie je neplatná"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1703,7 +1708,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1749,7 +1754,7 @@ msgstr ""
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr ""
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1763,7 +1768,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1785,12 +1790,12 @@ msgstr ""
"Zostáva málo pamäte. Ak je váš operaÄný system 32-bitový, skúste znížiÅ¥ "
"poÄet enkódovacích threadov v záložke VÅ¡eobecné, v nastaveniach."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -1978,7 +1983,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Len Äalší deinterlacing filter"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -1986,7 +1991,7 @@ msgid ""
"to {} fps."
msgstr ""
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -1994,19 +1999,19 @@ msgid ""
"rate to {} fps."
msgstr ""
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
msgstr ""
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
msgstr ""
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2020,19 +2025,19 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr ""
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
msgstr ""
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2044,7 +2049,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Musíte pridať obsah do DCP pred tým, ako ho vytvoríte"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2053,7 +2058,7 @@ msgid ""
"silence."
msgstr ""
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2061,13 +2066,13 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
msgstr ""
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2093,7 +2098,7 @@ msgstr "[presúvam obrázky]"
msgid "[still]"
msgstr "[stále]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[titulky]"
@@ -2109,7 +2114,7 @@ msgstr ""
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "spojenie vypršalo"
@@ -2165,22 +2170,22 @@ msgstr "nemôžem ÄítaÅ¥ zo súboru {} ({})"
msgid "could not write to file {} ({})"
msgstr "nemôžem zapisovať do súboru {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "chyba poÄas async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "chyba poÄas async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "chyba poÄas async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "chyba poÄas async_write ({})"
@@ -2309,7 +2314,7 @@ msgstr "stále"
msgid "unknown"
msgstr "neznáme"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "video snímky"
diff --git a/src/lib/po/sl_SI.po b/src/lib/po/sl_SI.po
index c1d1c418f..7c7801f47 100644
--- a/src/lib/po/sl_SI.po
+++ b/src/lib/po/sl_SI.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2024-02-10 16:15+0100\n"
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
"Language-Team: \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.1\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -26,7 +26,7 @@ msgstr ""
"\n"
"Hitrost vsebine v sliÄicah %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -35,7 +35,7 @@ msgstr ""
"\n"
"Obrezano na {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -44,7 +44,7 @@ msgstr ""
"\n"
"Prikazano razmerje stranic %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -53,7 +53,7 @@ msgstr ""
"\n"
"Obdano s Ärnino, da se prilega vsebniku {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -62,7 +62,7 @@ msgstr ""
"\n"
"Velikost spremenjena na {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -102,7 +102,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", razmerje stranic slikovne toÄke %.2f:1"
@@ -175,7 +175,7 @@ msgstr "2,39 (široki/scope)"
msgid "3D denoiser"
msgstr "3D-razšumnik"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -227,7 +227,7 @@ msgstr ""
"donirajte €20</a></li><li><a href=\"https://dcpomatic.com/donate_amount?"
"amount=10\">Pojdite na PayPal in donirajte 10 €</a></li></ul><p>Hvala!"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -256,7 +256,7 @@ msgstr "ARIB STD-B67 (»Hibridna log-gama«)"
msgid "Advertisement"
msgstr "Oglas"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -268,7 +268,7 @@ msgstr ""
"zgoraj in spodaj v ravnem prikazu (1,85:1, Flat). Vsebnik DCP-ja bi morda "
"raje nastavili na ukrivljeni format (2,39:1, Scope) na zavihku »DCP«."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -292,24 +292,24 @@ msgstr "Analiziranje zvoka"
msgid "Analysing subtitles"
msgstr "Analiziranje podnaslovov"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr "Vsaj ena oznaka sledi po koncu projekta in bo prezrta."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Vsaj ena od datotek z zaprtimi napisi je veÄja od "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "Vsaj en del datotek XML zaprtih napisov je veÄji od "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Vsaj ena od datotek podnaslovov je veÄja od "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -317,7 +317,7 @@ msgstr ""
"Vsaj ena od vrstic podnaslovov ima veÄ kot 52 znakov. PriporoÄljivo je, da "
"ima vsaka vrstica najveÄ 52 znakov."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -325,7 +325,7 @@ msgstr ""
"Vsaj ena od vrstic podnaslovov ima veÄ kot 79 znakov. PriporoÄljivo je, da "
"ima vsaka vrstica najveÄ 79 znakov."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -333,7 +333,7 @@ msgstr ""
"Vsaj eden od vaÅ¡ih podnaslovov ima veÄ kot 3 vrstice. PriporoÄljivo je "
"uporabiti najveÄ 3 vrstice."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -341,7 +341,7 @@ msgstr ""
"Vsaj en vaÅ¡ podnaslov traja manj kot 15 sliÄic. PriporoÄljivo je, da vsak "
"podnaslov dolg vsaj 15 sliÄic."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -349,7 +349,7 @@ msgstr ""
"Vsaj eden od vaÅ¡ih podnaslovov se zaÄne manj kot 2 sliÄici po prejÅ¡njem. "
"PriporoÄljivo je, da je vrzel med podnaslovi vsaj 2 sliÄici."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -699,7 +699,7 @@ msgstr "Vsebina, ki jo želite združiti, mora uporabljati isti tok podnaslovov.
msgid "Content to be joined must use the same text language."
msgstr "Vsebina, ki jo želite združiti, mora uporabljati isti jezik besedila."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Video vsebine je {}x{}"
@@ -840,7 +840,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "Podnaslovi DCP XML"
@@ -848,7 +848,12 @@ msgstr "Podnaslovi DCP XML"
msgid "DCP sample rate"
msgstr "Mera vzorÄenja DCP"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP bo uporabil vsako drugo sliÄico vsebine.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP bo predvajan pri %.1f%% hitrosti vsebine.\n"
@@ -937,11 +942,11 @@ msgstr "Prenos ni uspel ({} napaka {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Vsaka sliÄica vsebine bo podvojena v DCP.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Vsaka sliÄice vsebine bo v DCP {}-krat ponovljena1.\n"
@@ -990,11 +995,11 @@ msgstr " Napaka: {}"
msgid "Event"
msgstr "Dogodek"
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr "PreuÄevanje zvoka"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "PreuÄevanje zvoka, podnaslovov in zaprtih napisov"
@@ -1006,7 +1011,7 @@ msgstr "PreuÄevanje vsebine"
msgid "Examining subtitles"
msgstr "PreuÄevanje podnaslovov"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "PreuÄevanje podnaslovov in zaprtih napisov"
@@ -1159,11 +1164,11 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr "ÄŒe uporabljate 25 sl/s, morate spremeniti standard DCP v SMPTE."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
@@ -1173,7 +1178,7 @@ msgstr ""
"poseben razlog za uporabo Interop. Svetujemo, da vaš DCP uporablja standard "
"SMPTE, kar doloÄite na zavihku »DCP«."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1219,7 +1224,7 @@ msgstr "Levo, zadaj, okolica"
msgid "Left surround"
msgstr "Levo, okolica"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Dolžina"
@@ -1410,7 +1415,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1527,7 +1532,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1594,7 +1599,7 @@ msgstr "Kratki film"
msgid "Sign"
msgstr "Sign"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Velikost"
@@ -1641,7 +1646,7 @@ msgstr ""
"Te datoteke bodo zdaj ponovno pregledane, zato boste morda morali preveriti "
"njihove nastavitve."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1649,7 +1654,7 @@ msgid ""
msgstr ""
"Nekateri vaši zaprti napisi segajo presegajo {} vrstic, zato bodo odrezani."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1659,7 +1664,7 @@ msgstr ""
"PriporoÄljivo je nastaviti jezik zvoÄnega zapisa na zavihku »DCP«, razen Äe "
"vaÅ¡ zvoÄni zapis nima govorjenih delov."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1680,7 +1685,7 @@ msgstr "Nekatere vaše vsebine potrebujejo KDM"
msgid "Some of your content needs an OV"
msgstr "Nekatere vaše vsebine potrebujejo OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1745,7 +1750,7 @@ msgstr "Veriga potrdil za podpisovanje ni veljavna"
msgid "The certificate chain for signing is invalid ({})"
msgstr "Veriga potrdil za podpisovanje ni veljavna ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, fuzzy, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1760,7 +1765,7 @@ msgstr ""
"verigo potrdil za podpisovanje s klikom gumba »Ponovno izdelaj potrdila in "
"kljuÄ â€¦Â« na strani KljuÄi v Nastavitvah."
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, fuzzy, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1814,7 +1819,7 @@ msgstr "Datoteka {} je bila obrezana za {} milisekund manj."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Datoteka {} je bila obrezana za {} milisekund veÄ."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1833,7 +1838,7 @@ msgstr ""
"preveriti vse podnaslove v svojem projektu, da se prepriÄate, da so umeÅ¡Äeni "
"na želeno mesto."
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1861,13 +1866,13 @@ msgstr ""
"sistem, poskusite zmanjšati število niti šifriranja na zavihku Splošno v "
"Nastavitvah."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, fuzzy, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
"Ta KDM je bil izdelan za DCP-o-matic, vendar ne za njegovo listno potrdilo."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, fuzzy, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "Ta KDM ni bil narejen za potrdilo za dešifriranje DCP-o-matic."
@@ -2059,7 +2064,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Å e en filter za razpletanje"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2070,7 +2075,7 @@ msgstr ""
"podpirajo vsi projektorji. Svetujemo vam, da spremenite hitrost predvajanja "
"DCP na {} sl/s."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2081,7 +2086,7 @@ msgstr ""
"podpirajo vsi projektorji. Morda boste želeli razmisliti o spremembi "
"hitrosti sliÄic na {} sl/s."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2089,7 +2094,7 @@ msgstr ""
"Nastavljeno imate za hitrost sliÄic DCP 30 sl/s, ki je ne podpirajo vsi "
"projektorji. Zavedajte se, da imate morda težave z združljivostjo."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2097,7 +2102,7 @@ msgstr ""
"Uporabljate 3D-vsebino, vendar je vaš DCP nastavljen na 2D. Nastavite DCP "
"na 3D, Äe ga želite predvajati na 3D-sistemu (npr. Real-D, MasterImage itn.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, fuzzy, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2117,7 +2122,7 @@ msgstr ""
"Imate veÄ kot en kos vsebine Atmos, in nimajo enake hitrosti sliÄic. "
"Odstraniti morate nekaj vsebine Atmos."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2125,7 +2130,7 @@ msgstr ""
"Imate prekrivanje zaprtih napisov, ki niso dovoljeni v DCP-jih Interop. "
"Spremenite standard DCP v SMPTE."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2133,7 +2138,7 @@ msgstr ""
"DoloÄili ste datoteko pisave, ki je veÄja od 640 kB. To bo najverjetneje "
"povzroÄilo težave pri predvajanju."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2146,7 +2151,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Preden jo ustvarite, morate DCP-ju dodati nekaj vsebin"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, fuzzy, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2159,7 +2164,7 @@ msgstr ""
"pomembno, ali ima vaša vsebina manj kanalov, saj bo DCP-o-matic dodatne "
"napolnil s tišino."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2170,7 +2175,7 @@ msgstr ""
"distributerji pri preverjanju kakovosti vaÅ¡ega DCP sporoÄijo napake. ÄŒe se "
"želite temu izogniti, nastavite Å¡tevilo zvoÄnih kanalov DCP na 8 ali 16."
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2179,7 +2184,7 @@ msgstr ""
"nekaterih projektorjih. ÄŒe je mogoÄe, uporabite plosko (flat) ali Å¡iroko "
"(scope) za razmerje vsebnika DCP."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2210,7 +2215,7 @@ msgstr "[gibljive slike]"
msgid "[still]"
msgstr "[fotografija]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[podnaslovi]"
@@ -2226,7 +2231,7 @@ msgstr "_reel{}"
msgid "bits"
msgstr "bitov"
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "povezava je potekla"
@@ -2282,22 +2287,22 @@ msgstr "ni mogoÄe brati iz datoteke {} ({})"
msgid "could not write to file {} ({})"
msgstr "ni mogoÄe pisati v datoteko {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "napaka med async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "napaka med async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "napaka med async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "napaka med async_write ({})"
@@ -2432,7 +2437,7 @@ msgstr "fotografija"
msgid "unknown"
msgstr "neznano"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "video sliÄice"
diff --git a/src/lib/po/sv_SE.po b/src/lib/po/sv_SE.po
index 2798482d7..91c46db76 100644
--- a/src/lib/po/sv_SE.po
+++ b/src/lib/po/sv_SE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2021-12-28 14:46+0100\n"
"Last-Translator: Mattias Mattsson <vitplister@gmail.com>\n"
"Language-Team: \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.3\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -26,7 +26,7 @@ msgstr ""
"\n"
"Källmaterialets bildhastighet är %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -35,7 +35,7 @@ msgstr ""
"\n"
"Beskuren till {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -44,7 +44,7 @@ msgstr ""
"\n"
"Bildformat %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -53,7 +53,7 @@ msgstr ""
"\n"
"Svarta kanter tillagda för att passa {}-behållaren ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -62,7 +62,7 @@ msgstr ""
"\n"
"Skalat till {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -102,7 +102,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", pixlarnas höjd/bredd-förhållande %.2f:1"
@@ -176,7 +176,7 @@ msgstr "2,39 (Scope)"
msgid "3D denoiser"
msgstr "3D brusreducering"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -228,7 +228,7 @@ msgstr ""
"via Paypal</a><li><a href=\"https://dcpomatic.com/donate_amount?"
"amount=10\">Ge 10 EUR via Paypal</a></ul><p>Stort tack!"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -257,7 +257,7 @@ msgstr "ARIB STD-B67 ('Hybrid log-gamma')"
msgid "Advertisement"
msgstr "Advertisement"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -269,7 +269,7 @@ msgstr ""
"upp- och nertill inuti en 1,85:1-ruta. Rekommenderat är att istället välja "
"DCP-behållare Scope (2.39:1) på \"DCP\"-fliken."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -293,26 +293,26 @@ msgstr "Analyserar ljud"
msgid "Analysing subtitles"
msgstr "Analyserar undertexter"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
"Ã…tminstone en markering kommer efter slutet av projektet och kommer att "
"ignoreras."
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "Åtminstone en av dina undertextfiler är större än "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "Åtminstone en av dina undertextfilers XML-del är större än "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "Åtminstone en av dina undertextfiler är större än "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
@@ -320,7 +320,7 @@ msgstr ""
"Åtminstone en av dina rader i undertexten är längre än 52 bokstaver. Det är "
"lämpligt att se till att varje rad är max 52 bokstäver låg."
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
@@ -328,7 +328,7 @@ msgstr ""
"Åtminstone en av dina rader i undertexten är längre än 79 bokstaver. Det är "
"lämpligt att se till att varje rad är max 79 bokstäver låg."
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
@@ -336,7 +336,7 @@ msgstr ""
"Åtminstone en av dina undertexter innehåller mer än 3 rader. Det är lämpligt "
"att använda max 3 rader."
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
@@ -344,7 +344,7 @@ msgstr ""
"Åtminstone en av dina undertexter är kortare än 15 bildrutor. Det är "
"lämpligt att använda minst 15 bildrutor."
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
@@ -352,7 +352,7 @@ msgstr ""
"Åtminstone en av dina undertexter börjar mindre än 2 bildrutor efter "
"föregående undertext. Det är lämpligt att använda minst 2 bildrutor mellan."
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
#, fuzzy
msgid ""
"At least one piece of subtitle content has no specified language. It is "
@@ -706,7 +706,7 @@ msgstr "Källmaterial som ska sammanfogas måste använda undertext-ström."
msgid "Content to be joined must use the same text language."
msgstr "Källmaterial som ska sammanfogas måste använda samma språk för text."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Källmaterialet är {}x{}"
@@ -847,7 +847,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML-undertexter"
@@ -855,7 +855,12 @@ msgstr "DCP XML-undertexter"
msgid "DCP sample rate"
msgstr "DCP:ns samplingsfrekvens"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP:n kommer använda varannan bild från källmaterialet.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP:n kommer spelas upp i %.1f %% av källmaterialets hastighet.\n"
@@ -944,12 +949,12 @@ msgstr "Nedladdning misslyckades ({} fel {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr ""
"Varje bildruta från källmaterialet kommer användas två gånger i DCP:n.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
@@ -999,12 +1004,12 @@ msgstr "Fel: {}"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Läser undertexter"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "Undersöker ljud och undertexter"
@@ -1016,7 +1021,7 @@ msgstr "Läser källmaterial"
msgid "Examining subtitles"
msgstr "Läser undertexter"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "Undersöker undertexter"
@@ -1172,11 +1177,11 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr "Om 25 fps används bör DCP-standard vara SMPTE."
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
#, fuzzy
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
@@ -1187,7 +1192,7 @@ msgstr ""
"specifikt skäl till att använda Interop. Du bör säkerställa att din DCP "
"använder SMPTE under fliken \"DCP\"."
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1233,7 +1238,7 @@ msgstr "Vänster baksurround"
msgid "Left surround"
msgstr "Vänster surround"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "Speltid"
@@ -1423,7 +1428,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, fuzzy, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1542,7 +1547,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1608,7 +1613,7 @@ msgstr "Short"
msgid "Sign"
msgstr "Tecken"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Upplösning"
@@ -1661,7 +1666,7 @@ msgstr ""
"Dessa filer kommer nu att genomsökas på nytt, deras inställningar kan "
"därefter behöva kontrolleras."
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
@@ -1670,7 +1675,7 @@ msgstr ""
"Några av dina dolda undertext-block har fler än {} rader. De överskjutande "
"raderna kommer förmodligen klippas bort."
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1679,7 +1684,7 @@ msgstr ""
"Innehållet har ljudspår, men inget språk är angivit. Det rekommenderas att "
"sätta ljudspårets språk i \"DCP\"-fliken."
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1701,7 +1706,7 @@ msgstr "En del av ditt källmaterial behöver en KDM"
msgid "Some of your content needs an OV"
msgstr "En del av ditt källmaterial behöver en OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1767,7 +1772,7 @@ msgstr "Certifikatkedjan för att signera är ogiltig"
msgid "The certificate chain for signing is invalid ({})"
msgstr "Certifikatkedjan för att signera är ogiltig ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1777,7 +1782,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1826,7 +1831,7 @@ msgstr "Filen {} har trimmats med {} millisekunder mindre."
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Filen {} har trimmats med {} millisekunder mer."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1840,7 +1845,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
#, fuzzy
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
@@ -1869,12 +1874,12 @@ msgstr ""
"operativsystem, försök att minska antalet kodnings-trådar i Allmänt-fliken "
"under Inställningar."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, fuzzy, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr "Denna KDM är skapad för DCP-o-matic men inte för dess löv-certifikat."
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, fuzzy, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "Denna KDM är inte gjord för DCP-o-matics dekrypterings-certifikat."
@@ -2067,7 +2072,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Yet Another Deinterlacing Filter"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2077,7 +2082,7 @@ msgstr ""
"Vald bildhastighet är {} fps. Denna bildhastighet stöds inte av all "
"uppspelningsutrustning. Rekommenderat är att ändra bildhastighet till {} fps."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2087,7 +2092,7 @@ msgstr ""
"Vald bildhastighet är {} fps. Denna bildhastighet stöds inte av all "
"uppspelningsutrustning. Överväg att ändra bildhastighet till {} fps."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
@@ -2095,7 +2100,7 @@ msgstr ""
"Vald bildhastighet är 30 fps. Denna bildhastighet stöds inte av all "
"uppspelningsutrustning. Problem vid uppspelning kan förekomma."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2104,7 +2109,7 @@ msgstr ""
"för 3D om du vill spela upp den med 3D-utrustning (t.ex. Real-D, MasterImage "
"etc.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, fuzzy, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2124,7 +2129,7 @@ msgstr ""
"Du har mer än en Atmos-del i innehållet, och de har inte samma "
"bildhastighet. Du måste ta bort någon/några Atmos-delar."
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2132,7 +2137,7 @@ msgstr ""
"Du har överlappande dolda undertextspår. Detta är inte tillåtet för Interop-"
"DCP:er. Ändra DCP-standard till SMPTE."
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2140,7 +2145,7 @@ msgstr ""
"Du använder en typsnittsfil som är större än 640kB. Risken är stor att detta "
"leder till problem vid uppspelning."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2153,7 +2158,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Du måste lägga till källmaterial till DCP:n innan du skapar den"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, fuzzy, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2166,7 +2171,7 @@ msgstr ""
"ditt innehåll har färre kanaler, DCP-o-matic fyller i de extra kanalerna med "
"tystnad."
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2174,7 +2179,7 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2183,7 +2188,7 @@ msgstr ""
"uppspelning på en del utrustning. Använd Flat eller Scope som bildformat om "
"möjligt."
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2213,7 +2218,7 @@ msgstr "[bildsekvens]"
msgid "[still]"
msgstr "[stillbild]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[undertexter]"
@@ -2229,7 +2234,7 @@ msgstr "_akt{}"
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "uppkopplingen tog för lång tid"
@@ -2285,22 +2290,22 @@ msgstr "kunde inte läsa från fil {} ({})"
msgid "could not write to file {} ({})"
msgstr "kunde inte skriva till fil {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "fel vid async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "fel vid async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "fel vid async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "fel vid async_write ({})"
@@ -2432,7 +2437,7 @@ msgstr "stillbild"
msgid "unknown"
msgstr "okänd"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "bildrutor"
diff --git a/src/lib/po/tr_TR.po b/src/lib/po/tr_TR.po
index 82705cdda..845004e7a 100644
--- a/src/lib/po/tr_TR.po
+++ b/src/lib/po/tr_TR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,42 +17,42 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
"Content frame rate %.4f\n"
msgstr ""
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
"Cropped to {}x{}"
msgstr ""
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
"Display aspect ratio %.2f:1"
msgstr ""
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
"Padded with black to fit container {} ({}x{})"
msgstr ""
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
"Scaled to {}x{}"
msgstr ""
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr ""
@@ -82,7 +82,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr ""
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ""
@@ -155,7 +155,7 @@ msgstr ""
msgid "3D denoiser"
msgstr ""
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -193,7 +193,7 @@ msgid ""
"donate €10</a></ul><p>Thank you!</font>"
msgstr ""
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -216,7 +216,7 @@ msgstr ""
msgid "Advertisement"
msgstr ""
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -224,7 +224,7 @@ msgid ""
"tab."
msgstr ""
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -244,54 +244,54 @@ msgstr ""
msgid "Analysing subtitles"
msgstr ""
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr ""
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr ""
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
msgstr ""
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
msgstr ""
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
msgstr ""
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -614,7 +614,7 @@ msgstr ""
msgid "Content to be joined must use the same text language."
msgstr ""
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr ""
@@ -750,7 +750,7 @@ msgstr ""
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr ""
@@ -758,7 +758,12 @@ msgstr ""
msgid "DCP sample rate"
msgstr ""
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr ""
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr ""
@@ -835,11 +840,11 @@ msgstr ""
msgid "EC"
msgstr ""
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr ""
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
@@ -888,11 +893,11 @@ msgstr ""
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr ""
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr ""
@@ -904,7 +909,7 @@ msgstr ""
msgid "Examining subtitles"
msgstr ""
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr ""
@@ -1055,18 +1060,18 @@ msgstr ""
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
"the SMPTE standard in the \"DCP\" tab."
msgstr ""
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1110,7 +1115,7 @@ msgstr ""
msgid "Left surround"
msgstr ""
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr ""
@@ -1293,7 +1298,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1409,7 +1414,7 @@ msgstr ""
msgid "SMPTE 240M"
msgstr ""
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1471,7 +1476,7 @@ msgstr ""
msgid "Sign"
msgstr ""
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr ""
@@ -1505,21 +1510,21 @@ msgid ""
"need to check their settings."
msgstr ""
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
"has no spoken parts."
msgstr ""
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1540,7 +1545,7 @@ msgstr ""
msgid "Some of your content needs an OV"
msgstr ""
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1604,7 +1609,7 @@ msgstr ""
msgid "The certificate chain for signing is invalid ({})"
msgstr ""
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1614,7 +1619,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1658,7 +1663,7 @@ msgstr ""
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr ""
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1672,7 +1677,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1692,12 +1697,12 @@ msgid ""
"tab of Preferences."
msgstr ""
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -1875,7 +1880,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr ""
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -1883,7 +1888,7 @@ msgid ""
"to {} fps."
msgstr ""
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -1891,19 +1896,19 @@ msgid ""
"rate to {} fps."
msgstr ""
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
msgstr ""
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
msgstr ""
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -1917,19 +1922,19 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr ""
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
msgstr ""
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -1940,7 +1945,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr ""
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -1949,7 +1954,7 @@ msgid ""
"silence."
msgstr ""
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -1957,13 +1962,13 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
msgstr ""
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -1989,7 +1994,7 @@ msgstr ""
msgid "[still]"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr ""
@@ -2005,7 +2010,7 @@ msgstr ""
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr ""
@@ -2061,22 +2066,22 @@ msgstr ""
msgid "could not write to file {} ({})"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, c++-format
msgid "error during async_connect: ({})"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr ""
@@ -2199,7 +2204,7 @@ msgstr ""
msgid "unknown"
msgstr ""
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr ""
diff --git a/src/lib/po/uk_UA.po b/src/lib/po/uk_UA.po
index 1f27c9866..edf359d66 100644
--- a/src/lib/po/uk_UA.po
+++ b/src/lib/po/uk_UA.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
"PO-Revision-Date: 2018-08-20 19:32+0300\n"
"Last-Translator: Igor Voytovich <i.voyt@dualvfilms.com>\n"
"Language-Team: УкраїнÑька\n"
@@ -15,7 +15,7 @@ msgstr ""
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -24,7 +24,7 @@ msgstr ""
"\n"
"ЧаÑтота кадрів контенту %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -33,7 +33,7 @@ msgstr ""
"\n"
"Розмір при кадруванні: {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -42,7 +42,7 @@ msgstr ""
"\n"
"Ð¡Ð¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñторін контенту %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -51,7 +51,7 @@ msgstr ""
"\n"
"Заповнено чорним Ð´Ð»Ñ Ð¿Ñ–Ð´Ð³Ð¾Ð½ÐºÐ¸ контейнера {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -60,7 +60,7 @@ msgstr ""
"\n"
"Розмір при маÑштабуванні: {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -100,7 +100,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", ÑÐ¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñторін пікÑелей %.2f:1"
@@ -174,7 +174,7 @@ msgstr "2.39 (Scope)"
msgid "3D denoiser"
msgstr "ÐŸÑ€Ð¸Ð´ÑƒÑˆÐµÐ½Ð½Ñ ÑˆÑƒÐ¼Ñƒ 3D"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -212,7 +212,7 @@ msgid ""
"donate €10</a></ul><p>Thank you!</font>"
msgstr ""
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
#, fuzzy
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
@@ -239,7 +239,7 @@ msgstr "ARIB STD-B67 ('Hybrid log-gamma')"
msgid "Advertisement"
msgstr "ADV (Реклама)"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -250,7 +250,7 @@ msgstr ""
"означає, що у кадрі зверху та знизу вашого контенту будуть чорні облаÑті. Ви "
"можете змінити формат кадра вашого DCP на SCOPE (2.39:1) на вкладці \"DCP\"."
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
#, fuzzy
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
@@ -277,54 +277,54 @@ msgstr "Ðналіз аудіо"
msgid "Analysing subtitles"
msgstr "Пошук Ñубтитрів"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr ""
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr ""
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr ""
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr ""
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
msgstr ""
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
msgstr ""
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
msgstr ""
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
msgstr ""
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -674,7 +674,7 @@ msgstr "Ð”Ð»Ñ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ½Ñ‚Ñƒ необхідно вико
msgid "Content to be joined must use the same text language."
msgstr "Ð”Ð»Ñ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ½Ñ‚Ñƒ має бути такий Ñамий шрифт."
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "Розмір контенту: {}x{}"
@@ -816,7 +816,7 @@ msgstr "DBP"
msgid "DCP (via {})"
msgstr ""
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML Ñубтитри"
@@ -824,7 +824,12 @@ msgstr "DCP XML Ñубтитри"
msgid "DCP sample rate"
msgstr "ЧаÑтота кадрів DCP"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, fuzzy, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP буде викориÑтовувати кажний другий кадр контенту.\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP буде програватиÑÑ Ð½Ð° %.1f%% від швидкоÑті контенту.\n"
@@ -914,11 +919,11 @@ msgstr "Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ ({}/{} помилка {})"
msgid "EC"
msgstr "C"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Кожний кадр контенту буде задвоено у DCP-пакеті.\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "Кожний кадр контенту буде повторений {} раз у DCP-пакеті.\n"
@@ -967,12 +972,12 @@ msgstr "Помилка: ({})"
msgid "Event"
msgstr ""
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
#, fuzzy
msgid "Examining audio"
msgstr "Пошук Ñубтитрів"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr ""
@@ -986,7 +991,7 @@ msgstr "Перевірка контенту"
msgid "Examining subtitles"
msgstr "Пошук Ñубтитрів"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
#, fuzzy
msgid "Examining subtitles and closed captions"
msgstr "Пошук Ñубтитрів"
@@ -1144,18 +1149,18 @@ msgstr "IEC61966-2-4"
msgid "IN"
msgstr ""
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
"the SMPTE standard in the \"DCP\" tab."
msgstr ""
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1199,7 +1204,7 @@ msgstr "Лівий тиловий surround"
msgid "Left surround"
msgstr "Лівий surround"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "ТриваліÑть"
@@ -1388,7 +1393,7 @@ msgstr ""
msgid "P3 DCI (~6300K)"
msgstr ""
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1505,7 +1510,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1568,7 +1573,7 @@ msgstr "SHR (Короткометражний фільм)"
msgid "Sign"
msgstr ""
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "Розмір"
@@ -1602,21 +1607,21 @@ msgid ""
"need to check their settings."
msgstr ""
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
"has no spoken parts."
msgstr ""
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1638,7 +1643,7 @@ msgstr "ЧаÑтина вашого контенту потребує KDM"
msgid "Some of your content needs an OV"
msgstr "ЧаÑть вашего контента требует OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1704,7 +1709,7 @@ msgstr "Ланцюг Ñертифікатів Ð´Ð»Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу невірн
msgid "The certificate chain for signing is invalid ({})"
msgstr "Ланцюг Ñертифікатів Ð´Ð»Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу невірний ({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1714,7 +1719,7 @@ msgid ""
"Preferences."
msgstr ""
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1760,7 +1765,7 @@ msgstr "Файл {} був обрізаний на {} міліÑекунд меÐ
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "Файл {} був обрізаний на {} міліÑекунд більше."
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1774,7 +1779,7 @@ msgid ""
"project to make sure that they are placed where you want them."
msgstr ""
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
#, fuzzy
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
@@ -1803,12 +1808,12 @@ msgstr ""
"Ñпробуйте зменшити кількіÑть потоків ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ \"ÐалаштуваннÑÑ…\" у вкладці "
"\"ОÑновні\"."
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
@@ -1998,7 +2003,7 @@ msgstr ""
msgid "Yet Another Deinterlacing Filter"
msgstr "Ще один фільтр деінтерлейÑинга"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2008,7 +2013,7 @@ msgstr ""
"Ви обрали Ð´Ð»Ñ Interop DCP чаÑтоту кадрів, Ñка офіційно не підтримуєтьÑÑ. "
"Радимо змінити чаÑтоту кадрів вашого DCP або заміÑть цього зробити SMPTE DCP."
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, fuzzy, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2018,7 +2023,7 @@ msgstr ""
"Ви обрали Ð´Ð»Ñ Interop DCP чаÑтоту кадрів, Ñка офіційно не підтримуєтьÑÑ. "
"Радимо змінити чаÑтоту кадрів вашого DCP або заміÑть цього зробити SMPTE DCP."
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
#, fuzzy
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
@@ -2027,7 +2032,7 @@ msgstr ""
"Ви обрали Ð´Ð»Ñ Interop DCP чаÑтоту кадрів, Ñка офіційно не підтримуєтьÑÑ. "
"Радимо змінити чаÑтоту кадрів вашого DCP або заміÑть цього зробити SMPTE DCP."
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2036,7 +2041,7 @@ msgstr ""
"3D, Ñкщо хочете відтворити його на 3D-ÑиÑтемі (напр. Real-D, MasterImage Ñ– "
"т.п.)"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, fuzzy, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2054,13 +2059,13 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr ""
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
msgstr ""
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2068,7 +2073,7 @@ msgstr ""
"Ð’Ñ‹ вибрали шрифт, розмір Ñкого більше 640 кБ. ВиÑока вірогідніÑть, що це "
"викликає проблеми при відтворенні."
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2081,7 +2086,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "Вам необхідно додати контент в DCP перед його ÑтвореннÑм"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2090,7 +2095,7 @@ msgid ""
"silence."
msgstr ""
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2098,7 +2103,7 @@ msgid ""
"set the DCP audio channels to 8 or 16."
msgstr ""
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
#, fuzzy
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
@@ -2108,7 +2113,7 @@ msgstr ""
"призвеÑти к проблемам на деÑких проекторах. Якщо можливо, викориÑтовуйте "
"ÑÐ¿Ñ–Ð²Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñторін Flat або Scope Ð´Ð»Ñ DCP"
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2140,7 +2145,7 @@ msgstr "[поÑлідовніÑть]"
msgid "[still]"
msgstr "[Ñтатичний]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[Ñубтитри]"
@@ -2156,7 +2161,7 @@ msgstr ""
msgid "bits"
msgstr ""
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "таймаут з'єднаннÑ"
@@ -2212,22 +2217,22 @@ msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ з файла {} ({})"
msgid "could not write to file {} ({})"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати в файл {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "помилка під Ñ‡Ð°Ñ async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, fuzzy, c++-format
msgid "error during async_connect: ({})"
msgstr "помилка під Ñ‡Ð°Ñ async_connect ({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "помилка під Ñ‡Ð°Ñ async_read ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "помилка під Ñ‡Ð°Ñ async_write ({})"
@@ -2358,7 +2363,7 @@ msgstr "Ñтатичний"
msgid "unknown"
msgstr "невідомо"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "відеокадри"
diff --git a/src/lib/po/zh_CN.po b/src/lib/po/zh_CN.po
index 5ae79a70f..db2ab4731 100644
--- a/src/lib/po/zh_CN.po
+++ b/src/lib/po/zh_CN.po
@@ -12,19 +12,19 @@ msgid ""
msgstr ""
"Project-Id-Version: LIBDCPOMATIC\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-22 22:52+0100\n"
-"PO-Revision-Date: 2025-10-05 13:31+0800\n"
+"POT-Creation-Date: 2026-04-19 23:03+0200\n"
+"PO-Revision-Date: 2026-05-17 10:45+0800\n"
"Last-Translator: Dian Li <xslidian@gmail.com>\n"
-"Language-Team: Chinese Simplified (Rov8 branch)\n"
+"Language-Team: Chinese Simplified (Hanyuan branch)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 3.7\n"
+"X-Generator: Poedit 3.9\n"
"X-Poedit-SourceCharset: UTF-8\n"
-#: src/lib/video_content.cc:513
+#: src/lib/video_content.cc:515
#, c-format
msgid ""
"\n"
@@ -33,7 +33,7 @@ msgstr ""
"\n"
"æºè§†é¢‘帧率 %.4f\n"
-#: src/lib/video_content.cc:477
+#: src/lib/video_content.cc:479
#, c++-format
msgid ""
"\n"
@@ -42,7 +42,7 @@ msgstr ""
"\n"
"è£å‰ªä¸º {}x{}"
-#: src/lib/video_content.cc:467
+#: src/lib/video_content.cc:469
#, c-format
msgid ""
"\n"
@@ -51,7 +51,7 @@ msgstr ""
"\n"
"显示宽高比 %.2f:1"
-#: src/lib/video_content.cc:501
+#: src/lib/video_content.cc:503
#, c++-format
msgid ""
"\n"
@@ -60,7 +60,7 @@ msgstr ""
"\n"
"填充为黑色,以适应打包宽高比 {} ({}x{})"
-#: src/lib/video_content.cc:491
+#: src/lib/video_content.cc:493
#, c++-format
msgid ""
"\n"
@@ -69,7 +69,7 @@ msgstr ""
"\n"
"缩放到 {}x{}"
-#: src/lib/video_content.cc:495 src/lib/video_content.cc:506
+#: src/lib/video_content.cc:497 src/lib/video_content.cc:508
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
@@ -109,7 +109,7 @@ msgstr ""
msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$任务åç§°: $JOB_STATUS"
-#: src/lib/video_content.cc:462
+#: src/lib/video_content.cc:464
#, c-format
msgid ", pixel aspect ratio %.2f:1"
msgstr ", åƒç´ å®½é«˜æ¯” %.2f:1"
@@ -182,7 +182,7 @@ msgstr "2.39 (宽幅)"
msgid "3D denoiser"
msgstr "3D é™å™ª"
-#: src/lib/hints.cc:219
+#: src/lib/hints.cc:222
msgid ""
"4K 3D is only supported by a very limited number of projectors. Unless you "
"know that you will play this DCP back on a capable projector, it is "
@@ -207,7 +207,7 @@ msgid "; {} remaining; finishing at {}{}"
msgstr "; 剩余 {} ; 完æˆäºŽ {}{}"
#: src/lib/analytics.cc:58
-#, fuzzy, c++-format
+#, c++-format
msgid ""
"<h2>You have made {} DCPs with {}!</h2><img width=\"150\" height=\"193\" "
"src=\"memory:me.jpg\" align=\"center\"><font size=\"+1\"><p>Hello. I'm Carl "
@@ -231,7 +231,7 @@ msgstr ""
"href=\"https://dcpomatic.com/donate_amount?amount=10\">去Paypalææ¬¾10欧元</"
"a></ul><p>谢谢您ï¼</font>"
-#: src/lib/hints.cc:176
+#: src/lib/hints.cc:179
msgid ""
"A few projectors have problems playing back very high bit-rate DCPs. It is "
"a good idea to drop the video bit rate down to about 200Mbit/s; this is "
@@ -258,7 +258,7 @@ msgstr "ARIB STD-B67 (“HLG†HDR)"
msgid "Advertisement"
msgstr "广告片"
-#: src/lib/hints.cc:153
+#: src/lib/hints.cc:156
msgid ""
"All of your content is in Scope (2.39:1) but your DCP's container is Flat "
"(1.85:1). This will letter-box your content inside a Flat (1.85:1) frame. "
@@ -268,7 +268,7 @@ msgstr ""
"您添加的媒体画é¢å®½é«˜æ¯”为2.39:1,但是DCP容器设置为1.85:1的模å¼ã€‚这将会使您的画"
"é¢åœ¨æ”¾æ˜ æ—¶å­˜åœ¨ä¸Šä¸‹é»‘边。建议把DCP容器设置为2.39:1的模å¼ã€‚"
-#: src/lib/hints.cc:157
+#: src/lib/hints.cc:160
msgid ""
"All of your content narrower than 1.90:1 but your DCP's container is Scope "
"(2.39:1). This will pillar-box your content. You may prefer to set your "
@@ -290,55 +290,55 @@ msgstr "分æžéŸ³é¢‘中"
msgid "Analysing subtitles"
msgstr "分æžå­—幕中"
-#: src/lib/hints.cc:384
+#: src/lib/hints.cc:379
msgid ""
"At least one marker comes after the end of the project and will be ignored."
msgstr "至少有一个标记出现在项目结æŸåŽï¼Œå°†è¢«å¿½ç•¥ã€‚"
-#: src/lib/hints.cc:523
+#: src/lib/hints.cc:526
msgid "At least one of your closed caption files is larger than "
msgstr "至少有一个éšè—字幕文件过大了 "
-#: src/lib/hints.cc:516
+#: src/lib/hints.cc:520
msgid "At least one of your closed caption files' XML part is larger than "
msgstr "至少有一个éšè—å¼å­—幕文件的XML部分过大了 "
-#: src/lib/hints.cc:531
+#: src/lib/hints.cc:532
msgid "At least one of your subtitle files is larger than "
msgstr "至少有一个字幕文件过大了 "
-#: src/lib/hints.cc:495
+#: src/lib/hints.cc:490
msgid ""
"At least one of your subtitle lines has more than 52 characters. It is "
"recommended to make each line 52 characters at most in length."
msgstr "至少有一行字幕超过52个字符, 建议æ¯è¡Œæœ€å¤š52个字符。"
-#: src/lib/hints.cc:497
+#: src/lib/hints.cc:492
msgid ""
"At least one of your subtitle lines has more than 79 characters. You should "
"make each line 79 characters at most in length."
msgstr "至少有一行字幕超过79个字符, 你应该让æ¯è¡Œæœ€å¤š79个字符。"
-#: src/lib/hints.cc:664
+#: src/lib/hints.cc:681
msgid ""
"At least one of your subtitles has more than 3 lines. It is advisable to "
"use no more than 3 lines."
msgstr "您的字幕中至少有一个超过3行, 建议使用ä¸è¶…过3行。"
-#: src/lib/hints.cc:631
+#: src/lib/hints.cc:648
msgid ""
"At least one of your subtitles lasts less than 15 frames. It is advisable "
"to make each subtitle at least 15 frames long."
msgstr "您的字幕中至少有一个æŒç»­æ—¶é—´å°‘于15帧, 建议æ¯ä¸ªå­—幕至少15帧长。"
-#: src/lib/hints.cc:636
+#: src/lib/hints.cc:653
msgid ""
"At least one of your subtitles starts less than 2 frames after the previous "
"one. It is advisable to make the gap between subtitles at least 2 frames."
msgstr ""
"至少有一个字幕在å‰ä¸€ä¸ªå­—幕åŽä¸åˆ°2帧开始, 建议字幕之间的间隔至少为2帧。"
-#: src/lib/hints.cc:707
+#: src/lib/hints.cc:724
msgid ""
"At least one piece of subtitle content has no specified language. It is "
"advisable to set the language for each piece of subtitle content in the "
@@ -429,7 +429,7 @@ msgstr "中置"
#: src/lib/exceptions.cc:196
#, c++-format
msgid "CPL {} not found"
-msgstr ""
+msgstr "未找到CPL {}"
#: src/lib/job.cc:657
msgid "Cancelled"
@@ -461,6 +461,8 @@ msgid ""
"Check the server settings in the TMS tab of preferences, or un-tick \"Upload "
"DCP to TMS after creation\" if you do not want to upload your DCP."
msgstr ""
+"在首选项的TMS页é¢ä¸­æ£€æŸ¥æœåŠ¡å™¨è®¾ç½®ï¼Œæˆ–è€…æ‚¨ä¸æƒ³è¦ä¸Šä¼ DCPçš„è¯ï¼Œåˆ™å–消选中“制作"
+"DCPåŽä¸Šä¼ åˆ°TMS)å¤é€‰æ¡†"
#: src/lib/transcode_job.cc:106
msgid "Check their new settings, then try again."
@@ -663,7 +665,7 @@ msgstr "添加的内容字幕æµå¿…须相åŒã€‚"
msgid "Content to be joined must use the same text language."
msgstr "添加的内容必须有相åŒçš„æ–‡å­—语言。"
-#: src/lib/video_content.cc:453
+#: src/lib/video_content.cc:455
#, c++-format
msgid "Content video is {}x{}"
msgstr "æºè§†é¢‘分辨率是 {}x{}"
@@ -682,9 +684,8 @@ msgid "Copying DCPs to {}"
msgstr "å¤åˆ¶DCP到 {}"
#: src/lib/reel_writer.cc:194
-#, fuzzy
msgid "Copying existing asset"
-msgstr "æ£€æŸ¥çŽ°æœ‰çš„å›¾åƒæ•°æ®"
+msgstr "正在拷è´å·²ç»å­˜åœ¨çš„资产"
#: src/lib/copy_to_drive_job.cc:58
#, c++-format
@@ -802,7 +803,7 @@ msgstr "DCP"
msgid "DCP (via {})"
msgstr "DCP (via {})"
-#: src/lib/dcp_subtitle_content.cc:139
+#: src/lib/dcp_subtitle_content.cc:138
msgid "DCP XML subtitles"
msgstr "DCP XML字幕"
@@ -810,7 +811,12 @@ msgstr "DCP XML字幕"
msgid "DCP sample rate"
msgstr "DCP 采样率"
-#: src/lib/frame_rate_change.cc:101
+#: src/lib/frame_rate_change.cc:93
+#, c++-format
+msgid "DCP will contain 1 out of every {} frames of the content.\n"
+msgstr "DCP 将包å«å†…å®¹ä¸­æ¯ {} 帧中的 1 帧。\n"
+
+#: src/lib/frame_rate_change.cc:103
#, c-format
msgid "DCP will run at %.1f%% of the content speed.\n"
msgstr "DCP队列将在速度 %.1f%% 下è¿è¡Œã€‚\n"
@@ -899,15 +905,14 @@ msgstr "下载失败 ({} error {})"
#. TRANSLATORS: this is an abbreviation for "end credits", shown next to the pair of markers
#. "FFEC" and "LFEC" ({First, Last} Frame of End Credits)
#: src/lib/layout_markers.cc:145
-#, fuzzy
msgid "EC"
-msgstr "中置"
+msgstr "片尾字幕"
-#: src/lib/frame_rate_change.cc:93
+#: src/lib/frame_rate_change.cc:95
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "该DCP中æ¯ä¸€å¸§å°†å¤åˆ¶ä¸ºä¸¤å¸§ã€‚\n"
-#: src/lib/frame_rate_change.cc:95
+#: src/lib/frame_rate_change.cc:97
#, c++-format
msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr "æ¯ä¸ªå†…容帧将在DCP中é‡å¤{}次。\n"
@@ -956,11 +961,11 @@ msgstr "错误: ({})"
msgid "Event"
msgstr "事件"
-#: src/lib/hints.cc:415
+#: src/lib/hints.cc:410
msgid "Examining audio"
msgstr "正在检查音频"
-#: src/lib/hints.cc:417
+#: src/lib/hints.cc:412
msgid "Examining audio, subtitles and closed captions"
msgstr "检查音频ã€å­—幕和éšè—å¼å­—幕中"
@@ -972,7 +977,7 @@ msgstr "分æžå†…容中"
msgid "Examining subtitles"
msgstr "定ä½å­—幕中"
-#: src/lib/hints.cc:413
+#: src/lib/hints.cc:408
msgid "Examining subtitles and closed captions"
msgstr "检查字幕和éšè—å¼å­—幕中"
@@ -1123,13 +1128,13 @@ msgstr "IEC61966-2-4"
#. "FFOI" and "LFOI" ({First, Last} Frame of Intermission)
#: src/lib/layout_markers.cc:142
msgid "IN"
-msgstr ""
+msgstr "幕间休æ¯"
-#: src/lib/hints.cc:195
+#: src/lib/hints.cc:198
msgid "If you do use 25fps you should change your DCP standard to SMPTE."
msgstr "如果您选择使用25fps,那就必须把DCP标准选线设置为SMPTE。"
-#: src/lib/hints.cc:258
+#: src/lib/hints.cc:261
msgid ""
"In general it is now advisable to make SMPTE DCPs unless you have a "
"particular reason to use Interop. It is advisable to set your DCP to use "
@@ -1138,7 +1143,7 @@ msgstr ""
"一般æ¥è¯´ï¼ŒçŽ°åœ¨å»ºè®®åˆ¶ä½œSMPTE DCPï¼Œé™¤éžæ‚¨æœ‰ç‰¹æ®Šçš„ç†ç”±ä½¿ç”¨Interop。建议在“DCPâ€é€‰"
"项å¡ä¸­å°†DCP设置为使用SMPTE标准。"
-#: src/lib/hints.cc:624
+#: src/lib/hints.cc:641
msgid ""
"It is advisable to put your first subtitle at least 4 seconds after the "
"start of the DCP to make sure it is seen."
@@ -1182,7 +1187,7 @@ msgstr "å·¦åŽçŽ¯ç»•"
msgid "Left surround"
msgstr "左环绕"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "Length"
msgstr "长度"
@@ -1226,9 +1231,8 @@ msgstr "左环绕"
#. TRANSLATORS: this is an abbreviation for "moving credits", shown next to the pair of markers
#. "FFMC" and "LFMC" ({First, Last} Frame of Moving Credits)
#: src/lib/layout_markers.cc:148
-#, fuzzy
msgid "MC"
-msgstr "中置"
+msgstr "滚动字幕"
#: src/lib/mid_side_decoder.cc:39
msgid "Mid-side decoder"
@@ -1274,12 +1278,11 @@ msgstr "动æ€éš”行补å¿"
#: src/lib/dcp_content.cc:212
msgid "No ASSETMAP or ASSETMAP.xml file found: is this a DCP?"
-msgstr ""
+msgstr "未找到ASSETMAP或ASSETMAP.xml文件,这是一个DCPå—?"
#: src/lib/dcp_examiner.cc:115
-#, fuzzy
msgid "No CPLs found in DCP"
-msgstr "DCP中没有找到CPL文件。"
+msgstr "DCP中没有找到CPL文件"
#: src/lib/dcp_decoder.cc:114
msgid "No CPLs found in DCP."
@@ -1357,17 +1360,17 @@ msgstr "å°æ³¢é™å™ª"
#: src/lib/colour_conversion.cc:293
msgid "P3 D60 (~6000K)"
-msgstr ""
+msgstr "P3 D60 (~6000K)"
#: src/lib/colour_conversion.cc:292
msgid "P3 D65 (~6500K)"
-msgstr ""
+msgstr "P3 D65 (~6500K)"
#: src/lib/colour_conversion.cc:291
msgid "P3 DCI (~6300K)"
-msgstr ""
+msgstr "P3 DCI (~6300K)"
-#: src/lib/util.cc:1131
+#: src/lib/util.cc:1111
#, c++-format
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
@@ -1407,9 +1410,8 @@ msgstr "å³å£°é“"
#. TRANSLATORS: this is an abbreviation for "ratings band", shown next to the pair of markers
#. "FFOB" and "LFOB" ({First, Last} Frame of Band)
#: src/lib/layout_markers.cc:136
-#, fuzzy
msgid "RB"
-msgstr "å³å£°é“"
+msgstr "评级"
#: src/lib/ffmpeg_content.cc:644
msgid "RGB / sRGB (IEC61966-2-1)"
@@ -1484,7 +1486,7 @@ msgstr "SMPTE 2085, Y'D'zD'x"
msgid "SMPTE 240M"
msgstr "SMPTE 240M"
-#: src/lib/hints.cc:689
+#: src/lib/hints.cc:706
msgid ""
"SMPTE DCPs with the type FTR (feature) should have markers for the first "
"frame of end credits (FFEC) and the first frame of moving credits (FFMC). "
@@ -1498,9 +1500,8 @@ msgid "SMPTE ST 2084 for 10, 12, 14 and 16 bit systems"
msgstr "SMPTE ST 2084 10, 12, 14和16 bit"
#: src/lib/ffmpeg_content.cc:660
-#, fuzzy
msgid "SMPTE ST 2128, IPT-C2"
-msgstr "SMPTE ST 428-1"
+msgstr "SMPTE ST 2128, IPT-C2"
#: src/lib/ffmpeg_content.cc:636
msgid "SMPTE ST 428-1"
@@ -1549,7 +1550,7 @@ msgstr "短片"
msgid "Sign"
msgstr "ç­¾å"
-#: src/lib/video_content.cc:528
+#: src/lib/video_content.cc:530
msgid "Size"
msgstr "大å°"
@@ -1584,23 +1585,21 @@ msgstr ""
"è¿™äº›æ–‡ä»¶çŽ°åœ¨å°†è¢«é‡æ–°æ£€æŸ¥ï¼Œå› æ­¤æ‚¨å¯èƒ½éœ€è¦æ£€æŸ¥å®ƒä»¬çš„设置。"
#: src/lib/check_content_job.cc:94
-#, fuzzy
msgid ""
"Some files must be re-examined due to a bug fix in DCP-o-matic. You may "
"need to check their settings."
msgstr ""
-"有些文件在添加到项目åŽå‘生了更改\n"
-"\n"
-"è¿™äº›æ–‡ä»¶çŽ°åœ¨å°†è¢«é‡æ–°æ£€æŸ¥ï¼Œå› æ­¤æ‚¨å¯èƒ½éœ€è¦æ£€æŸ¥å®ƒä»¬çš„设置。"
+"由于 DCP-o-matic ä¸­çš„ä¸€ä¸ªæ¼æ´žä¿®å¤ï¼ŒæŸäº›æ–‡ä»¶å¿…须釿–°æ£€æŸ¥ã€‚您å¯èƒ½éœ€è¦æ£€æŸ¥å®ƒä»¬çš„"
+"设置。"
-#: src/lib/hints.cc:605
+#: src/lib/hints.cc:622
#, c++-format
msgid ""
"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr "您的æŸäº›éšè—字幕跨度超过{}行,因此它将被截断,å¯èƒ½æ˜¾ç¤ºä¸å®Œæ•´ã€‚"
-#: src/lib/hints.cc:727
+#: src/lib/hints.cc:744
msgid ""
"Some of your content has audio but you have not set the audio language. It "
"is advisable to set the audio language in the \"DCP\" tab unless your audio "
@@ -1609,7 +1608,7 @@ msgstr ""
"您的æŸäº›å†…容有音频,但您尚未设置音频语言。建议在“DCPâ€é€‰é¡¹å¡è®¾ç½®éŸ³é¢‘语言,除éž"
"您的音频没有说è¯éƒ¨åˆ†ã€‚"
-#: src/lib/hints.cc:798
+#: src/lib/hints.cc:815
msgid ""
"Some of your content is encrypted, and some not. Though some distributors "
"(e.g. Netflix) require subtitles not to be encrypted (even if picture and "
@@ -1617,6 +1616,9 @@ msgid ""
"in doubt, set everything (picture, sound and text) to be either encrypted or "
"not."
msgstr ""
+"ä½ çš„ä¸€äº›å†…å®¹æ˜¯åŠ å¯†çš„ï¼Œè€Œæœ‰äº›åˆ™ä¸æ˜¯ã€‚虽然一些分销商(例如 Netflixï¼‰è¦æ±‚字幕ä¸"
+"能加密(å³ä½¿ç”»é¢å’Œå£°éŸ³å¯ä»¥åŠ å¯†ï¼‰ï¼Œä½†å…¶ä»–åˆ†é”€å•†ä¼šå¯¹ç”±æ­¤é¡¹ç›®ç”Ÿæˆçš„ DCP 标记错"
+"误。如果ä¸ç¡®å®šï¼Œè¯·å°†æ‰€æœ‰å†…容(画é¢ã€å£°éŸ³å’Œæ–‡å­—)设置为加密或ä¸åŠ å¯†ã€‚"
#: src/lib/make_dcp.cc:69
msgid "Some of your content is missing"
@@ -1630,7 +1632,7 @@ msgstr "一些内容需è¦KDM密钥"
msgid "Some of your content needs an OV"
msgstr "一些内容需è¦OV"
-#: src/lib/hints.cc:781
+#: src/lib/hints.cc:798
#, c++-format
msgid ""
"Some of your video content contains an alpha channel, and {} cannot be "
@@ -1665,9 +1667,8 @@ msgstr "星期日"
#. TRANSLATORS: this is an abbreviation for "title credits", shown next to the pair of markers
#. "FFTC" and "LFTC" ({First, Last} Frame of Title Credits)
#: src/lib/layout_markers.cc:139
-#, fuzzy
msgid "TC"
-msgstr "中置"
+msgstr "标题字幕"
#: src/lib/dcp_content_type.cc:60
msgid "Teaser"
@@ -1698,7 +1699,7 @@ msgstr "è¯ä¹¦ç­¾å无效"
msgid "The certificate chain for signing is invalid ({})"
msgstr "è¯ä¹¦ç­¾å无效({})"
-#: src/lib/hints.cc:744
+#: src/lib/hints.cc:761
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs contains a "
@@ -1711,7 +1712,7 @@ msgstr ""
"议通过å•击“首选项â€çš„“密钥â€é¡µé¢ä¸­çš„â€œé‡æ–°åˆ¶ä½œè¯ä¹¦å’Œå¯†é’¥â€¦â€æŒ‰é’®æ¥é‡æ–°åˆ›å»ºç­¾åè¯ä¹¦"
"链。"
-#: src/lib/hints.cc:752
+#: src/lib/hints.cc:769
#, c++-format
msgid ""
"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
@@ -1760,7 +1761,7 @@ msgstr "文件 {} 被缩短了 {} 毫秒。"
msgid "The file {} has been trimmed by {} milliseconds more."
msgstr "文件 {} 被延长了 {} 毫秒。"
-#: src/lib/hints.cc:267
+#: src/lib/hints.cc:270
msgid ""
"The vast majority of cinemas in Europe, Australasia and North America expect "
"DCPs encoded with JPEG2000 rather than MPEG2. Make sure that your cinema "
@@ -1778,7 +1779,7 @@ msgstr ""
"现在版本中的字幕的垂直å移控制与以å‰ç‰ˆæœ¬ä¸­çš„æ–¹å‘相å。您应该检查项目中的所有"
"字幕,以确ä¿å®ƒä»¬æ”¾ç½®åœ¨æ‚¨æƒ³è¦çš„ä½ç½®ã€‚"
-#: src/lib/hints.cc:248
+#: src/lib/hints.cc:251
msgid ""
"There is a large difference between the frame rate of your DCP and that of "
"some of your content. This will cause your audio to play back at a much "
@@ -1801,12 +1802,12 @@ msgid ""
"tab of Preferences."
msgstr "内存ä¸è¶³ï¼Œå¦‚您是32ä½ç³»ç»Ÿï¼Œè¯·é‡æ–°è®¾ç½®è¿è¡Œçº¿ç¨‹æ•°é‡æ¥è¾¾åˆ°ç¨³å®šè¿è¡Œã€‚"
-#: src/lib/util.cc:981
+#: src/lib/util.cc:961
#, c++-format
msgid "This KDM was made for {} but not for its leaf certificate."
msgstr "KDM是为 {}生æˆï¼Œä½†ä¸æ˜¯ä¸ºå®ƒçš„å¶å­è¯ä¹¦ç”Ÿæˆã€‚"
-#: src/lib/util.cc:979
+#: src/lib/util.cc:959
#, c++-format
msgid "This KDM was not made for {}'s decryption certificate."
msgstr "KDM䏿˜¯ä¸º {} 解密è¯ä¹¦è€Œç”Ÿæˆã€‚"
@@ -1982,17 +1983,17 @@ msgstr "YCOCG"
#: src/lib/ffmpeg_content.cc:661
msgid "YCgCo-R, even addition"
-msgstr ""
+msgstr "YCgCo-Rï¼Œå¶æ•°å åŠ ç¼–ç "
#: src/lib/ffmpeg_content.cc:662
msgid "YCgCo-R, odd addition"
-msgstr ""
+msgstr "YCgCo-R,奇数å åŠ ç¼–ç "
#: src/lib/filter.cc:98
msgid "Yet Another Deinterlacing Filter"
msgstr "åéš”è¡Œæ‰«ææ»¤é•œ"
-#: src/lib/hints.cc:208
+#: src/lib/hints.cc:211
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2002,7 +2003,7 @@ msgstr ""
"您设置DCP的帧率为 {} fpsçš„DCPã€‚å¹¶éžæ‰€æœ‰æ”¾æ˜ è®¾å¤‡éƒ½æ”¯æŒæ­¤å¸§çŽ‡ã€‚å»ºè®®æ‚¨å°†DCP帧率"
"更改为 {} fps。"
-#: src/lib/hints.cc:192
+#: src/lib/hints.cc:195
#, c++-format
msgid ""
"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
@@ -2012,13 +2013,13 @@ msgstr ""
"您设置的帧率为{} fpsçš„DCPã€‚å¹¶éžæ‰€æœ‰æ”¾æ˜ è®¾å¤‡éƒ½æ”¯æŒæ­¤å¸§çŽ‡ã€‚å»ºè®®æ‚¨å°†å¸§çŽ‡æ›´æ”¹ä¸º "
"{} fps。"
-#: src/lib/hints.cc:202
+#: src/lib/hints.cc:205
msgid ""
"You are set up for a DCP frame rate of 30fps, which is not supported by all "
"projectors. Be aware that you may have compatibility problems."
msgstr "您设置的DCP帧速率为30fpsï¼Œè¿™ä¸æ˜¯æ‰€æœ‰æ”¾æ˜ è®¾å¤‡éƒ½æ”¯æŒ ,请注æ„兼容问题。"
-#: src/lib/hints.cc:322
+#: src/lib/hints.cc:325
msgid ""
"You are using 3D content but your DCP is set to 2D. Set the DCP to 3D if "
"you want to play it back on a 3D system (e.g. Real-D, MasterImage etc.)"
@@ -2026,7 +2027,7 @@ msgstr ""
"您添加的内容是3D内容,但您的DCP包设置为2D模å¼ï¼Œå¦‚果您想在3D放映系统(如Real-"
"D, MasterImage等)上播放,请设置到3D模å¼ã€‚"
-#: src/lib/hints.cc:125
+#: src/lib/hints.cc:128
#, c++-format
msgid ""
"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
@@ -2042,7 +2043,7 @@ msgid ""
"frame rate. You must remove some Atmos content."
msgstr "您有多个全景声内容片段,而它们的帧率ä¸åŒã€‚您必须删除一些全景声内容。"
-#: src/lib/hints.cc:612
+#: src/lib/hints.cc:629
msgid ""
"You have overlapping closed captions, which are not allowed in Interop "
"DCPs. Change your DCP standard to SMPTE."
@@ -2050,7 +2051,7 @@ msgstr ""
"您有é‡å çš„éšè—å¼å­—幕,这在 Interop DCP中是ä¸å…许的。请您的DCP标准更改为"
"SMPTE。"
-#: src/lib/hints.cc:290
+#: src/lib/hints.cc:293
msgid ""
"You have specified a font file which is larger than 640kB. This is very "
"likely to cause problems on playback."
@@ -2058,7 +2059,7 @@ msgstr ""
"您添加的字体文件超过了640KB,部分æœåС噍䏿”¯æŒè¶…过640KB大å°çš„字体,å¯èƒ½åœ¨æ’­æ”¾"
"时出现问题。"
-#: src/lib/hints.cc:306
+#: src/lib/hints.cc:309
#, c++-format
msgid ""
"You have {} files that look like they are VOB files from DVD. You should "
@@ -2071,7 +2072,7 @@ msgstr ""
msgid "You must add some content to the DCP before creating it"
msgstr "在创建 DCP 之å‰ï¼Œå¿…é¡»å‘其中添加一些内容"
-#: src/lib/hints.cc:110
+#: src/lib/hints.cc:113
#, c++-format
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
@@ -2082,7 +2083,7 @@ msgstr ""
"您的DCP的音轨少于6个,æŸäº›æ”¾æ˜ è®¾å¤‡å¯èƒ½ä¸æ”¯æŒã€‚但是如果您的内容没有这么多的音"
"轨,您å¯ä»¥è®¾ç½®æˆ6个音轨, {} 将用空白音轨补é½ã€‚"
-#: src/lib/hints.cc:770
+#: src/lib/hints.cc:787
#, c++-format
msgid ""
"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
@@ -2092,7 +2093,7 @@ msgstr ""
"您的DCP具有 {} 个音频通é“ï¼Œè€Œä¸æ˜¯8或16个通é“。这å¯èƒ½å¯¼è‡´ä¸€äº›å‘行商在检查您的 "
"DCP 时出现 QC æŠ¥é”™ã€‚ä¸ºé˜²æ­¢è¿™ç§æƒ…况,建议设置8或16个DCP音频通é“。"
-#: src/lib/hints.cc:167
+#: src/lib/hints.cc:170
msgid ""
"Your DCP uses an unusual container ratio. This may cause problems on some "
"projectors. If possible, use Flat or Scope for the DCP container ratio."
@@ -2100,7 +2101,7 @@ msgstr ""
"您的DCP使用了ä¸å¸¸è§çš„画幅比例,å¯èƒ½å¯¼è‡´éƒ¨åˆ†ç”µå½±æ”¾æ˜ æœºæ— æ³•正常播放,建议改æˆ"
"Flat (1.77/1.78/1.85) 或者Scope (2.35/2.39) 比例。"
-#: src/lib/hints.cc:356
+#: src/lib/hints.cc:359
#, c++-format
msgid ""
"Your audio level is very high (on {}). You should reduce the gain of your "
@@ -2126,7 +2127,7 @@ msgstr "[动æ€å›¾åƒ]"
msgid "[still]"
msgstr "[陿€å›¾åƒ]"
-#: src/lib/dcp_subtitle_content.cc:133 src/lib/fcpxml_content.cc:86
+#: src/lib/dcp_subtitle_content.cc:132 src/lib/fcpxml_content.cc:86
#: src/lib/string_text_file_content.cc:111
msgid "[subtitles]"
msgstr "[字幕]"
@@ -2142,7 +2143,7 @@ msgstr "_å·å·{}"
msgid "bits"
msgstr "ä½"
-#: src/lib/dcpomatic_socket.cc:82 src/lib/dcpomatic_socket.cc:112
+#: src/lib/dcpomatic_socket.cc:86 src/lib/dcpomatic_socket.cc:116
msgid "connect timed out"
msgstr "连接超时"
@@ -2198,22 +2199,22 @@ msgstr "无法从文件 {} 中读å–({})"
msgid "could not write to file {} ({})"
msgstr "ä¸èƒ½å†™å…¥æ–‡ä»¶ {} ({})"
-#: src/lib/dcpomatic_socket.cc:108
+#: src/lib/dcpomatic_socket.cc:112
#, c++-format
msgid "error during async_connect ({})"
msgstr "在async连接时出现错误 ({})"
-#: src/lib/dcpomatic_socket.cc:78
+#: src/lib/dcpomatic_socket.cc:82
#, c++-format
msgid "error during async_connect: ({})"
msgstr "在async连接时出现错误:({})"
-#: src/lib/dcpomatic_socket.cc:200
+#: src/lib/dcpomatic_socket.cc:204
#, c++-format
msgid "error during async_read ({})"
msgstr "在asyncè¯»å–æ—¶å‡ºçŽ°é”™è¯¯ ({})"
-#: src/lib/dcpomatic_socket.cc:159
+#: src/lib/dcpomatic_socket.cc:163
#, c++-format
msgid "error during async_write ({})"
msgstr "在async写入时出现错误 ({})"
@@ -2308,11 +2309,10 @@ msgstr "åå­—"
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
#: src/lib/dcp_content.cc:829
-#, fuzzy
msgid ""
"one of its closed caption reels has a non-zero entry point so it must be re-"
"written."
-msgstr "它的一个éšè—字幕有一个éžé›¶çš„æ—¶é—´ç‚¹ï¼Œå› æ­¤å¿…é¡»é‡å†™ã€‚"
+msgstr "它的一个éšè—字幕巿œ‰ä¸€ä¸ªéžé›¶çš„起始点,因此必须é‡å†™ã€‚"
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
#: src/lib/dcp_content.cc:823
@@ -2338,7 +2338,7 @@ msgstr "陿­¢å›¾åƒ"
msgid "unknown"
msgstr "未知"
-#: src/lib/video_content.cc:526
+#: src/lib/video_content.cc:528
msgid "video frames"
msgstr "视频帧"
diff --git a/src/lib/raw_image_proxy.cc b/src/lib/raw_image_proxy.cc
index 9e819140b..e54163e9e 100644
--- a/src/lib/raw_image_proxy.cc
+++ b/src/lib/raw_image_proxy.cc
@@ -19,6 +19,7 @@
*/
+#include "dcpomatic_assert.h"
#include "raw_image_proxy.h"
#include "image.h"
#include <dcp/util.h>
@@ -47,7 +48,7 @@ using boost::optional;
RawImageProxy::RawImageProxy(shared_ptr<const Image> image)
: _image (image)
{
-
+ DCPOMATIC_ASSERT(image);
}
diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc
index b85b53305..76c1f8124 100644
--- a/src/lib/reel_writer.cc
+++ b/src/lib/reel_writer.cc
@@ -591,6 +591,7 @@ ReelWriter::create_reel_sound(shared_ptr<dcp::Reel> reel, list<ReferencedReelAss
}
+/** @param ensure_closed_captions List of DCPTextTracks that we need to make sure exist in this reel */
void
ReelWriter::create_reel_text(
shared_ptr<dcp::Reel> reel,
@@ -630,17 +631,30 @@ ReelWriter::create_reel_text(
}
}
- for (auto const& i: _closed_caption_assets) {
- auto a = maybe_add_text<dcp::ReelInteropTextAsset, dcp::ReelSMPTETextAsset, dcp::ReelTextAsset>(
- i.second, dcp::TextType::CLOSED_CAPTION, duration, reel, _reel_index, _reel_count, _content_summary, refs, film(), _period, output_dcp, _text_only
+ for (auto iter = ensure_closed_captions.begin(); iter != ensure_closed_captions.end(); ) {
+ /* Find any asset we wrote for this track */
+ auto written_asset = _closed_caption_assets.find(*iter);
+
+ /* Try to make a reel asset out of either written_asset or one of the referenced assets */
+ auto asset = maybe_add_text<dcp::ReelInteropTextAsset, dcp::ReelSMPTETextAsset, dcp::ReelTextAsset>(
+ written_asset == _closed_caption_assets.end() ? shared_ptr<dcp::TextAsset>() : written_asset->second,
+ dcp::TextType::CLOSED_CAPTION, duration, reel, _reel_index, _reel_count, _content_summary, refs, film(), _period, output_dcp, _text_only
);
- DCPOMATIC_ASSERT(a);
- a->set_annotation_text(i.first.name);
- if (i.first.language) {
- a->set_language(i.first.language.get());
+
+ /* Fill in some details for the reel asset if we know them */
+ if (asset && written_asset != _closed_caption_assets.end()) {
+ asset->set_annotation_text(written_asset->first.name);
+ if (written_asset->first.language) {
+ asset->set_language(written_asset->first.language.get());
+ }
}
- ensure_closed_captions.erase(i.first);
+ if (asset) {
+ /* We made a reel asset for this track, so we don't need to worry about it any more */
+ iter = ensure_closed_captions.erase(iter);
+ } else {
+ ++iter;
+ }
}
/* Make empty tracks for anything we've been asked to ensure but that we haven't added */
diff --git a/src/lib/subtitle_sync_packet_queue.cc b/src/lib/subtitle_sync_packet_queue.cc
new file mode 100644
index 000000000..6a96924df
--- /dev/null
+++ b/src/lib/subtitle_sync_packet_queue.cc
@@ -0,0 +1,99 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "dcpomatic_log.h"
+#include "subtitle_sync_packet_queue.h"
+extern "C" {
+#include <libavcodec/packet.h>
+#include <libavutil/avutil.h>
+}
+#include <iostream>
+
+
+using boost::optional;
+
+
+void
+SubtitleSyncPacketQueue::add(AVPacket* packet, Type type)
+{
+ switch (type) {
+ case Type::VIDEO:
+ ++_num_video;
+ _other.push_back({packet, type});
+ break;
+ case Type::AUDIO:
+ _other.push_back({packet, type});
+ break;
+ case Type::DROP:
+ _other.push_back({PacketInfo(packet), type});
+ av_packet_free(&packet);
+ break;
+ case Type::SUBTITLE:
+ _subtitle.push_back(packet);
+ break;
+ }
+}
+
+
+optional<std::pair<PacketQueue::Packet, PacketQueue::Type>>
+SubtitleSyncPacketQueue::get(bool flushing)
+{
+ if (!_subtitle.empty()) {
+ /* Any subtitle packets we have get returned first */
+ auto packet = _subtitle.front();
+ _subtitle.pop_front();
+ return std::make_pair(Packet(packet), Type::SUBTITLE);
+ }
+
+ if (_other.size() > 4096) {
+ LOG_WARNING("SubtitleSyncPacketQueue is getting large: {} (_num_video={})", _other.size(), _num_video);
+ }
+
+ if ((!flushing && _num_video < 48 && _other.size() < 8192) || _other.empty()) {
+ /* We haven't queued up enough video yet, or we don't have anything */
+ return boost::none;
+ }
+
+ auto packet = _other.front();
+ if (packet.second == Type::VIDEO) {
+ --_num_video;
+ }
+ _other.pop_front();
+ return packet;
+}
+
+
+void
+SubtitleSyncPacketQueue::clear()
+{
+ for (auto i: _other) {
+ if (auto packet = boost::get<AVPacket*>(&i.first)) {
+ av_packet_free(packet);
+ }
+ }
+ for (auto i: _subtitle) {
+ av_packet_free(&i);
+ }
+ _other.clear();
+ _subtitle.clear();
+ _num_video = 0;
+}
+
diff --git a/src/lib/subtitle_sync_packet_queue.h b/src/lib/subtitle_sync_packet_queue.h
new file mode 100644
index 000000000..203b99bf2
--- /dev/null
+++ b/src/lib/subtitle_sync_packet_queue.h
@@ -0,0 +1,62 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+/** @file src/lib/subtitle_sync_packet_queue.h
+ * @brief SubtitleSyncPacketQueue class.
+ */
+
+
+#include "packet_queue.h"
+#include <boost/variant.hpp>
+#include <cstdint>
+#include <deque>
+
+struct AVPacket;
+
+
+/** @class PacketQueue
+ * @brief A queue of FFmpeg packets, used to re-order them so that
+ * subtitles do not arrive too late.
+ */
+class SubtitleSyncPacketQueue : public PacketQueue
+{
+public:
+ /** Add a packet to the queue. Does not ref the packet; we expect
+ * the packet to be freed when it comes out of get() (or by clear()).
+ */
+ void add(AVPacket* packet, Type type) override;
+
+ /** Get the next packet to process.
+ * @param flushing should be true if we are flushing at the end of a decode.
+ * When this is true the queue will be emptied without trying to re-order it.
+ * Returns boost::none when there are no more packets to get.
+ */
+ boost::optional<std::pair<Packet, Type>> get(bool flushing) override;
+
+ /** Clear the queue. Packets will be freed. */
+ void clear() override;
+
+private:
+ int _num_video = 0;
+ std::deque<AVPacket*> _subtitle;
+ std::deque<std::pair<Packet, Type>> _other;
+};
+
diff --git a/src/lib/util.cc b/src/lib/util.cc
index 1f5bec22c..60b93a0c4 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -171,7 +171,7 @@ time_to_hmsf(DCPTime time, Frame rate)
m -= h * 60;
char buffer[64];
- snprintf(buffer, sizeof(buffer), "%02d:%02d:%02d.%02d", h, m, s, static_cast<int>(f));
+ snprintf(buffer, sizeof(buffer), "%02d:%02d:%02d:%02d", h, m, s, static_cast<int>(f));
return buffer;
}
diff --git a/src/lib/wscript b/src/lib/wscript
index 8e4b4d783..c97e892fc 100644
--- a/src/lib/wscript
+++ b/src/lib/wscript
@@ -170,6 +170,8 @@ sources = """
mpeg2_encoder.cc
named_channel.cc
overlaps.cc
+ packet_queue.cc
+ passthrough_packet_queue.cc
pixel_quanta.cc
player.cc
player_video.cc
@@ -208,6 +210,7 @@ sources = """
string_text_file_decoder.cc
subtitle_analysis.cc
subtitle_film_encoder.cc
+ subtitle_sync_packet_queue.cc
territory_type.cc
text_ring_buffers.cc
text_type.cc
@@ -254,8 +257,8 @@ def build(bld):
obj.export_includes = ['..']
obj.uselib = """
AVCODEC AVUTIL AVFORMAT AVFILTER SWSCALE
- BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2 BOOST_REGEX
- SAMPLERATE POSTPROC TIFF SSH DCP CXML GLIB LZMA XML++
+ BOOST_FILESYSTEM BOOST_THREAD BOOST_DATETIME BOOST_SIGNALS2 BOOST_REGEX BOOST_PROCESS
+ SAMPLERATE POSTPROC TIFF SSH DCP CXML GLIB LZMA XMLPP
CURL ZIP BZ2 FONTCONFIG PANGOMM CAIROMM XMLSEC SUB ICU NETTLE PNG JPEG LEQM_NRT
LIBZ SQLITE3
"""
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index 691841bbc..4c1221d60 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -107,6 +107,7 @@ LIBDCP_DISABLE_WARNINGS
#include <wx/cmdline.h>
#include <wx/generic/aboutdlgg.h>
#include <wx/preferences.h>
+#include <wx/progdlg.h>
#include <wx/splash.h>
#include <wx/stdpaths.h>
#include <wx/wxhtml.h>
@@ -153,10 +154,10 @@ using namespace boost::placeholders;
class FilmChangedClosingDialog
{
public:
- explicit FilmChangedClosingDialog (string name)
+ explicit FilmChangedClosingDialog(string name)
: _dialog(
nullptr,
- wxString::Format(_("Save changes to film \"%s\" before closing?"), std_to_wx (name).data()),
+ wxString::Format(_("Save changes to film \"%s\" before closing?"), std_to_wx(name).data()),
/// TRANSLATORS: this is the heading for a dialog box, which tells the user that the current
/// project (Film) has been changed since it was last saved.
_("Film changed"),
@@ -168,7 +169,7 @@ public:
);
}
- int run ()
+ int run()
{
return _dialog.ShowModal();
}
@@ -181,10 +182,10 @@ private:
class FilmChangedDuplicatingDialog
{
public:
- explicit FilmChangedDuplicatingDialog (string name)
+ explicit FilmChangedDuplicatingDialog(string name)
: _dialog(
nullptr,
- wxString::Format(_("Save changes to film \"%s\" before duplicating?"), std_to_wx (name).data()),
+ wxString::Format(_("Save changes to film \"%s\" before duplicating?"), std_to_wx(name).data()),
/// TRANSLATORS: this is the heading for a dialog box, which tells the user that the current
/// project (Film) has been changed since it was last saved.
_("Film changed"),
@@ -196,7 +197,7 @@ public:
);
}
- int run ()
+ int run()
{
return _dialog.ShowModal();
}
@@ -310,8 +311,8 @@ private:
class DOMFrame : public wxFrame
{
public:
- explicit DOMFrame (wxString const& title)
- : wxFrame (nullptr, -1, title)
+ explicit DOMFrame(wxString const& title)
+ : wxFrame(nullptr, -1, title)
/* Use a panel as the only child of the Frame so that we avoid
the dark-grey background on Windows.
*/
@@ -320,11 +321,11 @@ public:
, _film_viewer(_right_panel, false)
{
auto bar = new wxMenuBar;
- setup_menu (bar);
- SetMenuBar (bar);
+ setup_menu(bar);
+ SetMenuBar(bar);
#ifdef DCPOMATIC_WINDOWS
- SetIcon (wxIcon (std_to_wx ("id")));
+ SetIcon(wxIcon(std_to_wx("id")));
#endif
_config_changed_connection = Config::instance()->Changed.connect(boost::bind(&DOMFrame::config_changed, this, _1));
@@ -332,46 +333,46 @@ public:
_analytics_message_connection = Analytics::instance()->Message.connect(boost::bind(&DOMFrame::analytics_message, this, _1, _2));
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_new, this), ID_file_new);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_open, this), ID_file_open);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_save, this), ID_file_save);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_save_as_template, this), ID_file_save_as_template);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_duplicate, this), ID_file_duplicate);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_duplicate_and_open, this), ID_file_duplicate_and_open);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_close, this), ID_file_close);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_history, this, _1), ID_file_history, ID_file_history + HISTORY_SIZE);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::file_exit, this), wxID_EXIT);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::edit_copy, this), ID_edit_copy);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::edit_paste, this), ID_edit_paste);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::edit_select_all, this), ID_edit_select_all);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::edit_preferences, this), wxID_PREFERENCES);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_make_dcp, this), ID_jobs_make_dcp);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_make_kdms, this), ID_jobs_make_kdms);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_make_dkdms, this), ID_jobs_make_dkdms);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_make_dcp_batch, this), ID_jobs_make_dcp_batch);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_make_self_dkdm, this), ID_jobs_make_self_dkdm);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_export_video_file, this), ID_jobs_export_video_file);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_export_subtitles, this), ID_jobs_export_subtitles);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_send_dcp_to_tms, this), ID_jobs_send_dcp_to_tms);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_show_dcp, this), ID_jobs_show_dcp);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::jobs_open_dcp_in_player, this), ID_jobs_open_dcp_in_player);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::view_closed_captions, this), ID_view_closed_captions);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::view_video_waveform, this), ID_view_video_waveform);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_version_file, this), ID_tools_version_file);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_hints, this), ID_tools_hints);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_encoding_servers, this), ID_tools_encoding_servers);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_manage_templates, this), ID_tools_manage_templates);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_check_for_updates, this), ID_tools_check_for_updates);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_system_information, this),ID_tools_system_information);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_restore_default_preferences, this), ID_tools_restore_default_preferences);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_export_preferences, this), ID_tools_export_preferences);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_import_preferences, this), ID_tools_import_preferences);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::help_about, this), wxID_ABOUT);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::help_user_manual, this), ID_help_user_manual);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::help_report_a_problem, this), ID_help_report_a_problem);
-
- Bind (wxEVT_CLOSE_WINDOW, boost::bind (&DOMFrame::close, this, _1));
- Bind (wxEVT_SHOW, boost::bind (&DOMFrame::show, this, _1));
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::file_new, this), ID_file_new);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::file_open, this), ID_file_open);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::file_save, this), ID_file_save);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::file_save_as_template, this), ID_file_save_as_template);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::file_duplicate, this), ID_file_duplicate);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::file_duplicate_and_open, this), ID_file_duplicate_and_open);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::file_close, this), ID_file_close);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::file_history, this, _1), ID_file_history, ID_file_history + HISTORY_SIZE);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::file_exit, this), wxID_EXIT);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::edit_copy, this), ID_edit_copy);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::edit_paste, this), ID_edit_paste);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::edit_select_all, this), ID_edit_select_all);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::edit_preferences, this), wxID_PREFERENCES);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_make_dcp, this), ID_jobs_make_dcp);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_make_kdms, this), ID_jobs_make_kdms);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_make_dkdms, this), ID_jobs_make_dkdms);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_make_dcp_batch, this), ID_jobs_make_dcp_batch);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_make_self_dkdm, this), ID_jobs_make_self_dkdm);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_export_video_file, this), ID_jobs_export_video_file);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_export_subtitles, this), ID_jobs_export_subtitles);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_send_dcp_to_tms, this), ID_jobs_send_dcp_to_tms);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_show_dcp, this), ID_jobs_show_dcp);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::jobs_open_dcp_in_player, this), ID_jobs_open_dcp_in_player);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::view_closed_captions, this), ID_view_closed_captions);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::view_video_waveform, this), ID_view_video_waveform);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::tools_version_file, this), ID_tools_version_file);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::tools_hints, this), ID_tools_hints);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::tools_encoding_servers, this), ID_tools_encoding_servers);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::tools_manage_templates, this), ID_tools_manage_templates);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::tools_check_for_updates, this), ID_tools_check_for_updates);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::tools_system_information, this),ID_tools_system_information);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::tools_restore_default_preferences, this), ID_tools_restore_default_preferences);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::tools_export_preferences, this), ID_tools_export_preferences);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::tools_import_preferences, this), ID_tools_import_preferences);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::help_about, this), wxID_ABOUT);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::help_user_manual, this), ID_help_user_manual);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::help_report_a_problem, this), ID_help_report_a_problem);
+
+ Bind(wxEVT_CLOSE_WINDOW, boost::bind(&DOMFrame::close, this, _1));
+ Bind(wxEVT_SHOW, boost::bind(&DOMFrame::show, this, _1));
auto left_panel = new wxPanel(_splitter, wxID_ANY);
@@ -386,27 +387,27 @@ public:
_controls->set_film(_film_viewer.film());
auto job_manager_view = new JobManagerView(_right_panel, false);
- auto right_sizer = new wxBoxSizer (wxVERTICAL);
+ auto right_sizer = new wxBoxSizer(wxVERTICAL);
right_sizer->Add(_film_viewer.panel(), 2, wxEXPAND | wxALL, 6);
- right_sizer->Add (_controls, 0, wxEXPAND | wxALL, 6);
- right_sizer->Add (job_manager_view, 1, wxEXPAND | wxALL, 6);
+ right_sizer->Add(_controls, 0, wxEXPAND | wxALL, 6);
+ right_sizer->Add(job_manager_view, 1, wxEXPAND | wxALL, 6);
_right_panel->SetSizer(right_sizer);
_splitter->SplitVertically(left_panel, _right_panel, Config::instance()->main_divider_sash_position().get_value_or(left_panel->GetSize().GetWidth() + 8));
- set_menu_sensitivity ();
+ set_menu_sensitivity();
- _film_editor->content_panel()->SelectionChanged.connect (boost::bind (&DOMFrame::set_menu_sensitivity, this));
- set_title ();
+ _film_editor->content_panel()->SelectionChanged.connect(boost::bind(&DOMFrame::set_menu_sensitivity, this));
+ set_title();
JobManager::instance()->ActiveJobsChanged.connect(boost::bind(&DOMFrame::active_jobs_changed, this));
UpdateChecker::instance()->StateChanged.connect(boost::bind(&DOMFrame::update_checker_state_changed, this));
- FocusManager::instance()->SetFocus.connect (boost::bind (&DOMFrame::remove_accelerators, this));
- FocusManager::instance()->KillFocus.connect (boost::bind (&DOMFrame::add_accelerators, this));
- add_accelerators ();
+ FocusManager::instance()->SetFocus.connect(boost::bind(&DOMFrame::remove_accelerators, this));
+ FocusManager::instance()->KillFocus.connect(boost::bind(&DOMFrame::add_accelerators, this));
+ add_accelerators();
}
~DOMFrame()
@@ -415,7 +416,7 @@ public:
_video_waveform_dialog.reset();
}
- void add_accelerators ()
+ void add_accelerators()
{
#ifdef __WXOSX__
int accelerators = 7;
@@ -424,63 +425,63 @@ public:
#endif
std::vector<wxAcceleratorEntry> accel(accelerators);
/* [Shortcut] Ctrl+A:Add file(s) to the film */
- accel[0].Set (wxACCEL_CTRL, static_cast<int>('A'), ID_add_file);
+ accel[0].Set(wxACCEL_CTRL, static_cast<int>('A'), ID_add_file);
/* [Shortcut] Delete:Remove selected content from film */
- accel[1].Set (wxACCEL_NORMAL, WXK_DELETE, ID_remove);
+ accel[1].Set(wxACCEL_NORMAL, WXK_DELETE, ID_remove);
/* [Shortcut] Space:Start/stop playback */
- accel[2].Set (wxACCEL_NORMAL, WXK_SPACE, ID_start_stop);
+ accel[2].Set(wxACCEL_NORMAL, WXK_SPACE, ID_start_stop);
/* [Shortcut] Ctrl+T:Open timeline window */
- accel[3].Set (wxACCEL_CTRL, static_cast<int>('T'), ID_timeline);
+ accel[3].Set(wxACCEL_CTRL, static_cast<int>('T'), ID_timeline);
/* [Shortcut] Left arrow:Move back one frame */
- accel[4].Set (wxACCEL_NORMAL, WXK_LEFT, ID_back_frame);
+ accel[4].Set(wxACCEL_NORMAL, WXK_LEFT, ID_back_frame);
/* [Shortcut] Right arrow:Move forward one frame */
- accel[5].Set (wxACCEL_NORMAL, WXK_RIGHT, ID_forward_frame);
+ accel[5].Set(wxACCEL_NORMAL, WXK_RIGHT, ID_forward_frame);
#ifdef __WXOSX__
- accel[6].Set (wxACCEL_CTRL, static_cast<int>('W'), ID_file_close);
+ accel[6].Set(wxACCEL_CTRL, static_cast<int>('W'), ID_file_close);
#endif
- Bind (wxEVT_MENU, boost::bind (&ContentPanel::add_file_clicked, _film_editor->content_panel()), ID_add_file);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::remove_clicked, this, _1), ID_remove);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::start_stop_pressed, this), ID_start_stop);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::timeline_pressed, this), ID_timeline);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::back_frame, this), ID_back_frame);
- Bind (wxEVT_MENU, boost::bind (&DOMFrame::forward_frame, this), ID_forward_frame);
- wxAcceleratorTable accel_table (accelerators, accel.data());
- SetAcceleratorTable (accel_table);
+ Bind(wxEVT_MENU, boost::bind(&ContentPanel::add_file_clicked, _film_editor->content_panel()), ID_add_file);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::remove_clicked, this, _1), ID_remove);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::start_stop_pressed, this), ID_start_stop);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::timeline_pressed, this), ID_timeline);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::back_frame, this), ID_back_frame);
+ Bind(wxEVT_MENU, boost::bind(&DOMFrame::forward_frame, this), ID_forward_frame);
+ wxAcceleratorTable accel_table(accelerators, accel.data());
+ SetAcceleratorTable(accel_table);
}
- void remove_accelerators ()
+ void remove_accelerators()
{
- SetAcceleratorTable (wxAcceleratorTable ());
+ SetAcceleratorTable(wxAcceleratorTable());
}
- void remove_clicked (wxCommandEvent& ev)
+ void remove_clicked(wxCommandEvent& ev)
{
- if (_film_editor->content_panel()->remove_clicked (true)) {
- ev.Skip ();
+ if (_film_editor->content_panel()->remove_clicked(true)) {
+ ev.Skip();
}
}
/** Make a new film in the given path, using template_name as a template
* (or the default template if it's empty).
*/
- void new_film (boost::filesystem::path path, optional<string> template_name)
+ void new_film(boost::filesystem::path path, optional<string> template_name)
{
auto film = make_shared<Film>(path);
film->use_template(template_name);
- film->set_name (path.filename().generic_string());
- film->write_metadata ();
- set_film (film);
+ film->set_name(path.filename().generic_string());
+ film->write_metadata();
+ set_film(film);
}
- void load_film (boost::filesystem::path file)
+ void load_film(boost::filesystem::path file)
try
{
auto film = make_shared<Film>(file);
- auto const notes = film->read_metadata ();
+ auto const notes = film->read_metadata();
film->read_ui_state();
if (film->state_version() == 4) {
- error_dialog (
+ error_dialog(
0,
_("This film was created with an old version of DVD-o-matic and may not load correctly "
"in this version. Please check the film's settings carefully.")
@@ -488,53 +489,53 @@ public:
}
for (auto i: notes) {
- error_dialog (0, std_to_wx(i));
+ error_dialog(0, std_to_wx(i));
}
- set_film (film);
+ set_film(film);
JobManager::instance()->add(make_shared<CheckContentJob>(film));
}
catch (FileNotFoundError& e) {
auto const dir = e.file().parent_path();
if (dcp::filesystem::exists(dir / "ASSETMAP") || dcp::filesystem::exists(dir / "ASSETMAP.xml")) {
- error_dialog (
+ error_dialog(
this, variant::wx::insert_dcpomatic(_("Could not open this folder as a %s project.")),
variant::wx::insert_dcpomatic(
_("It looks like you are trying to open a DCP. File -> Open is for loading %s projects, not DCPs. "
"To import a DCP, create a new project with File -> New and then click the \"Add DCP...\" button."))
);
} else {
- auto const p = std_to_wx(file.string ());
- error_dialog (this, wxString::Format(_("Could not open film at %s"), p.data()), std_to_wx(e.what()));
+ auto const p = std_to_wx(file.string());
+ error_dialog(this, wxString::Format(_("Could not open film at %s"), p.data()), std_to_wx(e.what()));
}
} catch (std::exception& e) {
- auto const p = std_to_wx (file.string());
- error_dialog (this, wxString::Format(_("Could not open film at %s"), p.data()), std_to_wx(e.what()));
+ auto const p = std_to_wx(file.string());
+ error_dialog(this, wxString::Format(_("Could not open film at %s"), p.data()), std_to_wx(e.what()));
}
- void set_film (shared_ptr<Film> film)
+ void set_film(shared_ptr<Film> film)
{
_film = film;
_film_viewer.set_film(_film);
_film_editor->set_film(_film);
- _controls->set_film (_film);
+ _controls->set_film(_film);
_video_waveform_dialog.reset();
- set_menu_sensitivity ();
+ set_menu_sensitivity();
if (_film && _film->directory()) {
- Config::instance()->add_to_history (_film->directory().get());
+ Config::instance()->add_to_history(_film->directory().get());
}
if (_film) {
- _film->Change.connect (boost::bind (&DOMFrame::film_change, this, _1));
- _film->Message.connect (boost::bind(&DOMFrame::film_message, this, _1));
- _film->DirtyChange.connect (boost::bind(&DOMFrame::set_title, this));
- dcpomatic_log = _film->log ();
+ _film->Change.connect(boost::bind(&DOMFrame::film_change, this, _1));
+ _film->Message.connect(boost::bind(&DOMFrame::film_message, this, _1));
+ _film->DirtyChange.connect(boost::bind(&DOMFrame::set_title, this));
+ dcpomatic_log = _film->log();
}
- set_title ();
+ set_title();
}
- shared_ptr<Film> film () const {
+ shared_ptr<Film> film() const {
return _film;
}
@@ -543,7 +544,7 @@ private:
void show (wxShowEvent& ev)
{
if (ev.IsShown() && !_first_shown_called) {
- _film_editor->first_shown ();
+ _film_editor->first_shown();
_first_shown_called = true;
#ifdef DCPOMATIC_WORKAROUND_MUTTER
signal_manager->when_idle([this]() { Maximize(); });
@@ -551,19 +552,19 @@ private:
}
}
- void film_message (string m)
+ void film_message(string m)
{
- message_dialog (this, std_to_wx(m));
+ message_dialog(this, std_to_wx(m));
}
- void film_change (ChangeType type)
+ void film_change(ChangeType type)
{
if (type == ChangeType::DONE) {
- set_menu_sensitivity ();
+ set_menu_sensitivity();
}
}
- void file_new ()
+ void file_new()
{
FilmNameLocationDialog dialog(this, _("New Film"), true);
int const r = dialog.ShowModal();
@@ -587,23 +588,23 @@ private:
wxString message = _("Could not create folder to store film.");
message += char_to_wx(" ");
if (!found_bad_chars.empty()) {
- message += wxString::Format (_("Try removing the %s characters from your folder name."), std_to_wx(found_bad_chars).data());
+ message += wxString::Format(_("Try removing the %s characters from your folder name."), std_to_wx(found_bad_chars).data());
} else {
message += variant::wx::insert_dcpomatic(_("Please check that you do not have Windows controlled folder access enabled for %s."));
}
- error_dialog (this, message, std_to_wx(e.what()));
+ error_dialog(this, message, std_to_wx(e.what()));
#else
- error_dialog (this, _("Could not create folder to store film."), std_to_wx(e.what()));
+ error_dialog(this, _("Could not create folder to store film."), std_to_wx(e.what()));
#endif
}
}
- void file_open ()
+ void file_open()
{
wxDirDialog dialog(
this,
_("Select film to open"),
- std_to_wx (Config::instance()->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir())).string ()),
+ std_to_wx(Config::instance()->default_directory_or(wx_to_std(wxStandardPaths::Get().GetDocumentsDir())).string()),
wxDEFAULT_DIALOG_STYLE | wxDD_DIR_MUST_EXIST
);
@@ -611,7 +612,7 @@ private:
while (true) {
r = dialog.ShowModal();
if (r == wxID_OK && dialog.GetPath() == wxStandardPaths::Get().GetDocumentsDir()) {
- error_dialog (this, _("You did not select a folder. Make sure that you select a folder before clicking Open."));
+ error_dialog(this, _("You did not select a folder. Make sure that you select a folder before clicking Open."));
} else {
break;
}
@@ -622,16 +623,16 @@ private:
}
}
- void file_save ()
+ void file_save()
{
try {
- _film->write_metadata ();
+ _film->write_metadata();
} catch (exception& e) {
error_dialog(this, _("Could not save project."), std_to_wx(e.what()));
}
}
- void file_save_as_template ()
+ void file_save_as_template()
{
SaveTemplateDialog dialog(this);
if (dialog.ShowModal() == wxID_OK) {
@@ -647,13 +648,16 @@ private:
}
}
- void file_duplicate ()
+ void file_duplicate()
{
FilmNameLocationDialog dialog(this, _("Duplicate Film"), false);
if (dialog.ShowModal() == wxID_OK && dialog.check_path() && maybe_save_film<FilmChangedDuplicatingDialog>()) {
auto film = make_shared<Film>(dialog.path());
- film->copy_from (_film);
+ wxProgressDialog progress(variant::wx::dcpomatic(), _("Duplicating film"));
+ film->copy_from(_film, [&progress](float value) {
+ progress.Update(value * 100);
+ });
film->set_name(dialog.path().filename().generic_string());
try {
film->write_metadata();
@@ -663,26 +667,29 @@ private:
}
}
- void file_duplicate_and_open ()
+ void file_duplicate_and_open()
{
FilmNameLocationDialog dialog(this, _("Duplicate Film"), false);
if (dialog.ShowModal() == wxID_OK && dialog.check_path() && maybe_save_film<FilmChangedDuplicatingDialog>()) {
auto film = make_shared<Film>(dialog.path());
- film->copy_from (_film);
+ wxProgressDialog progress(variant::wx::dcpomatic(), _("Duplicating film"));
+ film->copy_from(_film, [&progress](float value) {
+ progress.Update(value * 100);
+ });
film->set_name(dialog.path().filename().generic_string());
try {
- film->write_metadata ();
- set_film (film);
+ film->write_metadata();
+ set_film(film);
} catch (exception& e) {
error_dialog(this, _("Could not duplicate project."), std_to_wx(e.what()));
}
}
}
- void file_close ()
+ void file_close()
{
- if (_film && _film->dirty ()) {
+ if (_film && _film->dirty()) {
FilmChangedClosingDialog dialog(_film->name());
switch (dialog.run()) {
case wxID_NO:
@@ -690,7 +697,7 @@ private:
break;
case wxID_YES:
/* Save and carry on to close */
- _film->write_metadata ();
+ _film->write_metadata();
break;
case wxID_CANCEL:
/* Stop */
@@ -698,25 +705,25 @@ private:
}
}
- set_film (shared_ptr<Film>());
+ set_film(shared_ptr<Film>());
}
- void file_history (wxCommandEvent& event)
+ void file_history(wxCommandEvent& event)
{
- auto history = Config::instance()->history ();
+ auto history = Config::instance()->history();
int n = event.GetId() - ID_file_history;
- if (n >= 0 && n < static_cast<int> (history.size ()) && maybe_save_then_delete_film<FilmChangedClosingDialog>()) {
- load_film (history[n]);
+ if (n >= 0 && n < static_cast<int>(history.size()) && maybe_save_then_delete_film<FilmChangedClosingDialog>()) {
+ load_film(history[n]);
}
}
- void file_exit ()
+ void file_exit()
{
/* false here allows the close handler to veto the close request */
- Close (false);
+ Close(false);
}
- void edit_copy ()
+ void edit_copy()
{
auto const sel = _film_editor->content_panel()->selected();
if (sel.size() == 1) {
@@ -724,7 +731,7 @@ private:
}
}
- void edit_paste ()
+ void edit_paste()
{
if (!_clipboard) {
return;
@@ -737,19 +744,19 @@ private:
for (auto i: _film_editor->content_panel()->selected()) {
if (dialog.video() && i->video) {
- DCPOMATIC_ASSERT (_clipboard->video);
- i->video->take_settings_from (_clipboard->video);
+ DCPOMATIC_ASSERT(_clipboard->video);
+ i->video->take_settings_from(_clipboard->video);
}
if (dialog.audio() && i->audio) {
- DCPOMATIC_ASSERT (_clipboard->audio);
- i->audio->take_settings_from (_clipboard->audio);
+ DCPOMATIC_ASSERT(_clipboard->audio);
+ i->audio->take_settings_from(_clipboard->audio);
}
if (dialog.text()) {
- auto j = i->text.begin ();
- auto k = _clipboard->text.begin ();
+ auto j = i->text.begin();
+ auto k = _clipboard->text.begin();
while (j != i->text.end() && k != _clipboard->text.end()) {
- (*j)->take_settings_from (*k);
+ (*j)->take_settings_from(*k);
++j;
++k;
}
@@ -757,20 +764,20 @@ private:
}
}
- void edit_select_all ()
+ void edit_select_all()
{
_film_editor->content_panel()->select_all();
}
- void edit_preferences ()
+ void edit_preferences()
{
if (!_config_dialog) {
- _config_dialog = create_full_config_dialog ();
+ _config_dialog = create_full_config_dialog();
}
- _config_dialog->Show (this);
+ _config_dialog->Show(this);
}
- void tools_restore_default_preferences ()
+ void tools_restore_default_preferences()
{
wxMessageDialog dialog(
nullptr,
@@ -780,11 +787,11 @@ private:
);
if (dialog.ShowModal() == wxID_YES) {
- Config::restore_defaults ();
+ Config::restore_defaults();
}
}
- void tools_export_preferences ()
+ void tools_export_preferences()
{
FileDialog dialog(
this, _("Specify ZIP file"), char_to_wx("ZIP files (*.zip)|*.zip"), wxFD_SAVE | wxFD_OVERWRITE_PROMPT, "Preferences", string("dcpomatic_config.zip")
@@ -827,14 +834,14 @@ private:
Config::instance()->load_from_zip(dialog.path(), action);
}
- void jobs_make_dcp ()
+ void jobs_make_dcp()
{
double required;
double available;
if (!_film->should_be_enough_disk_space(required, available)) {
auto const message = wxString::Format(_("The DCP for this film will take up about %.1f GB, and the disk that you are using only has %.1f GB available. Do you want to continue anyway?"), required, available);
- if (!confirm_dialog (this, message)) {
+ if (!confirm_dialog(this, message)) {
return;
}
}
@@ -846,8 +853,8 @@ private:
}
}
- if (_film->encrypted ()) {
- NagDialog::maybe_nag (
+ if (_film->encrypted()) {
+ NagDialog::maybe_nag(
this,
Config::NAG_ENCRYPTED_METADATA,
_("You are making an encrypted DCP. It will not be possible to make KDMs for this DCP unless you have copies of "
@@ -858,9 +865,9 @@ private:
}
/* Remove any existing DCP if the user agrees */
- auto const dcp_dir = _film->dir (_film->dcp_name(), false);
+ auto const dcp_dir = _film->dir(_film->dcp_name(), false);
if (dcp::filesystem::exists(dcp_dir)) {
- if (!confirm_dialog (this, wxString::Format (_("Do you want to overwrite the existing DCP %s?"), std_to_wx(dcp_dir.string()).data()))) {
+ if (!confirm_dialog(this, wxString::Format(_("Do you want to overwrite the existing DCP %s?"), std_to_wx(dcp_dir.string()).data()))) {
return;
}
@@ -872,37 +879,37 @@ private:
/* It seems to make sense to auto-save metadata here, since the make DCP may last
a long time, and crashes/power failures are moderately likely.
*/
- _film->write_metadata ();
- make_dcp (_film, TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP);
+ _film->write_metadata();
+ make_dcp(_film, TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP);
} catch (BadSettingError& e) {
- error_dialog (this, wxString::Format (_("Bad setting for %s."), std_to_wx(e.setting()).data()), std_to_wx(e.what()));
+ error_dialog(this, wxString::Format(_("Bad setting for %s."), std_to_wx(e.setting()).data()), std_to_wx(e.what()));
} catch (std::exception& e) {
- error_dialog (this, wxString::Format (_("Could not make DCP.")), std_to_wx(e.what()));
+ error_dialog(this, wxString::Format(_("Could not make DCP.")), std_to_wx(e.what()));
}
}
- void jobs_make_kdms ()
+ void jobs_make_kdms()
{
if (!_film) {
return;
}
_kdm_dialog.reset(this, _film);
- _kdm_dialog->Show ();
+ _kdm_dialog->Show();
}
- void jobs_make_dkdms ()
+ void jobs_make_dkdms()
{
if (!_film) {
return;
}
_dkdm_dialog.reset(this, _film);
- _dkdm_dialog->Show ();
+ _dkdm_dialog->Show();
}
/** @return false if we succeeded, true if not */
- bool send_to_other_tool (int port, function<void()> start, string message)
+ bool send_to_other_tool(int port, function<void()> start, string message)
{
/* i = 0; try to connect via socket
i = 1; try again, and then try to start the tool
@@ -910,30 +917,30 @@ private:
*/
for (int i = 0; i < 8; ++i) {
try {
- Socket socket (5);
+ Socket socket(5);
socket.connect("127.0.0.1", port);
- DCPOMATIC_ASSERT (_film->directory ());
- socket.write (message.length() + 1);
- socket.write ((uint8_t *) message.c_str(), message.length() + 1);
+ DCPOMATIC_ASSERT(_film->directory());
+ socket.write(message.length() + 1);
+ socket.write((uint8_t *) message.c_str(), message.length() + 1);
/* OK\0 */
uint8_t ok[3];
- socket.read (ok, 3);
+ socket.read(ok, 3);
return false;
} catch (exception& e) {
}
if (i == 1) {
- start ();
+ start();
}
- dcpomatic_sleep_seconds (1);
+ dcpomatic_sleep_seconds(1);
}
return true;
}
- void jobs_make_dcp_batch ()
+ void jobs_make_dcp_batch()
{
if (!_film) {
return;
@@ -946,33 +953,33 @@ private:
}
}
- _film->write_metadata ();
+ _film->write_metadata();
- if (send_to_other_tool (BATCH_JOB_PORT, &start_batch_converter, _film->directory()->string())) {
+ if (send_to_other_tool(BATCH_JOB_PORT, &start_batch_converter, _film->directory()->string())) {
#ifdef DCPOMATIC_OSX
- error_dialog (this, _("Could not start the batch converter. You may need to download it from dcpomatic.com."));
+ error_dialog(this, _("Could not start the batch converter. You may need to download it from dcpomatic.com."));
#else
- error_dialog (this, _("Could not find batch converter."));
+ error_dialog(this, _("Could not find batch converter."));
#endif
}
}
- void jobs_open_dcp_in_player ()
+ void jobs_open_dcp_in_player()
{
if (!_film) {
return;
}
- if (send_to_other_tool (PLAYER_PLAY_PORT, &start_player, _film->dir(_film->dcp_name(false)).string())) {
+ if (send_to_other_tool(PLAYER_PLAY_PORT, &start_player, _film->dir(_film->dcp_name(false)).string())) {
#ifdef DCPOMATIC_OSX
- error_dialog (this, _("Could not start the player. You may need to download it from dcpomatic.com."));
+ error_dialog(this, _("Could not start the player. You may need to download it from dcpomatic.com."));
#else
- error_dialog (this, _("Could not find player."));
+ error_dialog(this, _("Could not find player."));
#endif
}
}
- void jobs_make_self_dkdm ()
+ void jobs_make_self_dkdm()
{
if (!_film) {
return;
@@ -983,10 +990,10 @@ private:
return;
}
- NagDialog::maybe_nag (
+ NagDialog::maybe_nag(
this,
Config::NAG_DKDM_CONFIG,
- wxString::Format (
+ wxString::Format(
_("You are making a DKDM which is encrypted by a private key held in"
"\n\n<tt>%s</tt>\n\nIt is <span weight=\"bold\" size=\"larger\">VITALLY IMPORTANT</span> "
"that you <span weight=\"bold\" size=\"larger\">BACK UP THIS FILE</span> since if it is lost "
@@ -995,10 +1002,10 @@ private:
);
- dcp::LocalTime from (Config::instance()->signer_chain()->leaf().not_before());
- from.add_days (1);
- dcp::LocalTime to (Config::instance()->signer_chain()->leaf().not_after());
- to.add_days (-1);
+ dcp::LocalTime from(Config::instance()->signer_chain()->leaf().not_before());
+ from.add_days(1);
+ dcp::LocalTime to(Config::instance()->signer_chain()->leaf().not_after());
+ to.add_days(-1);
auto signer = Config::instance()->signer_chain();
if (!signer->valid()) {
@@ -1013,22 +1020,22 @@ private:
if (dialog.internal()) {
auto dkdms = Config::instance()->dkdms();
dkdms->add(make_shared<DKDM>(kdm));
- Config::instance()->changed ();
+ Config::instance()->changed();
} else {
auto path = dialog.directory() / (_film->dcp_name(false) + "_DKDM.xml");
kdm.as_xml(path);
}
} catch (dcp::NotEncryptedError& e) {
- error_dialog (this, _("CPL's content is not encrypted."));
+ error_dialog(this, _("CPL's content is not encrypted."));
} catch (exception& e) {
error_dialog(this, std_to_wx(e.what()));
} catch (...) {
- error_dialog (this, _("An unknown exception occurred."));
+ error_dialog(this, _("An unknown exception occurred."));
}
}
- void jobs_export_video_file ()
+ void jobs_export_video_file()
{
ExportVideoFileDialog dialog(this, _film->isdcf_name(true));
if (dialog.ShowModal() != wxID_OK) {
@@ -1047,15 +1054,15 @@ private:
}
auto job = make_shared<TranscodeJob>(_film, TranscodeJob::ChangedBehaviour::EXAMINE_THEN_STOP);
- job->set_encoder (
+ job->set_encoder(
make_shared<FFmpegFilmEncoder>(
_film, job, dialog.path(), dialog.format(), dialog.mixdown_to_stereo(), dialog.split_reels(), dialog.split_streams(), dialog.x264_crf())
);
- JobManager::instance()->add (job);
+ JobManager::instance()->add(job);
}
- void jobs_export_subtitles ()
+ void jobs_export_subtitles()
{
ExportSubtitlesDialog dialog(this, _film->reels().size(), _film->interop());
if (dialog.ShowModal() != wxID_OK) {
@@ -1077,40 +1084,40 @@ private:
}
- void jobs_send_dcp_to_tms ()
+ void jobs_send_dcp_to_tms()
{
- _film->send_dcp_to_tms ();
+ _film->send_dcp_to_tms();
}
- void jobs_show_dcp ()
+ void jobs_show_dcp()
{
- DCPOMATIC_ASSERT (_film->directory ());
+ DCPOMATIC_ASSERT(_film->directory());
if (show_in_file_manager(_film->directory().get(), _film->dir(_film->dcp_name(false)))) {
- error_dialog (this, _("Could not show DCP."));
+ error_dialog(this, _("Could not show DCP."));
}
}
- void view_closed_captions ()
+ void view_closed_captions()
{
- _film_viewer.show_closed_captions ();
+ _film_viewer.show_closed_captions();
}
- void view_video_waveform ()
+ void view_video_waveform()
{
if (!_video_waveform_dialog) {
_video_waveform_dialog.reset(this, _film, _film_viewer);
}
- _video_waveform_dialog->Show ();
+ _video_waveform_dialog->Show();
}
- void tools_system_information ()
+ void tools_system_information()
{
if (!_system_information_dialog) {
- _system_information_dialog = new SystemInformationDialog (this, _film_viewer);
+ _system_information_dialog = new SystemInformationDialog(this, _film_viewer);
}
- _system_information_dialog->Show ();
+ _system_information_dialog->Show();
}
void tools_version_file()
@@ -1124,40 +1131,40 @@ private:
_dcp_referencing_dialog->Show();
}
- void tools_hints ()
+ void tools_hints()
{
if (!_hints_dialog) {
- _hints_dialog = new HintsDialog (this, _film, true);
+ _hints_dialog = new HintsDialog(this, _film, true);
}
- _hints_dialog->Show ();
+ _hints_dialog->Show();
}
- void tools_encoding_servers ()
+ void tools_encoding_servers()
{
if (!_servers_list_dialog) {
- _servers_list_dialog = new ServersListDialog (this);
+ _servers_list_dialog = new ServersListDialog(this);
}
- _servers_list_dialog->Show ();
+ _servers_list_dialog->Show();
}
- void tools_manage_templates ()
+ void tools_manage_templates()
{
if (!_templates_dialog) {
_templates_dialog.reset(this);
}
- _templates_dialog->Show ();
+ _templates_dialog->Show();
}
- void tools_check_for_updates ()
+ void tools_check_for_updates()
{
_update_news_requested = true;
UpdateChecker::instance()->run();
}
- void help_about ()
+ void help_about()
{
AboutDialog dialog(this);
dialog.ShowModal();
@@ -1168,7 +1175,7 @@ private:
wxLaunchDefaultBrowser(std_to_wx("https://dcpomatic.com/manual"));
}
- void help_report_a_problem ()
+ void help_report_a_problem()
{
ReportProblemDialog dialog(this, _film);
if (dialog.ShowModal() == wxID_OK) {
@@ -1176,9 +1183,9 @@ private:
}
}
- bool should_close ()
+ bool should_close()
{
- if (!JobManager::instance()->work_to_do ()) {
+ if (!JobManager::instance()->work_to_do()) {
return true;
}
@@ -1192,14 +1199,14 @@ private:
return dialog.ShowModal() == wxID_YES;
}
- void close (wxCloseEvent& ev)
+ void close(wxCloseEvent& ev)
{
- if (!should_close ()) {
- ev.Veto ();
+ if (!should_close()) {
+ ev.Veto();
return;
}
- if (_film && _film->dirty ()) {
+ if (_film && _film->dirty()) {
FilmChangedClosingDialog dialog(_film->name());
switch (dialog.run()) {
case wxID_NO:
@@ -1207,11 +1214,11 @@ private:
break;
case wxID_YES:
/* Save and carry on to close */
- _film->write_metadata ();
+ _film->write_metadata();
break;
case wxID_CANCEL:
/* Veto the event and stop */
- ev.Veto ();
+ ev.Veto();
return;
}
}
@@ -1220,15 +1227,15 @@ private:
cause the File menu to be altered, which itself will be deleted around
now (without, as far as I can see, any way for us to find out).
*/
- _config_changed_connection.disconnect ();
+ _config_changed_connection.disconnect();
/* Also stop hearing about analytics-related stuff */
- _analytics_message_connection.disconnect ();
+ _analytics_message_connection.disconnect();
FontConfig::drop();
- ev.Skip ();
- JobManager::drop ();
+ ev.Skip();
+ JobManager::drop();
}
void active_jobs_changed()
@@ -1240,16 +1247,16 @@ private:
signal_manager->when_idle(boost::bind(&DOMFrame::set_menu_sensitivity, this));
}
- void set_menu_sensitivity ()
+ void set_menu_sensitivity()
{
- auto jobs = JobManager::instance()->get ();
+ auto jobs = JobManager::instance()->get();
auto const dcp_creation = std::any_of(
jobs.begin(),
jobs.end(),
[](shared_ptr<const Job> job) {
return dynamic_pointer_cast<const DCPTranscodeJob>(job) && !job->finished();
});
- bool const have_cpl = _film && !_film->cpls().empty ();
+ bool const have_cpl = _film && !_film->cpls().empty();
bool const have_single_selected_content = _film_editor->content_panel()->selected().size() == 1;
bool const have_selected_content = !_film_editor->content_panel()->selected().empty();
bool const have_selected_video_content = !_film_editor->content_panel()->selected_video().empty();
@@ -1301,7 +1308,7 @@ private:
enabled = false;
}
- j.first->Enable (enabled);
+ j.first->Enable(enabled);
}
}
@@ -1309,7 +1316,7 @@ private:
* should continue, false to abort it.
*/
template <class T>
- bool maybe_save_film ()
+ bool maybe_save_film()
{
if (!_film) {
return true;
@@ -1338,131 +1345,131 @@ private:
}
template <class T>
- bool maybe_save_then_delete_film ()
+ bool maybe_save_then_delete_film()
{
- bool const r = maybe_save_film<T> ();
+ bool const r = maybe_save_film<T>();
if (r) {
- _film.reset ();
+ _film.reset();
}
return r;
}
- void add_item (wxMenu* menu, wxString text, int id, int sens)
+ void add_item(wxMenu* menu, wxString text, int id, int sens)
{
- auto item = menu->Append (id, text);
- menu_items.insert (make_pair (item, sens));
+ auto item = menu->Append(id, text);
+ menu_items.insert(make_pair(item, sens));
}
- void setup_menu (wxMenuBar* m)
+ void setup_menu(wxMenuBar* m)
{
_file_menu = new wxMenu;
/* [Shortcut] Ctrl+N:New film */
- add_item (_file_menu, _("New...\tCtrl-N"), ID_file_new, ALWAYS);
+ add_item(_file_menu, _("New...\tCtrl-N"), ID_file_new, ALWAYS);
/* [Shortcut] Ctrl+O:Open existing film */
- add_item (_file_menu, _("&Open...\tCtrl-O"), ID_file_open, ALWAYS);
- _file_menu->AppendSeparator ();
+ add_item(_file_menu, _("&Open...\tCtrl-O"), ID_file_open, ALWAYS);
+ _file_menu->AppendSeparator();
/* [Shortcut] Ctrl+S:Save current film */
- add_item (_file_menu, _("&Save\tCtrl-S"), ID_file_save, NEEDS_FILM);
- _file_menu->AppendSeparator ();
- add_item (_file_menu, _("Save as &template..."), ID_file_save_as_template, NEEDS_FILM);
- add_item (_file_menu, _("Duplicate..."), ID_file_duplicate, NEEDS_FILM);
- add_item (_file_menu, _("Duplicate and open..."), ID_file_duplicate_and_open, NEEDS_FILM);
+ add_item(_file_menu, _("&Save\tCtrl-S"), ID_file_save, NEEDS_FILM);
+ _file_menu->AppendSeparator();
+ add_item(_file_menu, _("Save as &template..."), ID_file_save_as_template, NEEDS_FILM);
+ add_item(_file_menu, _("Duplicate..."), ID_file_duplicate, NEEDS_FILM);
+ add_item(_file_menu, _("Duplicate and open..."), ID_file_duplicate_and_open, NEEDS_FILM);
_history_position = _file_menu->GetMenuItems().GetCount();
- _file_menu->AppendSeparator ();
+ _file_menu->AppendSeparator();
/* [Shortcut] Ctrl+W:Close current film */
- add_item (_file_menu, _("&Close\tCtrl-W"), ID_file_close, NEEDS_FILM);
+ add_item(_file_menu, _("&Close\tCtrl-W"), ID_file_close, NEEDS_FILM);
#ifndef __WXOSX__
- _file_menu->AppendSeparator ();
+ _file_menu->AppendSeparator();
#endif
#ifdef __WXOSX__
- add_item (_file_menu, _("&Exit"), wxID_EXIT, ALWAYS);
+ add_item(_file_menu, _("&Exit"), wxID_EXIT, ALWAYS);
#else
- add_item (_file_menu, _("&Quit"), wxID_EXIT, ALWAYS);
+ add_item(_file_menu, _("&Quit"), wxID_EXIT, ALWAYS);
#endif
auto edit = new wxMenu;
/* [Shortcut] Ctrl+C:Copy settings from currently selected content */
- add_item (edit, _("Copy settings\tCtrl-C"), ID_edit_copy, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_SINGLE_SELECTED_CONTENT);
+ add_item(edit, _("Copy settings\tCtrl-C"), ID_edit_copy, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_SINGLE_SELECTED_CONTENT);
/* [Shortcut] Ctrl+V:Paste settings into currently selected content */
- add_item (edit, _("Paste settings...\tCtrl-V"), ID_edit_paste, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_SELECTED_CONTENT | NEEDS_CLIPBOARD);
- edit->AppendSeparator ();
+ add_item(edit, _("Paste settings...\tCtrl-V"), ID_edit_paste, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_SELECTED_CONTENT | NEEDS_CLIPBOARD);
+ edit->AppendSeparator();
/* [Shortcut] Shift+Ctrl+A:Select all content */
- add_item (edit, _("Select all\tShift-Ctrl-A"), ID_edit_select_all, NEEDS_FILM);
+ add_item(edit, _("Select all\tShift-Ctrl-A"), ID_edit_select_all, NEEDS_FILM);
#ifdef __WXOSX__
add_item(_file_menu, _("&Preferences...\tCtrl-,"), wxID_PREFERENCES, ALWAYS);
#else
- edit->AppendSeparator ();
+ edit->AppendSeparator();
/* [Shortcut] Ctrl+P:Open preferences window */
- add_item (edit, _("&Preferences...\tCtrl-P"), wxID_PREFERENCES, ALWAYS);
+ add_item(edit, _("&Preferences...\tCtrl-P"), wxID_PREFERENCES, ALWAYS);
#endif
auto jobs_menu = new wxMenu;
/* [Shortcut] Ctrl+M:Make DCP */
- add_item (jobs_menu, _("&Make DCP\tCtrl-M"), ID_jobs_make_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION);
+ add_item(jobs_menu, _("&Make DCP\tCtrl-M"), ID_jobs_make_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION);
/* [Shortcut] Ctrl+B:Make DCP in the batch converter*/
- add_item (jobs_menu, _("Make DCP in &batch converter\tCtrl-B"), ID_jobs_make_dcp_batch, NEEDS_FILM | NOT_DURING_DCP_CREATION);
- jobs_menu->AppendSeparator ();
+ add_item(jobs_menu, _("Make DCP in &batch converter\tCtrl-B"), ID_jobs_make_dcp_batch, NEEDS_FILM | NOT_DURING_DCP_CREATION);
+ jobs_menu->AppendSeparator();
/* [Shortcut] Ctrl+K:Make KDMs */
- add_item (jobs_menu, _("Make &KDMs...\tCtrl-K"), ID_jobs_make_kdms, NEEDS_FILM);
+ add_item(jobs_menu, _("Make &KDMs...\tCtrl-K"), ID_jobs_make_kdms, NEEDS_FILM);
/* [Shortcut] Ctrl+D:Make DKDMs */
- add_item (jobs_menu, _("Make &DKDMs...\tCtrl-D"), ID_jobs_make_dkdms, NEEDS_FILM);
+ add_item(jobs_menu, _("Make &DKDMs...\tCtrl-D"), ID_jobs_make_dkdms, NEEDS_FILM);
add_item(jobs_menu, variant::wx::insert_dcpomatic(_("Make DKDM for %s...")), ID_jobs_make_self_dkdm, NEEDS_FILM | NEEDS_ENCRYPTION);
- jobs_menu->AppendSeparator ();
+ jobs_menu->AppendSeparator();
/* [Shortcut] Ctrl+E:Export video file */
- add_item (jobs_menu, _("Export video file...\tCtrl-E"), ID_jobs_export_video_file, NEEDS_FILM);
- add_item (jobs_menu, _("Export subtitles...\tShift-Ctrl-E"), ID_jobs_export_subtitles, NEEDS_FILM);
- jobs_menu->AppendSeparator ();
- add_item (jobs_menu, _("&Send DCP to TMS"), ID_jobs_send_dcp_to_tms, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
+ add_item(jobs_menu, _("Export video file...\tCtrl-E"), ID_jobs_export_video_file, NEEDS_FILM);
+ add_item(jobs_menu, _("Export subtitles...\tShift-Ctrl-E"), ID_jobs_export_subtitles, NEEDS_FILM);
+ jobs_menu->AppendSeparator();
+ add_item(jobs_menu, _("&Send DCP to TMS"), ID_jobs_send_dcp_to_tms, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
#if defined(DCPOMATIC_OSX)
- add_item (jobs_menu, _("S&how DCP in Finder"), ID_jobs_show_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
+ add_item(jobs_menu, _("S&how DCP in Finder"), ID_jobs_show_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
#elif defined(DCPOMATIC_WINDOWS)
- add_item (jobs_menu, _("S&how DCP in Explorer"), ID_jobs_show_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
+ add_item(jobs_menu, _("S&how DCP in Explorer"), ID_jobs_show_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
#else
- add_item (jobs_menu, _("S&how DCP in Files"), ID_jobs_show_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
+ add_item(jobs_menu, _("S&how DCP in Files"), ID_jobs_show_dcp, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
#endif
- add_item (jobs_menu, _("Open DCP in &player"), ID_jobs_open_dcp_in_player, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
+ add_item(jobs_menu, _("Open DCP in &player"), ID_jobs_open_dcp_in_player, NEEDS_FILM | NOT_DURING_DCP_CREATION | NEEDS_CPL);
auto view = new wxMenu;
- add_item (view, _("Closed captions..."), ID_view_closed_captions, NEEDS_FILM);
- add_item (view, _("Video waveform..."), ID_view_video_waveform, NEEDS_FILM);
+ add_item(view, _("Closed captions..."), ID_view_closed_captions, NEEDS_FILM);
+ add_item(view, _("Video waveform..."), ID_view_video_waveform, NEEDS_FILM);
auto tools = new wxMenu;
- add_item (tools, _("Version File (VF)..."), ID_tools_version_file, NEEDS_FILM | NEEDS_DCP_CONTENT);
- add_item (tools, _("Hints..."), ID_tools_hints, NEEDS_FILM);
- add_item (tools, _("Encoding servers..."), ID_tools_encoding_servers, 0);
- add_item (tools, _("Manage templates..."), ID_tools_manage_templates, 0);
- add_item (tools, _("Check for updates"), ID_tools_check_for_updates, 0);
- add_item (tools, _("System information..."), ID_tools_system_information, 0);
- tools->AppendSeparator ();
- add_item (tools, _("Restore default preferences"), ID_tools_restore_default_preferences, ALWAYS);
- tools->AppendSeparator ();
- add_item (tools, _("Export preferences..."), ID_tools_export_preferences, ALWAYS);
- add_item (tools, _("Import preferences..."), ID_tools_import_preferences, ALWAYS);
+ add_item(tools, _("Version File (VF)..."), ID_tools_version_file, NEEDS_FILM | NEEDS_DCP_CONTENT);
+ add_item(tools, _("Hints..."), ID_tools_hints, NEEDS_FILM);
+ add_item(tools, _("Encoding servers..."), ID_tools_encoding_servers, 0);
+ add_item(tools, _("Manage templates..."), ID_tools_manage_templates, 0);
+ add_item(tools, _("Check for updates"), ID_tools_check_for_updates, 0);
+ add_item(tools, _("System information..."), ID_tools_system_information, 0);
+ tools->AppendSeparator();
+ add_item(tools, _("Restore default preferences"), ID_tools_restore_default_preferences, ALWAYS);
+ tools->AppendSeparator();
+ add_item(tools, _("Export preferences..."), ID_tools_export_preferences, ALWAYS);
+ add_item(tools, _("Import preferences..."), ID_tools_import_preferences, ALWAYS);
wxMenu* help = new wxMenu;
#ifdef __WXOSX__
add_item(help, variant::wx::insert_dcpomatic(_("About %s")), wxID_ABOUT, ALWAYS);
#else
- add_item (help, _("About"), wxID_ABOUT, ALWAYS);
+ add_item(help, _("About"), wxID_ABOUT, ALWAYS);
#endif
add_item(help, _("User manual..."), ID_help_user_manual, ALWAYS);
if (variant::show_report_a_problem()) {
add_item(help, _("Report a problem..."), ID_help_report_a_problem, ALWAYS);
}
- m->Append (_file_menu, _("&File"));
- m->Append (edit, _("&Edit"));
- m->Append (jobs_menu, _("&Jobs"));
- m->Append (view, _("&View"));
- m->Append (tools, _("&Tools"));
- m->Append (help, _("&Help"));
+ m->Append(_file_menu, _("&File"));
+ m->Append(edit, _("&Edit"));
+ m->Append(jobs_menu, _("&Jobs"));
+ m->Append(view, _("&View"));
+ m->Append(tools, _("&Tools"));
+ m->Append(help, _("&Help"));
}
void config_changed(Config::Property what)
@@ -1471,21 +1478,21 @@ private:
try {
Config::instance()->write_config();
} catch (exception& e) {
- error_dialog (
+ error_dialog(
this,
- wxString::Format (
+ wxString::Format(
_("Could not write to config file at %s. Your changes have not been saved."),
- std_to_wx (Config::instance()->cinemas_file().string()).data()
+ std_to_wx(Config::instance()->cinemas_file().string()).data()
)
);
}
for (int i = 0; i < _history_items; ++i) {
- delete _file_menu->Remove (ID_file_history + i);
+ delete _file_menu->Remove(ID_file_history + i);
}
if (_history_separator) {
- _file_menu->Remove (_history_separator);
+ _file_menu->Remove(_history_separator);
}
delete _history_separator;
_history_separator = 0;
@@ -1493,11 +1500,11 @@ private:
int pos = _history_position;
/* Clear out non-existent history items before we re-build the menu */
- Config::instance()->clean_history ();
+ Config::instance()->clean_history();
auto history = Config::instance()->history();
- if (!history.empty ()) {
- _history_separator = _file_menu->InsertSeparator (pos++);
+ if (!history.empty()) {
+ _history_separator = _file_menu->InsertSeparator(pos++);
}
for (size_t i = 0; i < history.size(); ++i) {
@@ -1507,12 +1514,12 @@ private:
} else {
s = history[i].string();
}
- _file_menu->Insert (pos++, ID_file_history + i, std_to_wx (s));
+ _file_menu->Insert(pos++, ID_file_history + i, std_to_wx(s));
}
- _history_items = history.size ();
+ _history_items = history.size();
- dcpomatic_log->set_types (Config::instance()->log_types());
+ dcpomatic_log->set_types(Config::instance()->log_types());
#ifdef DCPOMATIC_GROK
if (what == Config::GROK) {
@@ -1523,9 +1530,9 @@ private:
#endif
}
- void update_checker_state_changed ()
+ void update_checker_state_changed()
{
- auto uc = UpdateChecker::instance ();
+ auto uc = UpdateChecker::instance();
bool const announce =
_update_news_requested ||
@@ -1550,7 +1557,7 @@ private:
_update_news_requested = false;
}
- void start_stop_pressed ()
+ void start_stop_pressed()
{
if (_film_viewer.playing()) {
_film_viewer.stop();
@@ -1559,28 +1566,28 @@ private:
}
}
- void timeline_pressed ()
+ void timeline_pressed()
{
- _film_editor->content_panel()->timeline_clicked ();
+ _film_editor->content_panel()->timeline_clicked();
}
- void back_frame ()
+ void back_frame()
{
_film_viewer.seek_by(-_film_viewer.one_video_frame(), true);
}
- void forward_frame ()
+ void forward_frame()
{
_film_viewer.seek_by(_film_viewer.one_video_frame(), true);
}
- void analytics_message (string title, string html)
+ void analytics_message(string title, string html)
{
HTMLDialog dialog(this, std_to_wx(title), std_to_wx(html));
dialog.ShowModal();
}
- void set_title ()
+ void set_title()
{
auto s = variant::dcpomatic();
if (_film) {
@@ -1592,7 +1599,7 @@ private:
}
}
- SetTitle (std_to_wx(s));
+ SetTitle(std_to_wx(s));
}
FilmEditor* _film_editor;
@@ -1629,7 +1636,7 @@ static const wxCmdLineEntryDesc command_line_description[] = {
{ wxCMD_LINE_SWITCH, "v", "version", "show version", wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL },
{ wxCMD_LINE_OPTION, "", "config", "directory containing config.xml and cinemas.xml", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
{ wxCMD_LINE_PARAM, 0, 0, "film to load or create", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL },
- { wxCMD_LINE_NONE, "", "", "", wxCmdLineParamType (0), 0 }
+ { wxCMD_LINE_NONE, "", "", "", wxCmdLineParamType(0), 0 }
};
@@ -1639,18 +1646,18 @@ static const wxCmdLineEntryDesc command_line_description[] = {
class App : public wxApp
{
public:
- App ()
- : wxApp ()
+ App()
+ : wxApp()
{
- dcpomatic_setup_path_encoding ();
+ dcpomatic_setup_path_encoding();
#ifdef DCPOMATIC_LINUX
- XInitThreads ();
+ XInitThreads();
#endif
}
private:
- bool OnInit () override
+ bool OnInit() override
{
try {
@@ -1673,12 +1680,12 @@ private:
cout << variant::insert_dcpomatic("{} is starting.") << "\n";
}
#endif
- wxInitAllImageHandlers ();
+ wxInitAllImageHandlers();
Config::FailedToLoad.connect(boost::bind(&App::config_failed_to_load, this, _1));
- Config::Warning.connect (boost::bind (&App::config_warning, this, _1));
+ Config::Warning.connect(boost::bind(&App::config_warning, this, _1));
- _splash = maybe_show_splash ();
+ _splash = maybe_show_splash();
SetAppName(variant::wx::dcpomatic());
@@ -1687,12 +1694,12 @@ private:
}
#ifdef DCPOMATIC_LINUX
- unsetenv ("UBUNTU_MENUPROXY");
+ unsetenv("UBUNTU_MENUPROXY");
#endif
#ifdef DCPOMATIC_OSX
- dcpomatic_sleep_seconds (1);
- make_foreground_application ();
+ dcpomatic_sleep_seconds(1);
+ make_foreground_application();
#endif
/* Enable i18n; this will create a Config object
@@ -1706,28 +1713,28 @@ private:
/* Set things up, including filters etc.
which will now be internationalised correctly.
*/
- dcpomatic_setup ();
+ dcpomatic_setup();
/* Force the configuration to be re-loaded correctly next
time it is needed.
*/
- Config::drop ();
+ Config::drop();
/* We only look out for bad configuration from here on, as before
dcpomatic_setup() we haven't got OpenSSL ready so there will be
incorrect certificate chain validity errors.
*/
- Config::Bad.connect (boost::bind(&App::config_bad, this, _1));
+ Config::Bad.connect(boost::bind(&App::config_bad, this, _1));
- signal_manager = new wxSignalManager (this);
+ signal_manager = new wxSignalManager(this);
_frame = new DOMFrame(variant::wx::dcpomatic());
- SetTopWindow (_frame);
- _frame->Maximize ();
- close_splash ();
+ SetTopWindow(_frame);
+ _frame->Maximize();
+ close_splash();
- if (running_32_on_64 ()) {
- NagDialog::maybe_nag (
+ if (running_32_on_64()) {
+ NagDialog::maybe_nag(
_frame, Config::NAG_32_ON_64,
wxString::Format(
_("You are running the 32-bit version of %s on a 64-bit version of Windows. "
@@ -1740,34 +1747,34 @@ private:
false);
}
- _frame->Show ();
+ _frame->Show();
- Bind (wxEVT_IDLE, boost::bind (&App::idle, this, _1));
+ Bind(wxEVT_IDLE, boost::bind(&App::idle, this, _1));
if (!_film_to_load.empty() && dcp::filesystem::is_directory(_film_to_load)) {
try {
- _frame->load_film (_film_to_load);
+ _frame->load_film(_film_to_load);
} catch (exception& e) {
- error_dialog (nullptr, std_to_wx(fmt::format(wx_to_std(_("Could not load film {} ({})")), _film_to_load)), std_to_wx(e.what()));
+ error_dialog(nullptr, std_to_wx(fmt::format(wx_to_std(_("Could not load film {} ({})")), _film_to_load)), std_to_wx(e.what()));
}
}
- if (!_film_to_create.empty ()) {
- _frame->new_film (_film_to_create, optional<string>());
+ if (!_film_to_create.empty()) {
+ _frame->new_film(_film_to_create, optional<string>());
if (!_content_to_add.empty()) {
_frame->film()->examine_and_add_content(content_factory(_content_to_add));
}
- if (!_dcp_to_add.empty ()) {
+ if (!_dcp_to_add.empty()) {
_frame->film()->examine_and_add_content({make_shared<DCPContent>(_dcp_to_add)});
}
}
- Bind (wxEVT_TIMER, boost::bind (&App::check, this));
- _timer.reset (new wxTimer (this));
- _timer->Start (1000);
+ Bind(wxEVT_TIMER, boost::bind(&App::check, this));
+ _timer.reset(new wxTimer(this));
+ _timer->Start(1000);
- if (Config::instance()->check_for_updates ()) {
- UpdateChecker::instance()->run ();
+ if (Config::instance()->check_for_updates()) {
+ UpdateChecker::instance()->run();
}
if (auto release_notes = find_release_notes(gui_is_dark())) {
@@ -1790,51 +1797,51 @@ private:
return true;
}
- void OnInitCmdLine (wxCmdLineParser& parser) override
+ void OnInitCmdLine(wxCmdLineParser& parser) override
{
- parser.SetDesc (command_line_description);
+ parser.SetDesc(command_line_description);
parser.SetSwitchChars(char_to_wx("-"));
}
- bool OnCmdLineParsed (wxCmdLineParser& parser) override
+ bool OnCmdLineParsed(wxCmdLineParser& parser) override
{
if (parser.Found(char_to_wx("version"))) {
cout << "dcpomatic version " << dcpomatic_version << " " << dcpomatic_git_commit << "\n";
- exit (EXIT_SUCCESS);
+ exit(EXIT_SUCCESS);
}
if (parser.GetParamCount() > 0) {
if (parser.Found(char_to_wx("new"))) {
- _film_to_create = wx_to_std (parser.GetParam (0));
+ _film_to_create = wx_to_std(parser.GetParam(0));
} else {
- _film_to_load = wx_to_std (parser.GetParam (0));
+ _film_to_load = wx_to_std(parser.GetParam(0));
}
}
wxString content;
if (parser.Found(char_to_wx("content"), &content)) {
- _content_to_add = wx_to_std (content);
+ _content_to_add = wx_to_std(content);
}
wxString dcp;
if (parser.Found(char_to_wx("dcp"), &dcp)) {
- _dcp_to_add = wx_to_std (dcp);
+ _dcp_to_add = wx_to_std(dcp);
}
wxString config;
if (parser.Found(char_to_wx("config"), &config)) {
- State::override_path = wx_to_std (config);
+ State::override_path = wx_to_std(config);
}
return true;
}
- void report_exception ()
+ void report_exception()
{
try {
throw;
} catch (FileError& e) {
- error_dialog (
+ error_dialog(
nullptr,
wxString::Format(
_("An exception occurred: %s (%s)\n\n%s"),
@@ -1844,7 +1851,7 @@ private:
)
);
} catch (boost::filesystem::filesystem_error& e) {
- error_dialog (
+ error_dialog(
nullptr,
wxString::Format(
_("An exception occurred: %s (%s) (%s)\n\n%s"),
@@ -1855,7 +1862,7 @@ private:
)
);
} catch (exception& e) {
- error_dialog (
+ error_dialog(
nullptr,
wxString::Format(
_("An exception occurred: %s.\n\n%s"),
@@ -1869,34 +1876,34 @@ private:
}
/* An unhandled exception has occurred inside the main event loop */
- bool OnExceptionInMainLoop () override
+ bool OnExceptionInMainLoop() override
{
- report_exception ();
+ report_exception();
/* This will terminate the program */
return false;
}
- void OnUnhandledException () override
+ void OnUnhandledException() override
{
- report_exception ();
+ report_exception();
}
- void idle (wxIdleEvent& ev)
+ void idle(wxIdleEvent& ev)
{
- signal_manager->ui_idle ();
- ev.Skip ();
+ signal_manager->ui_idle();
+ ev.Skip();
}
- void check ()
+ void check()
{
try {
- EncodeServerFinder::instance()->rethrow ();
+ EncodeServerFinder::instance()->rethrow();
} catch (exception& e) {
- error_dialog (0, std_to_wx (e.what ()));
+ error_dialog(0, std_to_wx(e.what()));
}
}
- void close_splash ()
+ void close_splash()
{
if (_splash) {
_splash->Destroy();
@@ -1904,17 +1911,17 @@ private:
}
}
- void config_failed_to_load (Config::LoadFailure what)
+ void config_failed_to_load(Config::LoadFailure what)
{
report_config_load_failure(_frame, what);
}
- void config_warning (string m)
+ void config_warning(string m)
{
- message_dialog (_frame, std_to_wx(m));
+ message_dialog(_frame, std_to_wx(m));
}
- bool config_bad (Config::BadReason reason)
+ bool config_bad(Config::BadReason reason)
{
/* Destroy the splash screen here, as otherwise bad things seem to happen (for reasons unknown)
when we open our recreate dialog, close it, *then* try to Destroy the splash (the Destroy fails).
@@ -1971,7 +1978,7 @@ private:
variant::wx::insert_dcpomatic(_("Close %s"))
);
if (dialog.ShowModal() != wxID_OK) {
- exit (EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
return true;
}
@@ -1990,7 +1997,7 @@ private:
variant::wx::insert_dcpomatic(_("Close %s"))
);
if (dialog.ShowModal() != wxID_OK) {
- exit (EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
return true;
}
@@ -2012,7 +2019,7 @@ private:
return dialog.ShowModal() == wxID_OK;
}
default:
- DCPOMATIC_ASSERT (false);
+ DCPOMATIC_ASSERT(false);
}
}
@@ -2026,4 +2033,4 @@ private:
};
-IMPLEMENT_APP (App)
+IMPLEMENT_APP(App)
diff --git a/src/tools/po/cs_CZ.po b/src/tools/po/cs_CZ.po
index 3c1a1a603..267de9d1f 100644
--- a/src/tools/po/cs_CZ.po
+++ b/src/tools/po/cs_CZ.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2025-06-11 07:50+0200\n"
"Last-Translator: Tomáš Begeni <begeni@razdva.cz>\n"
"Language-Team: \n"
@@ -78,21 +78,21 @@ msgstr "&Upravit"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Konec"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Soubor"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Pomoc"
@@ -124,7 +124,7 @@ msgstr "&Nastavení…\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&UkonÄit"
@@ -149,11 +149,11 @@ msgstr "&Nástroje"
msgid "&View"
msgstr "&Zobrazit"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -168,13 +168,13 @@ msgstr "<b>Playlisty</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "O"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, c-format
msgid "About %s"
msgstr "O %s"
@@ -187,7 +187,7 @@ msgstr "Přidat"
msgid "Add &KDM..."
msgstr "Přidat &KDM…"
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "Přidat &KDM…"
@@ -227,7 +227,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -238,7 +238,7 @@ msgstr ""
"\n"
"%s"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -250,7 +250,7 @@ msgstr ""
"\\%s"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -274,7 +274,7 @@ msgstr "Vyskytl se neznámy problém."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr "Došlo k neznámé výjimce. %s"
@@ -315,7 +315,7 @@ msgstr "CPL obsah není enkryptovaný."
msgid "CPL: %s"
msgstr "CPL: %s"
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -323,7 +323,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Zkontrolovat aktualizace"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -368,7 +368,7 @@ msgstr "Kopírovat nastavení\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Nemohu vytvořit složku pro uložení filmu."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -418,7 +418,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Nelze naÄíst KDM."
@@ -466,7 +466,7 @@ msgstr ""
"Nelze Äíst soubor jako KDM. Je příliÅ¡ velký. UjistÄ›te se, že naÄítáte "
"soubor DKDM (XML)."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -529,7 +529,7 @@ msgstr "Tvůrce"
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -537,7 +537,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic Encode Server"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr "DCP"
@@ -662,7 +662,7 @@ msgstr "Šifrované"
msgid "Entry point"
msgstr "Vstupní bod"
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
#, fuzzy
msgid "Examining DCPs"
msgstr "Kombinování DCP"
@@ -972,7 +972,7 @@ msgstr "Vybrat DCP k otevření"
msgid "Select DCP to open as OV"
msgstr "Vybrat DCP k otevření jako OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Vybrat KDM"
@@ -985,7 +985,7 @@ msgstr "Vybrat DKDM soubor"
msgid "Select DKDM file"
msgstr "Vybrat DKDM soubor"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Vybrat KDM"
@@ -1213,7 +1213,7 @@ msgstr ""
"chcete přehrávat právě tuto složku, vyberte složku DCP uvnitř složky "
"projektu %s."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1258,7 +1258,7 @@ msgstr "Nahahoru"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "Ověřit DCP"
@@ -1271,7 +1271,7 @@ msgstr "Ověřit DCP"
msgid "Verify DCP..."
msgstr "Ověřuji DCP…"
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1283,7 +1283,7 @@ msgstr "Soubor verze (VF)..."
msgid "Video waveform..."
msgstr "Analýza videa..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
#, fuzzy
msgid "Write logs to DCP folders"
msgstr "Výběr složky DCP"
diff --git a/src/tools/po/da_DK.po b/src/tools/po/da_DK.po
index 918e6b446..87f2d75fa 100644
--- a/src/tools/po/da_DK.po
+++ b/src/tools/po/da_DK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2019-04-06 14:07+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -81,21 +81,21 @@ msgstr "&Rediger"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Afslut"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Fil"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Hjælp"
@@ -128,7 +128,7 @@ msgstr "&Indstillinger...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Afslut"
@@ -154,11 +154,11 @@ msgstr "&Værktøjer"
msgid "&View"
msgstr "&Vis"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -173,13 +173,13 @@ msgstr ""
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Om"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "Om"
@@ -193,7 +193,7 @@ msgstr "Tilføj"
msgid "Add &KDM..."
msgstr "&Tilføj KDM..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "&Tilføj KDM..."
@@ -233,7 +233,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -243,7 +243,7 @@ msgstr ""
"Der opstod en fejl: %s (%s)\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -254,7 +254,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -277,7 +277,7 @@ msgstr "Der er sket en uhåndteret fejl."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Der er sket en uhåndteret fejl."
@@ -318,7 +318,7 @@ msgstr "CPL'ens indhold er ikke krypteret."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -326,7 +326,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Søg efter opdateringer"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -371,7 +371,7 @@ msgstr "Kopier indstillinger\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Kunne ikke oprette folder til at gemme film"
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -422,7 +422,7 @@ msgid ""
"%s."
msgstr "Kunne ikke indlæse DCP {}."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Kunne ikke indlæse KDM."
@@ -470,7 +470,7 @@ msgstr ""
"Kunne ikke genkende filen som en KDM. Den er alt for stor. Kontroller at "
"du prøver at indlæse en DKDM (XML) fil."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -533,7 +533,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -541,7 +541,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic Kodningsserver"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -663,7 +663,7 @@ msgstr "Krypteret"
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -973,7 +973,7 @@ msgstr "Vælg DCP der skal åbnes"
msgid "Select DCP to open as OV"
msgstr "Vælg DCP der skal åbnes som OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Vælg KDM"
@@ -987,7 +987,7 @@ msgstr "Vælg DKDM fil"
msgid "Select DKDM file"
msgstr "Vælg DKDM fil"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Vælg KDM"
@@ -1181,7 +1181,7 @@ msgid ""
"you want to play."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1228,7 +1228,7 @@ msgstr "Op"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "Verificer DCP"
@@ -1243,7 +1243,7 @@ msgstr "Verificer DCP"
msgid "Verify DCP..."
msgstr "Verificer DCP"
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1255,7 +1255,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Video bølgeform..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/de_DE.po b/src/tools/po/de_DE.po
index 93154b43a..901df8200 100644
--- a/src/tools/po/de_DE.po
+++ b/src/tools/po/de_DE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2025-04-13 23:26+0200\n"
"Last-Translator: Carsten Kurz\n"
"Language-Team: DCP-o-matic <carl@dcpomatic.com>\n"
@@ -79,21 +79,21 @@ msgstr "&Bearbeiten"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Ende"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Datei"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Hilfe"
@@ -125,7 +125,7 @@ msgstr "&Einstellungen...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Beenden"
@@ -150,11 +150,11 @@ msgstr "&Werkzeuge"
msgid "&View"
msgstr "&Darstellung"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -169,13 +169,13 @@ msgstr "<b>Playlisten</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Über"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, c-format
msgid "About %s"
msgstr "Über %s"
@@ -188,7 +188,7 @@ msgstr "Hinzufügen"
msgid "Add &KDM..."
msgstr "&KDM hinzufügen..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "&KDM hinzufügen..."
@@ -228,7 +228,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -239,7 +239,7 @@ msgstr ""
"\n"
"%s"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -251,7 +251,7 @@ msgstr ""
"%s"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -275,7 +275,7 @@ msgstr "Ein unbekannter Fehler ist aufgetreten."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr "Ein unbekannter Fehler ist aufgetreten. %s"
@@ -317,7 +317,7 @@ msgstr "Inhalt(e) der CPL sind nicht verschlüsselt."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -325,7 +325,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Auf Updates prüfen"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -370,7 +370,7 @@ msgstr "Einstellungen kopieren\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Zielordner für das Projekt konnte nicht erstellt werden."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -424,7 +424,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "KDM konnte nicht geladen werden."
@@ -472,7 +472,7 @@ msgstr ""
"Datei wurde nicht als KDM erkannt. Sie ist zu groß. Stellen Sie sicher, dass "
"es sich um eine DKDM-Datei (XML) handelt."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -537,7 +537,7 @@ msgstr "Creator"
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -545,7 +545,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic J2C Kodierungsserver"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr "DCPs"
@@ -673,7 +673,7 @@ msgstr "Verschlüsselt"
msgid "Entry point"
msgstr "Startpunkt"
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
#, fuzzy
msgid "Examining DCPs"
msgstr "DCP zusammenfügen"
@@ -987,7 +987,7 @@ msgstr "DCP Ordner auswählen"
msgid "Select DCP to open as OV"
msgstr "Ordner mit DCP OV auswählen"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "KDM auswählen"
@@ -1000,7 +1000,7 @@ msgstr "DKDM auswählen"
msgid "Select DKDM file"
msgstr "DKDM auswählen"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "KDM auswählen"
@@ -1233,7 +1233,7 @@ msgstr ""
"Ordnerinhalte können nicht in den Player geladen werden. Wählen Sie "
"stattdessen den DCP Ordner innerhalb des %s Projekts aus."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1280,7 +1280,7 @@ msgid "User manual..."
msgstr ""
# validieren is a term from Sony on their older Projectors, which I think fits well here
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "DCP validieren…"
@@ -1296,7 +1296,7 @@ msgstr "DCP validieren…"
msgid "Verify DCP..."
msgstr "DCP validieren…"
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1308,7 +1308,7 @@ msgstr "Version File (VF)..."
msgid "Video waveform..."
msgstr "Waveform Monitor…"
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
#, fuzzy
msgid "Write logs to DCP folders"
msgstr "Einen DCP Ordner auswählen"
diff --git a/src/tools/po/el_GR.po b/src/tools/po/el_GR.po
index 16e3a12f3..2dba51ea3 100644
--- a/src/tools/po/el_GR.po
+++ b/src/tools/po/el_GR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -77,21 +77,21 @@ msgstr ""
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr ""
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr ""
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr ""
@@ -123,7 +123,7 @@ msgstr ""
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr ""
@@ -148,11 +148,11 @@ msgstr ""
msgid "&View"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -167,13 +167,13 @@ msgstr ""
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr ""
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, c-format
msgid "About %s"
msgstr ""
@@ -186,7 +186,7 @@ msgstr ""
msgid "Add &KDM..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
msgid "Add KDM..."
msgstr ""
@@ -222,7 +222,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -230,7 +230,7 @@ msgid ""
"%s"
msgstr ""
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -239,7 +239,7 @@ msgid ""
msgstr ""
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -260,7 +260,7 @@ msgstr ""
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr ""
@@ -299,7 +299,7 @@ msgstr ""
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -307,7 +307,7 @@ msgstr ""
msgid "Check for updates"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -352,7 +352,7 @@ msgstr ""
msgid "Could not create folder to store film."
msgstr ""
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -399,7 +399,7 @@ msgid ""
"%s."
msgstr ""
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr ""
@@ -445,7 +445,7 @@ msgid ""
"loading a DKDM (XML) file."
msgstr ""
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -501,7 +501,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr ""
@@ -509,7 +509,7 @@ msgstr ""
msgid "DCP-o-matic Encode Server"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -629,7 +629,7 @@ msgstr ""
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -928,7 +928,7 @@ msgstr ""
msgid "Select DCP to open as OV"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
msgid "Select DCP(s)"
msgstr ""
@@ -940,7 +940,7 @@ msgstr ""
msgid "Select DKDM file"
msgstr ""
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr ""
@@ -1123,7 +1123,7 @@ msgid ""
"you want to play."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1168,7 +1168,7 @@ msgstr ""
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr ""
@@ -1180,7 +1180,7 @@ msgstr ""
msgid "Verify DCP..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1192,7 +1192,7 @@ msgstr ""
msgid "Video waveform..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/es_ES.po b/src/tools/po/es_ES.po
index 002a05c9e..291da1624 100644
--- a/src/tools/po/es_ES.po
+++ b/src/tools/po/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCPOMATIC\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2021-10-17 22:46-0400\n"
"Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
"Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -77,21 +77,21 @@ msgstr "&Editar"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Salir"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Archivo"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Ayuda"
@@ -124,7 +124,7 @@ msgstr "&Preferencias...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Salir"
@@ -150,11 +150,11 @@ msgstr "&Herramientas"
msgid "&View"
msgstr "&Ver"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -169,13 +169,13 @@ msgstr "<b>Listas:</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Acerca de"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "Acerca de"
@@ -188,7 +188,7 @@ msgstr "Añadir"
msgid "Add &KDM..."
msgstr "Añadir &KDM..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "Añadir &KDM..."
@@ -228,7 +228,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -238,7 +238,7 @@ msgstr ""
"Ha ocurrido una excepción: %s (%s).\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -249,7 +249,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -272,7 +272,7 @@ msgstr "Ha ocurrido un error desconocido."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Ha ocurrido un error desconocido."
@@ -313,7 +313,7 @@ msgstr "El contenido del CPL no está encriptado."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -321,7 +321,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Buscar actualizaciones"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -366,7 +366,7 @@ msgstr "Copiar configuración\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "No se puedo crear la carpeta para guardar la película."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -417,7 +417,7 @@ msgid ""
"%s."
msgstr "No se pudo cargar el DCP {}."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "No se pudo cargar la KDM."
@@ -466,7 +466,7 @@ msgstr ""
"No se pudo leer el archivo como una KDM. Tal vez está mal formateado, o no "
"es un KDM en absoluto."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -531,7 +531,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
#, fuzzy
msgid "DCP"
msgstr "CPL"
@@ -540,7 +540,7 @@ msgstr "CPL"
msgid "DCP-o-matic Encode Server"
msgstr "Servidor de codificación DCP-o-matic"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -662,7 +662,7 @@ msgstr ""
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -973,7 +973,7 @@ msgstr "Selecciona el DCP a abrir"
msgid "Select DCP to open as OV"
msgstr "Selecciona el DCP a abrir como base (OV)"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Selecciona el KDM"
@@ -987,7 +987,7 @@ msgstr "Selecciona el fichero DKDM"
msgid "Select DKDM file"
msgstr "Selecciona el fichero DKDM"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Selecciona el KDM"
@@ -1182,7 +1182,7 @@ msgid ""
"you want to play."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1229,7 +1229,7 @@ msgstr ""
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr ""
@@ -1241,7 +1241,7 @@ msgstr ""
msgid "Verify DCP..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1253,7 +1253,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Forma de de onda del vídeo…"
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/fa_IR.po b/src/tools/po/fa_IR.po
index c208c1c24..91d7b2a92 100644
--- a/src/tools/po/fa_IR.po
+++ b/src/tools/po/fa_IR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2024-10-05 18:27+0330\n"
"Last-Translator: Soleyman Rahmani Aghdam <Soleyman.rahmani@gmail.com>\n"
"Language-Team: \n"
@@ -80,21 +80,21 @@ msgstr "&ویرایش"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&خروج"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&ÙØ§ÛŒÙ„"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&راهنما"
@@ -126,7 +126,7 @@ msgstr "&اولویتها...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&خروج از برنامه"
@@ -151,11 +151,11 @@ msgstr "&ابزارها"
msgid "&View"
msgstr "&مشاهده"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -170,13 +170,13 @@ msgstr "<b>لیست نمایش:</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "در باره ما"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, c-format
msgid "About %s"
msgstr "در باره %s"
@@ -189,7 +189,7 @@ msgstr "اضاÙÙ‡ کردن"
msgid "Add &KDM..."
msgstr "اضاÙÙ‡ کردن &کلید..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "اضاÙÙ‡ کردن &کلید..."
@@ -229,7 +229,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -240,7 +240,7 @@ msgstr ""
"\n"
"%s"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -252,7 +252,7 @@ msgstr ""
"%s"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -276,7 +276,7 @@ msgstr "یک استثناء ناشناخته روی داده است."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr "یک استثناء ناشناخته روی داده است. %s"
@@ -316,7 +316,7 @@ msgstr "ترکیب لیست نمایش رمزگذاری شده نیست."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -324,7 +324,7 @@ msgstr ""
msgid "Check for updates"
msgstr "اقدام به روز رسانی"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -369,7 +369,7 @@ msgstr "کپی تنظیمات...\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "نمیتوان پوشه برای ذخیره Ùیلم ساخت."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -423,7 +423,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "کلید قابل ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ نیست."
@@ -471,7 +471,7 @@ msgstr ""
"ÙØ§ÛŒÙ„ به عنوان کلید. قابل خواندن نیست. حجم ÙØ§ÛŒÙ„ خیلی زیاد است. از ÙØ±Ø§Ø®ÙˆØ§Ù†ÛŒ یک "
"ÙØ§ÛŒÙ„ کلید توزیع با پسوند ایکس ام ال مطمئن شوید."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -534,7 +534,7 @@ msgstr "سازنده"
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "دی سی پی"
@@ -542,7 +542,7 @@ msgstr "دی سی پی"
msgid "DCP-o-matic Encode Server"
msgstr "سرور رمزگذاری دی سی پی-او-ماتیک"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr "دی سی پی ها"
@@ -668,7 +668,7 @@ msgstr "رمزگذاری شده"
msgid "Entry point"
msgstr "نقطه ورودی"
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
#, fuzzy
msgid "Examining DCPs"
msgstr "ترکیب کردن دی سی پی ها"
@@ -978,7 +978,7 @@ msgstr "یک دی سی پی جهت باز شدن انتخاب کنید"
msgid "Select DCP to open as OV"
msgstr "یک دی سی پی انتخاب کنید تا به عنوان نسخه اصلی باز شود"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "انتخاب کلید"
@@ -991,7 +991,7 @@ msgstr "ÙØ§ÛŒÙ„ کیلد توزیع را انتخاب کنید"
msgid "Select DKDM file"
msgstr "ÙØ§ÛŒÙ„ کیلد توزیع را انتخاب کنید"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "انتخاب کلید"
@@ -1221,7 +1221,7 @@ msgstr ""
"پوشه پروژه %s یک دی سی پی انتخاب کنید اگر همان چیزی است که می خواهید پلی "
"کنید."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1267,7 +1267,7 @@ msgstr "بالا"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "صحت سنجی دی سی پی..."
@@ -1281,7 +1281,7 @@ msgstr "صحت سنجی دی سی پی..."
msgid "Verify DCP..."
msgstr "صحت سنجی دی سی پی..."
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1293,7 +1293,7 @@ msgstr "نسخه ÙØ§ÛŒÙ„(VF)..."
msgid "Video waveform..."
msgstr "شکل موج ویدیو..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
#, fuzzy
msgid "Write logs to DCP folders"
msgstr "یک پوشه دی سی پی انتخاب کنید"
diff --git a/src/tools/po/fr_FR.po b/src/tools/po/fr_FR.po
index 6e552f1da..92c64ca42 100644
--- a/src/tools/po/fr_FR.po
+++ b/src/tools/po/fr_FR.po
@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
-"PO-Revision-Date: 2025-09-28 14:20+0200\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
+"PO-Revision-Date: 2026-04-22 00:09+0200\n"
"Last-Translator: Dan Cohen <thedan.cohen@protonmail.com>\n"
"Language-Team: \n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 3.7\n"
+"X-Generator: Poedit 3.9\n"
#: src/tools/dcpomatic_kdm.cc:491
#, c-format
@@ -78,21 +78,21 @@ msgstr "&Édition"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Quitter"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Fichier"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Aide"
@@ -124,7 +124,7 @@ msgstr "&Préférences...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Quitter"
@@ -149,13 +149,13 @@ msgstr "&Outils"
msgid "&View"
msgstr "&Affichage"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
-msgstr ""
+msgstr "(chiffré, avec KDM)"
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
-msgstr ""
+msgstr "(chiffré, sans KDM)"
#: src/tools/dcpomatic_playlist.cc:324
msgid "<b>Playlist:</b>"
@@ -168,13 +168,13 @@ msgstr "<b>Listes de lecture</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "À propos"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, c-format
msgid "About %s"
msgstr "À propos %s"
@@ -187,10 +187,9 @@ msgstr "Ajouter"
msgid "Add &KDM..."
msgstr "Ajouter un &KDM..."
-#: src/tools/dcpomatic_verifier.cc:180
-#, fuzzy
+#: src/tools/dcpomatic_verifier.cc:187
msgid "Add KDM..."
-msgstr "Ajouter un &KDM..."
+msgstr "Ajouter un KDM..."
#: src/tools/dcpomatic_playlist.cc:80
msgid "Add content"
@@ -227,7 +226,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -238,7 +237,7 @@ msgstr ""
"\n"
"%s"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -250,7 +249,7 @@ msgstr ""
"%s"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -274,7 +273,7 @@ msgstr "Une exception inconnue s'est produite."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr "Une exception inconnue s'est produite. %s"
@@ -294,7 +293,7 @@ msgstr ""
#: src/tools/dcpomatic_player.cc:709
msgid "Audio graph..."
-msgstr ""
+msgstr "Graphique audio…"
#: src/tools/dcpomatic.cc:878
#, c-format
@@ -315,7 +314,7 @@ msgstr "Le contenu de la CPL n'est pas crypté."
msgid "CPL: %s"
msgstr "CPL: %s"
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr "Annuler"
@@ -323,9 +322,9 @@ msgstr "Annuler"
msgid "Check for updates"
msgstr "Rechercher des mises à jour"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
-msgstr ""
+msgstr "Vérification du KDM"
#: src/tools/dcpomatic_combiner.cc:68 src/tools/dcpomatic_disk.cc:84
msgid "Choose a DCP folder"
@@ -368,7 +367,7 @@ msgstr "Copier les réglages\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Impossible de créer un dossier pour stocker le DCP."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -422,7 +421,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Impossible de charger le KDM."
@@ -470,7 +469,7 @@ msgstr ""
"Impossible de lire le fichier comme un KDM. Il est trop lourd. Assurez-"
"vous que vous chargez un fichier DKDM (XML)."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -536,7 +535,7 @@ msgstr "Créateur"
msgid "Crop"
msgstr "Rogner"
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -544,7 +543,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr "Serveur d'encodage DCP-o-matic"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr "DCPs"
@@ -670,19 +669,17 @@ msgstr "Encrypté"
msgid "Entry point"
msgstr "Point d'entrée"
-#: src/tools/dcpomatic_verifier.cc:156
-#, fuzzy
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
-msgstr "DCPs en cours de combinaison"
+msgstr "DCPs en cours d’analyse"
#: src/tools/dcpomatic.cc:1446
msgid "Export preferences..."
msgstr "Exporter les préférences..."
#: src/tools/dcpomatic.cc:1418
-#, fuzzy
msgid "Export subtitles...\tShift-Ctrl-E"
-msgstr "Exporter les sous-titres..."
+msgstr "Exporter les sous-titres...\tShift-Ctrl-E"
#: src/tools/dcpomatic.cc:1417
msgid "Export video file...\tCtrl-E"
@@ -981,10 +978,9 @@ msgstr "Sélectionner le DCP à ouvrir"
msgid "Select DCP to open as OV"
msgstr "Sélectionner le DCP à ouvrir en tant qu'OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
-#, fuzzy
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
msgid "Select DCP(s)"
-msgstr "Sélectionner le KDM"
+msgstr "Sélectionner le DCP"
#: src/tools/dcpomatic_kdm.cc:821
msgid "Select DKDM File"
@@ -994,7 +990,7 @@ msgstr "Sélectionner le fichier DKDM"
msgid "Select DKDM file"
msgstr "Sélectionner le fichier DKDM"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Sélectionner le KDM"
@@ -1230,7 +1226,7 @@ msgstr ""
"le lecteur. Choisissez le répertoire DCP à l'intérieur du dossier de projet "
"%s si c'est ce que vous voulez lire."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1276,9 +1272,9 @@ msgstr "Haut"
#: src/tools/dcpomatic.cc:1455
msgid "User manual..."
-msgstr ""
+msgstr "Manuel utilisateur…"
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr "Vérifier"
@@ -1290,7 +1286,7 @@ msgstr "Vérifier le DCP"
msgid "Verify DCP..."
msgstr "Vérifier le DCP..."
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr "Vérifier les caractéristiques des ressources vidéo"
@@ -1302,7 +1298,7 @@ msgstr "DCP supplémental (VF)..."
msgid "Video waveform..."
msgstr "Forme d'onde vidéo..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr "Ecrire les rapports dans les dossiers DCP"
diff --git a/src/tools/po/hu_HU.po b/src/tools/po/hu_HU.po
index 107a81bd1..9c6b84cf7 100644
--- a/src/tools/po/hu_HU.po
+++ b/src/tools/po/hu_HU.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2022-09-17 10:54+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -77,21 +77,21 @@ msgstr "&Szerkesztés"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Kilépés"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Fájl"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Segítség"
@@ -124,7 +124,7 @@ msgstr "&Beállítások…\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Kilépés"
@@ -149,11 +149,11 @@ msgstr "&Eszközök"
msgid "&View"
msgstr "&Nézet"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -168,13 +168,13 @@ msgstr "<b>Lejátszási listák</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Névjegy"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "Névjegy"
@@ -187,7 +187,7 @@ msgstr "Hozzáadás"
msgid "Add &KDM..."
msgstr "&KDM hozzáadása…"
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "&KDM hozzáadása…"
@@ -227,7 +227,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -237,7 +237,7 @@ msgstr ""
"Hiba történt: %s (%s)\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -248,7 +248,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -271,7 +271,7 @@ msgstr "Egy ismeretlen hiba történt."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Egy ismeretlen hiba történt."
@@ -312,7 +312,7 @@ msgstr "A CPL tartalma nincs titkosítva."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -320,7 +320,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Frissítések keresése"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -365,7 +365,7 @@ msgstr "Beállítások másolása\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Nem sikerült mappát létrehozni a film számára."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -419,7 +419,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Nem sikerült a KDM betöltése."
@@ -467,7 +467,7 @@ msgstr ""
"Nem olvasható ez a fájl KDM-ként. Túl nagy, kérlek győződj meg róla, hogy "
"egy DKDM (XML) fájlt töltesz be."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -533,7 +533,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
#, fuzzy
msgid "DCP"
msgstr "CPL"
@@ -542,7 +542,7 @@ msgstr "CPL"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic Encode Server"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -664,7 +664,7 @@ msgstr "Kódolt"
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -973,7 +973,7 @@ msgstr "DCP kiválasztása megnyitáshoz"
msgid "Select DCP to open as OV"
msgstr "DCP kiválasztása az OV-ként való megnyitáshoz"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "KDM kiválasztása"
@@ -986,7 +986,7 @@ msgstr "DKDM fájl kiválasztása"
msgid "Select DKDM file"
msgstr "DKDM fájl kiválasztása"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "KDM kiválasztása"
@@ -1203,7 +1203,7 @@ msgstr ""
"lejátszóban. Válaszd ki a DCP mappáját a DCP-o-matic projekt mappáján belül, "
"ha azt kívánod lejátszani."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1249,7 +1249,7 @@ msgstr "Fel"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "DCP ellenőrzése…"
@@ -1263,7 +1263,7 @@ msgstr "DCP ellenőrzése…"
msgid "Verify DCP..."
msgstr "DCP ellenőrzése…"
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1275,7 +1275,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Videó hullámforma…"
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/it_IT.po b/src/tools/po/it_IT.po
index 5bcc58319..f97081b47 100644
--- a/src/tools/po/it_IT.po
+++ b/src/tools/po/it_IT.po
@@ -7,20 +7,20 @@ msgid ""
msgstr ""
"Project-Id-Version: IT VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
-"PO-Revision-Date: 2018-09-30 16:31+0200\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
+"PO-Revision-Date: 2026-05-30 11:03+0200\n"
"Last-Translator: William Fanelli <william.f@impronte.com>\n"
"Language-Team: \n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.0.7\n"
+"X-Generator: Poedit 3.9\n"
#: src/tools/dcpomatic_kdm.cc:491
#, c-format
msgid "%d KDM written to %s"
-msgstr "%d KDM scritto in %s"
+msgstr "%d KDM scritta in %s"
#: src/tools/dcpomatic_kdm.cc:491
#, c-format
@@ -28,30 +28,30 @@ msgid "%d KDMs written to %s"
msgstr "%d KDM scritte in %s"
#: src/tools/dcpomatic_combiner.cc:177
-#, fuzzy, c-format
+#, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "{} esiste già il file, non è possibile usarlo per un nuovo film"
+msgstr "%s esiste già come file, non è possibile usarlo per un DCP."
#: src/tools/dcpomatic_disk.cc:518 src/tools/dcpomatic_kdm.cc:944
#: src/tools/dcpomatic_player.cc:1426
-#, fuzzy, c-format
+#, c-format
msgid "%s could not start"
-msgstr "DCP-o-MATIC non può essere avviato"
+msgstr "%s non ha potuto avviarsi"
#: src/tools/dcpomatic_playlist.cc:717
-#, fuzzy, c-format
+#, c-format
msgid "%s could not start %s"
-msgstr "DCP-o-MATIC non può essere avviato"
+msgstr "%s non ha potuto avviare %s"
#: src/tools/dcpomatic_combiner.cc:272
-#, fuzzy, c-format
+#, c-format
msgid "%s could not start (%s)"
-msgstr "DCP-o-MATIC non può essere avviato"
+msgstr "%s non ha potuto avviare (%s)"
#: src/tools/dcpomatic.cc:1787 src/tools/dcpomatic_editor.cc:573
-#, fuzzy, c-format
+#, c-format
msgid "%s could not start."
-msgstr "DCP-o-MATIC non può essere avviato"
+msgstr "%s non ha potuto avviarsi."
#: src/tools/dcpomatic_batch.cc:88
msgid "&Add Film...\tCtrl-A"
@@ -66,9 +66,8 @@ msgid "&Close"
msgstr "&Chiudi"
#: src/tools/dcpomatic.cc:1375
-#, fuzzy
msgid "&Close\tCtrl-W"
-msgstr "&Salva\tCtrl-S"
+msgstr "&Chiudi\tCtrl-W"
#: src/tools/dcpomatic_batch.cc:110 src/tools/dcpomatic.cc:1461
#: src/tools/dcpomatic_kdm.cc:347 src/tools/dcpomatic_player.cc:728
@@ -78,27 +77,27 @@ msgstr "&Modifica"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Esci"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&File"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Aiuto"
#: src/tools/dcpomatic.cc:1462
msgid "&Jobs"
-msgstr "&Elaborazioni"
+msgstr "&Lavori"
#: src/tools/dcpomatic.cc:1406
msgid "&Make DCP\tCtrl-M"
@@ -112,9 +111,8 @@ msgstr "&Apri...\tCtrl-O"
#: src/tools/dcpomatic_batch.cc:96 src/tools/dcpomatic.cc:1397
#: src/tools/dcpomatic_kdm.cc:336 src/tools/dcpomatic_player.cc:678
#: src/tools/dcpomatic_playlist.cc:607
-#, fuzzy
msgid "&Preferences...\tCtrl-,"
-msgstr "&Preferenze...\tCtrl-P"
+msgstr "&Preferenze\tCtrl-,"
#: src/tools/dcpomatic_batch.cc:99 src/tools/dcpomatic.cc:1401
#: src/tools/dcpomatic_kdm.cc:328 src/tools/dcpomatic_player.cc:681
@@ -125,7 +123,7 @@ msgstr "&Preferenze...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Esci"
@@ -134,13 +132,12 @@ msgid "&Save\tCtrl-S"
msgstr "&Salva\tCtrl-S"
#: src/tools/dcpomatic_player.cc:663
-#, fuzzy
msgid "&Save frame to file...\tCtrl-S"
-msgstr "&Esporta...\tCtrl-O"
+msgstr "&Esporta still da questo frame\tCtrl-S"
#: src/tools/dcpomatic.cc:1420
msgid "&Send DCP to TMS"
-msgstr "&Invia DCP a TMS"
+msgstr "&Invia DCP al TMS"
#: src/tools/dcpomatic_batch.cc:112 src/tools/dcpomatic.cc:1464
#: src/tools/dcpomatic_player.cc:731
@@ -151,64 +148,59 @@ msgstr "&Strumenti"
msgid "&View"
msgstr "&Visualizza"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
-msgstr ""
+msgstr "(criptato, KDM presente)"
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
-msgstr ""
+msgstr "(criptato, KDM non presente)"
#: src/tools/dcpomatic_playlist.cc:324
msgid "<b>Playlist:</b>"
-msgstr ""
+msgstr "<b>Playlist:</b>"
#: src/tools/dcpomatic_playlist.cc:132
msgid "<b>Playlists</b>"
-msgstr ""
+msgstr "<b>Playlists</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Informazioni"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
-#, fuzzy, c-format
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
+#, c-format
msgid "About %s"
-msgstr "Informazioni"
+msgstr "Informazioni %s"
#: src/tools/dcpomatic_playlist.cc:349
-#, fuzzy
msgid "Add"
-msgstr "Aggiungi..."
+msgstr "Aggiungi"
#: src/tools/dcpomatic_player.cc:661
-#, fuzzy
msgid "Add &KDM..."
-msgstr "&Aggiungi KDM..."
+msgstr "Aggiungi &KDM…"
-#: src/tools/dcpomatic_verifier.cc:180
-#, fuzzy
+#: src/tools/dcpomatic_verifier.cc:187
msgid "Add KDM..."
-msgstr "&Aggiungi KDM..."
+msgstr "Aggiungi KDM…"
#: src/tools/dcpomatic_playlist.cc:80
-#, fuzzy
msgid "Add content"
-msgstr "Caricamento DCP"
+msgstr "Aggiungi contenuti"
#: src/tools/dcpomatic_batch.cc:177
-#, fuzzy
msgid "Add film"
-msgstr "Aggiungi film..."
+msgstr "Aggiungi film"
#: src/tools/dcpomatic_batch.cc:177
msgid "Add film for conversion"
-msgstr ""
+msgstr "Aggiungi film per conversione"
#: src/tools/dcpomatic_kdm.cc:216
msgid "Add folder..."
@@ -220,20 +212,21 @@ msgstr "Aggiungi..."
#: src/tools/dcpomatic_combiner.cc:313 src/tools/dcpomatic_editor.cc:612
#: src/tools/dcpomatic_player.cc:1484 src/tools/dcpomatic_playlist.cc:740
-#, fuzzy, c-format
+#, c-format
msgid ""
"An exception occurred: %s\n"
"\n"
"%s"
msgstr ""
-"Si è verificata un'eccezione: %s.\n"
+"Si è verificata un'eccezione:%s\n"
"\n"
+"%s"
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
-#, fuzzy, c-format
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
+#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
"\n"
@@ -241,20 +234,22 @@ msgid ""
msgstr ""
"Si è verificata un'eccezione: %s (%s)\n"
"\n"
+"%s"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
-#, fuzzy, c-format
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
+#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
"\n"
"%s"
msgstr ""
-"Si è verificata un'eccezione: %s (%s)\n"
+"Si è verificata un'eccezione: %s (%s) (%s)\n"
"\n"
+"%s"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
-#, fuzzy, c-format
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
+#, c-format
msgid ""
"An exception occurred: %s.\n"
"\n"
@@ -262,11 +257,12 @@ msgid ""
msgstr ""
"Si è verificata un'eccezione: %s.\n"
"\n"
+"%s"
#: src/tools/dcpomatic_server.cc:362
-#, fuzzy, c-format
+#, c-format
msgid "An unknown error has occurred with the %s."
-msgstr "Errore sconosciuto sul server di DCP-o-MATIC."
+msgstr "Si è verificato un errore sconosciuto con %s."
#: src/tools/dcpomatic.cc:1026 src/tools/dcpomatic_kdm.cc:515
msgid "An unknown exception occurred."
@@ -276,10 +272,10 @@ msgstr "Si è verificata un'eccezione sconosciuta."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
-#, fuzzy, c-format
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
+#, c-format
msgid "An unknown exception occurred. %s"
-msgstr "Si è verificata un'eccezione sconosciuta."
+msgstr "Si è verificata un'eccezione sconosciuta. %s"
#: src/tools/dcpomatic_combiner.cc:122 src/tools/dcpomatic_editor.cc:85
#: src/tools/dcpomatic_editor.cc:204 src/tools/dcpomatic_editor.cc:293
@@ -291,12 +287,12 @@ msgid ""
"Are you sure you want to restore preferences to their defaults? This cannot "
"be undone."
msgstr ""
-"Sei sicuro di voler ripristinare le impostazioni ai valori predefiniti? "
+"Sei sicuro di voler ripristinare le impostazioni ai valori predefiniti? "
"Questa operazione non può essere annullata."
#: src/tools/dcpomatic_player.cc:709
msgid "Audio graph..."
-msgstr ""
+msgstr "Spettro audio…"
#: src/tools/dcpomatic.cc:878
#, c-format
@@ -310,33 +306,33 @@ msgstr "CPL"
#: src/tools/dcpomatic.cc:1022 src/tools/dcpomatic_kdm.cc:511
msgid "CPL's content is not encrypted."
-msgstr "Il contenuto CPL non è criptato."
+msgstr "Il contenuto della CPL non è criptato."
#: src/tools/dcpomatic_editor.cc:410
#, c-format
msgid "CPL: %s"
-msgstr ""
+msgstr "CPL: %s"
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
-msgstr ""
+msgstr "Annulla"
#: src/tools/dcpomatic.cc:1441 src/tools/dcpomatic_player.cc:711
msgid "Check for updates"
msgstr "Controlla aggiornamenti"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
-msgstr ""
+msgstr "Controllo KDM in corso"
#: src/tools/dcpomatic_combiner.cc:68 src/tools/dcpomatic_disk.cc:84
msgid "Choose a DCP folder"
-msgstr ""
+msgstr "Scegli una cartella DCP"
#: src/tools/dcpomatic.cc:1971 src/tools/dcpomatic.cc:1990
-#, fuzzy, c-format
+#, c-format
msgid "Close %s"
-msgstr "&Chiudi"
+msgstr "Chiudi %s"
#: src/tools/dcpomatic.cc:167
msgid "Close without saving film"
@@ -344,15 +340,15 @@ msgstr "Chiudi senza salvare il film"
#: src/tools/dcpomatic.cc:1433 src/tools/dcpomatic_player.cc:696
msgid "Closed captions..."
-msgstr ""
+msgstr "Sottotitoli (CC)…"
#: src/tools/dcpomatic_combiner.cc:130
msgid "Combine"
-msgstr ""
+msgstr "Unisci"
#: src/tools/dcpomatic_combiner.cc:184
msgid "Combining DCPs"
-msgstr ""
+msgstr "Unione DCP in corso"
#: src/tools/dcpomatic_editor.cc:219
msgid "Content title text"
@@ -360,33 +356,31 @@ msgstr ""
#: src/tools/dcpomatic_disk.cc:166
msgid "Copy DCPs"
-msgstr ""
+msgstr "Copia DCP"
#: src/tools/dcpomatic.cc:1389
msgid "Copy settings\tCtrl-C"
msgstr "Copia preferenze\tCtrl-C"
#: src/tools/dcpomatic.cc:587 src/tools/dcpomatic.cc:596
-#, fuzzy
msgid "Could not create folder to store film."
-msgstr "Impossibile creare la cartella per archiviare il film"
+msgstr "Impossibile creare la cartella per contenere il film."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
msgstr ""
-"Impossibile decodificare il DKDM. Forse non è stato creato con il "
-"certificato corretto."
+"Impossibile decrittare la DKDM. Forse non è stata creata con il certificato "
+"corretto."
#: src/tools/dcpomatic.cc:661 src/tools/dcpomatic.cc:678
-#, fuzzy
msgid "Could not duplicate project."
-msgstr "Impossibile trovare il player."
+msgstr "Impossibile duplicare il progetto."
#: src/tools/dcpomatic.cc:955
msgid "Could not find batch converter."
-msgstr "Impossibile trovare il convertitore batch."
+msgstr "Impossibile trovare il batch converter."
#: src/tools/dcpomatic.cc:970
msgid "Could not find player."
@@ -398,30 +392,35 @@ msgid ""
"Could not listen for new batch jobs. Perhaps another instance of the %s is "
"running."
msgstr ""
+"Impossibile ricercare per nuovi batch job. Potrebbe esserci un’altra "
+"istanza di %s aperta."
#: src/tools/dcpomatic_editor.cc:404
msgid "Could not load DCP"
msgstr "Impossibile caricare DCP"
#: src/tools/dcpomatic_player.cc:1403
-#, fuzzy, c-format
+#, c-format
msgid "Could not load DCP %s"
-msgstr "Impossibile caricare DCP {}."
+msgstr "Impossibile caricare DCP %s"
#: src/tools/dcpomatic_player.cc:882
-#, fuzzy, c-format
+#, c-format
msgid "Could not load DCP %s."
-msgstr "Impossibile caricare DCP {}."
+msgstr "Impossibile caricare DCP %s."
#: src/tools/dcpomatic_player.cc:649
-#, fuzzy, c-format
+#, c-format
msgid ""
"Could not load DCP.\n"
"\n"
"%s."
-msgstr "Impossibile caricare DCP {}."
+msgstr ""
+"Impossibile caricare DCP.\n"
+"\n"
+"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Impossibile caricare KDM."
@@ -429,7 +428,7 @@ msgstr "Impossibile caricare KDM."
#: src/tools/dcpomatic_player.cc:467
#, c-format
msgid "Could not load a DCP from %s"
-msgstr ""
+msgstr "Impossibile caricare DCP da %s"
#: src/tools/dcpomatic_batch.cc:495
#, c++-format
@@ -442,9 +441,9 @@ msgid "Could not load film {} ({})"
msgstr "Impossibile caricare il film {} ({})"
#: src/tools/dcpomatic_player.cc:1411
-#, fuzzy, c-format
+#, c-format
msgid "Could not load stress test file %s"
-msgstr "Impossibile caricare il film {}"
+msgstr "Impossibile caricare file di stress test %s"
#: src/tools/dcpomatic.cc:880
msgid "Could not make DCP."
@@ -457,55 +456,56 @@ msgid "Could not open film at %s"
msgstr "Impossibile aprire il film in %s"
#: src/tools/dcpomatic.cc:502
-#, fuzzy, c-format
+#, c-format
msgid "Could not open this folder as a %s project."
-msgstr "Impossibile aprire il film in %s"
+msgstr "Impossibile aprire questa cartella come progetto %s."
#: src/tools/dcpomatic_kdm.cc:657
-#, fuzzy
msgid ""
"Could not read file as a KDM. It is much too large. Make sure you are "
"loading a DKDM (XML) file."
msgstr ""
-"Impossibile leggere il file come KDM. Forse è formattato male, o non è una "
-"KDM."
+"Impossibile leggere il file come KDM. È troppo grande. Controlla bene di "
+"stare caricando un file DKDM (XML)."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
msgstr ""
-"Impossibile leggere il file come KDM. Forse è formattato male, o non è una "
+"Impossibile leggere il file come KDM. Forse è formattato male, o non è una "
"KDM."
#: src/tools/dcpomatic.cc:799
msgid "Could not remove existing preferences file"
-msgstr ""
+msgstr "Impossibile rimuovere il file di preferenze esistente"
#: src/tools/dcpomatic.cc:630 src/tools/dcpomatic.cc:1328
-#, fuzzy
msgid "Could not save project."
-msgstr "Impossibile creare DCP."
+msgstr "Impossibile salvare il progetto."
#: src/tools/dcpomatic.cc:645
-#, fuzzy
msgid "Could not save template."
-msgstr "Impossibile trovare il player."
+msgstr "Impossibile salvare il template."
#: src/tools/dcpomatic.cc:1089
msgid "Could not show DCP."
-msgstr "Impossibile visualizzare il DCP."
+msgstr "Impossibile mostrare DCP."
#: src/tools/dcpomatic.cc:953
msgid ""
"Could not start the batch converter. You may need to download it from "
"dcpomatic.com."
msgstr ""
+"Impossibile avviare il batch converter. Potrebbe essere necessario "
+"scaricarlo da dcpomatic.com."
#: src/tools/dcpomatic.cc:968
msgid ""
"Could not start the player. You may need to download it from dcpomatic.com."
msgstr ""
+"Impossibile avviare il player. Potrebbe essere necessario scaricarlo da "
+"dcpomatic.com."
#: src/tools/dcpomatic_batch.cc:365 src/tools/dcpomatic.cc:1477
#: src/tools/dcpomatic_player.cc:1128 src/tools/dcpomatic_playlist.cc:639
@@ -513,19 +513,15 @@ msgstr ""
msgid ""
"Could not write to config file at %s. Your changes have not been saved."
msgstr ""
-"Impossibile scrivere il file di configurazione in %s. Le modifiche non "
-"verranno salvate."
+"Could not write to config file at %s. Le modifiche non sono state salvate."
#: src/tools/dcpomatic_player.cc:1136
-#, fuzzy
msgid "Could not write to config file. Your changes have not been saved."
-msgstr ""
-"Impossibile scrivere il file di configurazione in %s. Le modifiche non "
-"verranno salvate."
+msgstr "Could not write to config file. Le modifiche non sono state salvate."
#: src/tools/dcpomatic_kdm.cc:239
msgid "Create KDMs"
-msgstr "Crea le KDM"
+msgstr "Crea KDM"
#: src/tools/dcpomatic_editor.cc:214 src/tools/dcpomatic_editor.cc:303
msgid "Creator"
@@ -533,24 +529,23 @@ msgstr ""
#: src/tools/dcpomatic_playlist.cc:342
msgid "Crop"
-msgstr ""
+msgstr "Crop"
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
-#, fuzzy
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
-msgstr "CPL"
+msgstr "DCP"
#: src/tools/dcpomatic_server.cc:256
msgid "DCP-o-matic Encode Server"
-msgstr "DCP-o-MATIC Server per la Codifica"
+msgstr "DCP-o-matic Encode Server"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
-msgstr ""
+msgstr "I DCP"
#: src/tools/dcpomatic_combiner.cc:194
msgid "DCPs combined successfully."
-msgstr ""
+msgstr "DCP uniti con successo."
#: src/tools/dcpomatic_kdm.cc:175
msgid "DKDM"
@@ -559,7 +554,7 @@ msgstr "DKDM"
#: src/tools/dcpomatic_kdm.cc:632
#, c-format
msgid "DKDM %s is already in the DKDM list and will not be added again."
-msgstr ""
+msgstr "La DKDM %s è già nella lista DKDM e non sarà aggiunta di nuovo."
#: src/tools/dcpomatic_player.cc:703
msgid "Decode at full resolution"
@@ -575,30 +570,31 @@ msgstr "Decodifica ad un quarto della risoluzione"
#: src/tools/dcpomatic_playlist.cc:145
msgid "Delete"
-msgstr ""
+msgstr "Elimina"
#: src/tools/dcpomatic_disk.cc:344
#, c-format
msgid ""
"Did you install the %s Disk Writer.pkg from the .dmg? Please check and try "
"again."
-msgstr ""
+msgstr "Hai installato Disk Writer.pkg di %s dal .dmg? Controlla e riprova."
#: src/tools/dcpomatic_disk.cc:190
-#, fuzzy
msgid "Disk Writer"
-msgstr "DCP-o-MATIC KDM Creator"
+msgstr ""
#: src/tools/dcpomatic.cc:1938 src/tools/dcpomatic.cc:1955
#: src/tools/dcpomatic.cc:2009
msgid "Do nothing"
-msgstr ""
+msgstr "Non fare nulla"
#: src/tools/dcpomatic_disk.cc:336
msgid ""
"Do you see a 'User Account Control' dialogue asking about "
"dcpomatic2_disk_writer.exe? If so, click 'Yes', then try again."
msgstr ""
+"Vedi una finestra di dialogo ‘Controllo dell'account utente' che chiede di "
+"dcpomatic2_disk_writer.exe? Se è così, clicca ‘Si’, poi riprova."
#: src/tools/dcpomatic.cc:863
#, c-format
@@ -615,19 +611,19 @@ msgstr "Non duplicare"
#: src/tools/dcpomatic_playlist.cc:348
msgid "Down"
-msgstr ""
+msgstr "Giù"
#: src/tools/dcpomatic_disk.cc:153
msgid "Drive"
-msgstr ""
+msgstr "Drive"
#: src/tools/dcpomatic_player.cc:693
msgid "Dual screen\tShift+F11"
-msgstr ""
+msgstr "Dual monitor\tShift+F11"
#: src/tools/dcpomatic.cc:652 src/tools/dcpomatic.cc:668
msgid "Duplicate Film"
-msgstr "Duplica film"
+msgstr "Duplica Film"
#: src/tools/dcpomatic.cc:1369
msgid "Duplicate and open..."
@@ -643,52 +639,47 @@ msgstr "Duplica..."
#: src/tools/dcpomatic_editor.cc:95
msgid "Duration"
-msgstr ""
+msgstr "Durata"
#: src/tools/dcpomatic_editor.cc:155
msgid "Edit reel"
-msgstr ""
+msgstr "Modifica reel"
#: src/tools/dcpomatic_playlist.cc:351
-#, fuzzy
msgid "Edit..."
-msgstr "&Modifica"
+msgstr "Modifica…"
#: src/tools/dcpomatic_batch.cc:103 src/tools/dcpomatic.cc:1439
msgid "Encoding servers..."
-msgstr "Servers di codifica..."
+msgstr "Server di codifica..."
#: src/tools/dcpomatic_playlist.cc:341
msgid "Encrypted"
-msgstr ""
+msgstr "Decrittato"
#: src/tools/dcpomatic_editor.cc:90
msgid "Entry point"
-msgstr ""
+msgstr "Punto di ingresso"
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
-msgstr ""
+msgstr "Esaminando DCP"
#: src/tools/dcpomatic.cc:1446
-#, fuzzy
msgid "Export preferences..."
-msgstr "Ripristinare le impostazioni predefinite"
+msgstr "Esporta impostazioni…"
#: src/tools/dcpomatic.cc:1418
-#, fuzzy
msgid "Export subtitles...\tShift-Ctrl-E"
-msgstr "&Esporta...\tCtrl-O"
+msgstr "Esporta sottotitoli…\tShift-Ctrl-E"
#: src/tools/dcpomatic.cc:1417
-#, fuzzy
msgid "Export video file...\tCtrl-E"
-msgstr "&Esporta...\tCtrl-O"
+msgstr "Esporta file video…\tCtrl-E"
#: src/tools/dcpomatic_kdm.cc:220
-#, fuzzy
msgid "Export..."
-msgstr "&Esporta...\tCtrl-O"
+msgstr "Esporta…"
#: src/tools/dcpomatic_player.cc:700
msgid "Eye"
@@ -697,22 +688,22 @@ msgstr ""
#: src/tools/dcpomatic.cc:1041 src/tools/dcpomatic_kdm.cc:362
#, c-format
msgid "File %s already exists. Do you want to overwrite it?"
-msgstr "Il file %s esiste già. Sovrascriverlo?"
+msgstr "Il file %s esiste già. Vuoi sovrascriverlo?"
#. TRANSLATORS: this is the heading for a dialog box, which tells the user that the current
#. project (Film) has been changed since it was last saved.
#: src/tools/dcpomatic.cc:162 src/tools/dcpomatic.cc:190
msgid "Film changed"
-msgstr "Film modificato"
+msgstr "Film cambiato"
#: src/tools/dcpomatic_disk.cc:190
msgid "Finding disks"
-msgstr ""
+msgstr "Ricerca dischi"
#: src/tools/dcpomatic_kdm.cc:357
-#, fuzzy, c-format
+#, c-format
msgid "Folder %s already exists. Do you want to overwrite it?"
-msgstr "Il file %s esiste già. Sovrascriverlo?"
+msgstr "La cartella %s esiste già. Vuoi sovrascriverla?"
#: src/tools/dcpomatic_server.cc:169
msgid "Frames per second"
@@ -720,16 +711,15 @@ msgstr "Frame per secondo"
#: src/tools/dcpomatic_player.cc:692
msgid "Full screen\tF11"
-msgstr ""
+msgstr "Schermo intero\tF11"
#: src/tools/dcpomatic.cc:1438
msgid "Hints..."
msgstr "Suggerimenti..."
#: src/tools/dcpomatic.cc:1447
-#, fuzzy
msgid "Import preferences..."
-msgstr "Ripristinare le impostazioni predefinite"
+msgstr "Importa impostazioni…"
#: src/tools/dcpomatic_combiner.cc:105
msgid "Input DCP"
@@ -750,6 +740,9 @@ msgid ""
"projects, not DCPs. To import a DCP, create a new project with File -> New "
"and then click the \"Add DCP...\" button."
msgstr ""
+"Sembra stia provando ad aprire un DCP. File -> Apri è per caricare progetti "
+"%s, non DCP. Per importare DCP, crea un nuovo progetto con File -> Nuovo e "
+"poi clicca il bottone “Aggiungi DCP...\"."
#. TRANSLATORS: translate the word "Timing" here; do not include the "KDM|" prefix
#: src/tools/dcpomatic_kdm.cc:169
@@ -758,47 +751,45 @@ msgstr "KDM|Timing"
#: src/tools/dcpomatic_player.cc:698
msgid "Left"
-msgstr ""
+msgstr "Sinistra"
#: src/tools/dcpomatic_playlist.cc:140
msgid "Length"
-msgstr ""
+msgstr "Lunghezza"
#: src/tools/dcpomatic_player.cc:449 src/tools/dcpomatic_player.cc:803
-#, fuzzy
msgid "Loading content"
-msgstr "Caricamento DCP"
+msgstr "Caricamento contenuti"
#: src/tools/dcpomatic.cc:1413
-#, fuzzy
msgid "Make &DKDMs...\tCtrl-D"
-msgstr "Crea &KDMs...\tCtrl-K"
+msgstr "Crea &DKDM...\tCtrl-D"
#: src/tools/dcpomatic.cc:1411
msgid "Make &KDMs...\tCtrl-K"
-msgstr "Crea &KDMs...\tCtrl-K"
+msgstr "Crea &KDM...\tCtrl-K"
#: src/tools/dcpomatic.cc:1408
msgid "Make DCP in &batch converter\tCtrl-B"
msgstr "Crea DCP in &batch converter\tCtrl-B"
#: src/tools/dcpomatic.cc:1414
-#, fuzzy, c-format
+#, c-format
msgid "Make DKDM for %s..."
-msgstr "Crea DKDM per DCP-o-MATIC..."
+msgstr "Crea DKDM per %s..."
#: src/tools/dcpomatic.cc:1440
msgid "Manage templates..."
-msgstr "Gestione modello..."
+msgstr "Gestione template…"
#: src/tools/dcpomatic_editor.cc:227 src/tools/dcpomatic_playlist.cc:139
#: src/tools/dcpomatic_playlist.cc:338
msgid "Name"
-msgstr ""
+msgstr "Nome"
#: src/tools/dcpomatic_playlist.cc:143
msgid "New"
-msgstr ""
+msgstr "Nuovo"
#: src/tools/dcpomatic.cc:568
msgid "New Film"
@@ -806,7 +797,7 @@ msgstr "Nuovo Film"
#: src/tools/dcpomatic_playlist.cc:257
msgid "New Playlist"
-msgstr ""
+msgstr "Nuova Playlist"
#: src/tools/dcpomatic.cc:1360
msgid "New...\tCtrl-N"
@@ -817,33 +808,37 @@ msgid ""
"No ASSETMAP or ASSETMAP.xml found in this folder. Please choose a DCP "
"folder."
msgstr ""
+"Non sono stati trovati ASSETMAP or ASSETMAP.xml in questa cartella. Per "
+"favore scegli una cartella DCP."
#: src/tools/dcpomatic_playlist.cc:253
msgid ""
"No playlist folder is specified in preferences. Please set one and then try "
"again."
msgstr ""
+"Non è stata specificata una cartella playlist nelle preferenze. Per favore "
+"impostala e riprova."
#: src/tools/dcpomatic.cc:1430
msgid "Open DCP in &player"
-msgstr "Apri il DCP nel Player"
+msgstr "Apri DCP in &player"
#: src/tools/dcpomatic_editor.cc:347
msgid "Open a DCP using File -> Open"
-msgstr ""
+msgstr "Apri un DCP usando File -> Apri"
#: src/tools/dcpomatic_kdm.cc:227
msgid "Output"
-msgstr "Uscita"
+msgstr "Output"
#: src/tools/dcpomatic_combiner.cc:126
msgid "Output DCP folder"
-msgstr ""
+msgstr "Cartella output DCP"
#: src/tools/dcpomatic_editor.cc:413
#, c-format
msgid "PKL: %s"
-msgstr ""
+msgstr "PKL: %s"
#: src/tools/dcpomatic.cc:1391
msgid "Paste settings...\tCtrl-V"
@@ -851,15 +846,15 @@ msgstr "Incolla preferenze...\tCtrl-V"
#: src/tools/dcpomatic_batch.cc:178
msgid "Pause or resume conversion"
-msgstr ""
+msgstr "Pausa o riprendi conversione"
#: src/tools/dcpomatic_batch.cc:178
msgid "Pause/resume"
-msgstr ""
+msgstr "Pausa/riprendi"
#: src/tools/dcpomatic_editor.cc:173
msgid "Picture"
-msgstr ""
+msgstr "Immagine"
#: src/tools/dcpomatic.cc:592
#, c-format
@@ -867,19 +862,20 @@ msgid ""
"Please check that you do not have Windows controlled folder access enabled "
"for %s."
msgstr ""
+"Per favore controlla di non avere “Accesso alle cartelle controllate†di "
+"Windows abilitato per %s."
#: src/tools/dcpomatic_playlist.cc:429
msgid "Question|N"
-msgstr ""
+msgstr "Domanda|N"
#: src/tools/dcpomatic_playlist.cc:429
msgid "Question|Y"
-msgstr ""
+msgstr "Domanda|S"
#: src/tools/dcpomatic_server.cc:238
-#, fuzzy
msgid "Quit"
-msgstr "&Esci"
+msgstr "Esci"
#: src/tools/dcpomatic.cc:1981
msgid "Recreate KDM decryption chain"
@@ -888,19 +884,19 @@ msgstr ""
#: src/tools/dcpomatic.cc:1932 src/tools/dcpomatic.cc:1949
#: src/tools/dcpomatic.cc:1963 src/tools/dcpomatic.cc:2000
msgid "Recreate signing certificates"
-msgstr ""
+msgstr "Ricrea certificati di firma"
#: src/tools/dcpomatic_editor.cc:224
msgid "Reels"
-msgstr ""
+msgstr "Reel"
#: src/tools/dcpomatic_disk.cc:157
msgid "Refresh"
-msgstr ""
+msgstr "Ricarica"
#: src/tools/dcpomatic.cc:1774
msgid "Release notes"
-msgstr ""
+msgstr "Note di rilascio"
#: src/tools/dcpomatic_kdm.cc:218 src/tools/dcpomatic_playlist.cc:350
msgid "Remove"
@@ -913,45 +909,41 @@ msgstr "Segnala un problema..."
#: src/tools/dcpomatic.cc:778 src/tools/dcpomatic.cc:1444
msgid "Restore default preferences"
-msgstr "Ripristinare le impostazioni predefinite"
+msgstr "Ripristina impostazioni predefinite"
#: src/tools/dcpomatic_player.cc:699
msgid "Right"
-msgstr ""
+msgstr "Destra"
#: src/tools/dcpomatic.cc:1425
-#, fuzzy
msgid "S&how DCP in Explorer"
-msgstr "S&Mostra DCP"
+msgstr "S&how DCP in Esplora Risorse"
#: src/tools/dcpomatic.cc:1427
-#, fuzzy
msgid "S&how DCP in Files"
-msgstr "S&Mostra DCP"
+msgstr "S&Mostra DCP in File"
#: src/tools/dcpomatic.cc:1423
-#, fuzzy
msgid "S&how DCP in Finder"
-msgstr "S&Mostra DCP"
+msgstr "S&Mostra DCP nel Finder"
#: src/tools/dcpomatic_playlist.cc:328
-#, fuzzy
msgid "Save"
-msgstr "&Salva"
+msgstr "Salva"
#: src/tools/dcpomatic.cc:1367
msgid "Save as &template..."
-msgstr "Salva come &modello..."
+msgstr "Salva come &template…"
#: src/tools/dcpomatic.cc:159
#, c-format
msgid "Save changes to film \"%s\" before closing?"
-msgstr "Salvare i cambiamenti del film \"%s\" prima di chiudere?"
+msgstr "Salvare le modifiche del film \"%s\" prima di chiudere?"
#: src/tools/dcpomatic.cc:187
#, c-format
msgid "Save changes to film \"%s\" before duplicating?"
-msgstr "Salvare i cambiamenti del film \"%s\" prima di duplicare?"
+msgstr "Salvare le modifiche del film \"%s\" prima di duplicare?"
#: src/tools/dcpomatic.cc:167
msgid "Save film and close"
@@ -963,45 +955,43 @@ msgstr "Salva il film e duplica"
#: src/tools/dcpomatic_player.cc:840
msgid "Save frame to file"
-msgstr ""
+msgstr "Salva frame su file"
#: src/tools/dcpomatic_kdm.cc:162
msgid "Screens"
-msgstr "Schermi"
+msgstr ""
#: src/tools/dcpomatic_editor.cc:451 src/tools/dcpomatic_player.cc:743
msgid "Select DCP to open"
-msgstr "Seleziona il DCP da aprire"
+msgstr "Seleziona DCP da aprire"
#: src/tools/dcpomatic_player.cc:771
msgid "Select DCP to open as OV"
-msgstr "Seleziona il DCP da aprire come OV"
+msgstr "Seleziona DCP da aprire come OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
-#, fuzzy
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
msgid "Select DCP(s)"
-msgstr "Seleziona KDM"
+msgstr "Seleziona DCP"
#: src/tools/dcpomatic_kdm.cc:821
-#, fuzzy
msgid "Select DKDM File"
-msgstr "Seleziona il file DKDM"
+msgstr "Seleziona File DKDM"
#: src/tools/dcpomatic_kdm.cc:607
msgid "Select DKDM file"
-msgstr "Seleziona il file DKDM"
+msgstr "Seleziona file DKDM"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Seleziona KDM"
#: src/tools/dcpomatic.cc:1394
msgid "Select all\tShift-Ctrl-A"
-msgstr ""
+msgstr "Seleziona tutto\tShift-Ctrl-A"
#: src/tools/dcpomatic_batch.cc:334 src/tools/dcpomatic.cc:605
msgid "Select film to open"
-msgstr "Seleziona il film da aprire"
+msgstr "Seleziona film da aprire"
#: src/tools/dcpomatic_kdm.cc:485
msgid "Send KDM emails"
@@ -1013,51 +1003,51 @@ msgstr "Imposta la risoluzione di decodifica come quella del display"
#: src/tools/dcpomatic_editor.cc:176
msgid "Sound"
-msgstr ""
+msgstr "Suono"
#: src/tools/dcpomatic.cc:790 src/tools/dcpomatic.cc:810
msgid "Specify ZIP file"
-msgstr ""
+msgstr "Specifica file ZIP"
#: src/tools/dcpomatic_server.cc:237
msgid "Status..."
-msgstr ""
+msgstr "Stato…"
#: src/tools/dcpomatic_editor.cc:179
msgid "Subtitle"
-msgstr ""
+msgstr "Sottotitolo"
#: src/tools/dcpomatic.cc:1442 src/tools/dcpomatic_player.cc:713
msgid "System information..."
-msgstr ""
+msgstr "Informazioni del sistema…"
#: src/tools/dcpomatic.cc:1545 src/tools/dcpomatic_player.cc:1110
-#, fuzzy, c-format
+#, c-format
msgid "The %s download server could not be contacted."
-msgstr "Non è stato possibile contattare il server di download DCP-o-MATIC."
+msgstr "Non è stato possibile contattare il download server %s."
#: src/tools/dcpomatic.cc:836
-#, fuzzy, c-format
+#, c-format
msgid ""
"The DCP for this film will take up about %.1f GB, and the disk that you are "
"using only has %.1f GB available. Do you want to continue anyway?"
msgstr ""
-"Il DCP di questo film occupa %.1f Gb, ma il disco che stai usando dispone di "
-"%.1f Gb liberi. Vuoi continuare ugualmente?"
+"Il DCP di questo film occuperà circa %.1f GB, ma il disco che stai usando "
+"dispone di %.1f GB liberi. Vuoi continuare ugualmente?"
#: src/tools/dcpomatic_batch.cc:248
-#, fuzzy, c-format
+#, c-format
msgid ""
"The DCPs for this film and the films already in the queue will take up about "
"%.1f GB. The disks that you are using only have %.1f GB available. Do you "
"want to add this film to the queue anyway?"
msgstr ""
-"Il DCP di questo film occupa %.1f Gb, ma il disco che stai usando dispone di "
-"%.1f Gb liberi. Vuoi continuare ugualmente?"
+"I DCP di questo film e dei film già in coda occuperanno circa %.1f GB, ma il "
+"disco che stai usando dispone di %.1f GB liberi. Vuoi continuare ugualmente?"
#: src/tools/dcpomatic_player.cc:378
msgid "The KDM does not allow playback of this content at this time."
-msgstr ""
+msgstr "La KDM non permette il playback di questo contenuto in questo momento."
#: src/tools/dcpomatic_kdm.cc:504
#, c-format
@@ -1066,12 +1056,18 @@ msgid ""
"certificates' validity period. Either use an earlier end time for this KDM "
"or re-create your signing certificates in the %s preferences window."
msgstr ""
+"Il periodo di fine della KDM è dopo (o vicino) la fine del periodo di "
+"validità dei certificati di firma. Anticipa il periodo di fine per questa "
+"KDM o ricrea i certificati di firma nelle preferenze di %s."
#: src/tools/dcpomatic_kdm.cc:499
msgid ""
"The KDM start period is before (or close to) the start of the signing "
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
+"Il periodo di inizio della KDM è prima (o vicino) l’inizio del periodo di "
+"validità dei certificati di firma. Posticipa il periodo di inizio per "
+"questa KDM."
#: src/tools/dcpomatic.cc:1005
msgid "The certificate chain for signing is invalid"
@@ -1087,6 +1083,12 @@ msgid ""
"and back up your\n"
"configuration before continuing."
msgstr ""
+"La catena di certificati che %s usa per decrittare le KDM è inconsistente e\n"
+"non può essere usata. %s non può iniziare a meno che non venga ricreata. "
+"Vuoi ricreare\n"
+"la catena di certificati per la decrittazione delle KDM? Puoi dire “No†qui "
+"e salvare la tua\n"
+"configurazione prima di continuare."
#: src/tools/dcpomatic.cc:1934
#, c-format
@@ -1097,6 +1099,11 @@ msgid ""
"you want to re-create\n"
"the certificate chain for signing DCPs and KDMs?"
msgstr ""
+"La catena di certificati che %s usa per firmare DCP e KDM contiene un "
+"piccolo errore\n"
+"che impedirà la corretta validazione dei DCP su alcuni sistemi. Vuoi "
+"ricreare\n"
+"la catena di certificati per la firma di DCP e KDM?"
#: src/tools/dcpomatic.cc:2002
#, c-format
@@ -1109,6 +1116,12 @@ msgid ""
"certificate chain\n"
"for signing DCPs and KDMs?"
msgstr ""
+"La catena di certificati che %s usa per firmare DCP e KDM contiene un "
+"piccolo errore\n"
+"che impedirà la corretta validazione dei DCP su alcuni sistemi. Questo "
+"errore è stato causato\n"
+"da un bug in %s ora risolto. Vuoi ricreare la catena di certificati per la "
+"firma di DCP e KDM?"
#: src/tools/dcpomatic.cc:1951
#, c-format
@@ -1119,6 +1132,11 @@ msgid ""
"systems.\n"
"Do you want to re-create the certificate chain for signing DCPs and KDMs?"
msgstr ""
+"La catena di certificati che %s usa per firmare DCP e KDM ha un periodo di "
+"validità\n"
+"troppo lungo. Questo causerà problemi di riproduzione dei DCP su alcuni "
+"sistemi.\n"
+"Vuoi ricreare la catena di certificati per la firma di DCP e KDM?"
#: src/tools/dcpomatic.cc:1965
#, c-format
@@ -1129,6 +1147,10 @@ msgid ""
"create\n"
"the certificate chain for signing DCPs and KDMs?"
msgstr ""
+"La catena di certificati che %s usa per firmare DCP e KDM è inconsistente e\n"
+"non può essere usata. %s non può iniziare a meno che non venga ricreata. "
+"Vuoi ricreare\n"
+"la catena di certificati per la firma di DCP e KDM?"
#: src/tools/dcpomatic_combiner.cc:167
#, c++-format
@@ -1139,7 +1161,7 @@ msgstr "La cartella {} esiste già e non è vuota. Sei sicuro di volerla usare?
#: src/tools/dcpomatic_disk.cc:299
msgid "The disk you selected is no longer available. Please choose another."
-msgstr ""
+msgstr "Disco selezionato non più disponibile. Selezionane un altro."
#: src/tools/dcpomatic_disk.cc:378
#, c-format
@@ -1147,33 +1169,35 @@ msgid ""
"The drive %s could not be unmounted.\n"
"Close any application that is using it, then try again. (%s)"
msgstr ""
+"Impossibile espellere il drive %s.\n"
+"Chiudi le applicazioni che lo stanno usando, poi riprova. (%s)"
#: src/tools/dcpomatic_disk.cc:543 src/tools/dcpomatic_player.cc:1517
msgid ""
"The existing configuration failed to load. Default values will be used "
"instead. These may take a short time to create."
msgstr ""
-"Impossibile caricare la configurazione esistente. Verranno invece utilizzati "
-"i valori predefiniti. Questi potrebbero richiedere poco tempo per essere "
-"creati."
+"Impossibile caricare la configurazione esistente. Verranno invece "
+"utilizzati i valori predefiniti. Questi potrebbero richiedere poco tempo "
+"per essere creati."
#: src/tools/dcpomatic.cc:1547 src/tools/dcpomatic_player.cc:1112
-#, fuzzy, c-format
+#, c-format
msgid "There are no new versions of %s available."
-msgstr "Non ci sono nuove versioni di DCP-o-MATIC disponibili."
+msgstr "Non ci sono nuove versioni di %s disponibili."
#: src/tools/dcpomatic_batch.cc:278 src/tools/dcpomatic.cc:1187
#: src/tools/dcpomatic_disk.cc:274
msgid "There are unfinished jobs; are you sure you want to quit?"
-msgstr "C'è un processo in corso: sei sicuro di voler uscire?"
+msgstr "Ci sono processi non completati; confermi di voler uscire?"
#: src/tools/dcpomatic.cc:485
msgid ""
"This film was created with an old version of DVD-o-matic and may not load "
"correctly in this version. Please check the film's settings carefully."
msgstr ""
-"Questo film è stato creato con una versione precedente di DVD-o-MATIC e "
-"potrebbe non essere caricato correttamente in questa versione. Per favore "
+"Questo film è stato creato con una vecchia versione di DVD-o-matic e "
+"potrebbe non essere caricato correttamente in questa versione. Per favore "
"controlla attentamente le impostazioni del film."
#: src/tools/dcpomatic_player.cc:458
@@ -1183,27 +1207,30 @@ msgid ""
"player. Choose the DCP folder inside the %s project folder if that's what "
"you want to play."
msgstr ""
+"Sembra una cartella di progetto %s, che non può essere caricata nel player. "
+"Scegli la cartella DCP dentro la cartella del progetto %s se è ciò che vuoi "
+"riprodurre."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
msgstr ""
+"Spunta per verificare dettagli dei picture asset, come frame size e validità "
+"bitstream JPEG2000. Questi controlli richiedono tempo."
#: src/tools/dcpomatic_player.cc:712
-#, fuzzy
msgid "Timing..."
-msgstr "KDM|Timing"
+msgstr ""
#: src/tools/dcpomatic_disk.cc:119
-#, fuzzy
msgid "Tools"
-msgstr "&Strumenti"
+msgstr "Strumenti"
#: src/tools/dcpomatic.cc:590
#, c-format
msgid "Try removing the %s characters from your folder name."
-msgstr ""
+msgstr "Prova a rimuovere i caratteri %s dal nome della cartella."
#: src/tools/dcpomatic_playlist.cc:340
msgid "Type"
@@ -1216,57 +1243,56 @@ msgstr "Lavori incompiuti"
#: src/tools/dcpomatic_disk.cc:118
msgid "Uninstall..."
-msgstr ""
+msgstr "Disinstalla…"
#: src/tools/dcpomatic_player.cc:860
#, c-format
msgid "Unrecognised file extension %s (use .jpg, .jpeg or .png)"
-msgstr ""
+msgstr "Estensione file %s non riconosciuta (usa .jpg, .jpeg o .png)"
#: src/tools/dcpomatic_playlist.cc:347
msgid "Up"
-msgstr ""
+msgstr "Sopra"
#: src/tools/dcpomatic.cc:1455
msgid "User manual..."
-msgstr ""
+msgstr "Manuale dell’utente…"
-#: src/tools/dcpomatic_verifier.cc:201
-#, fuzzy
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
-msgstr "Verifica DCP"
+msgstr "Verifica"
#: src/tools/dcpomatic_player.cc:1041
-#, fuzzy
msgid "Verify DCP"
msgstr "Verifica DCP"
#: src/tools/dcpomatic_player.cc:708
-#, fuzzy
msgid "Verify DCP..."
-msgstr "Verifica DCP"
+msgstr "Verifica DCP…"
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
-msgstr ""
+msgstr "Verifica dettagli picture asset"
#: src/tools/dcpomatic.cc:1437
msgid "Version File (VF)..."
-msgstr ""
+msgstr "Version File (VF)…"
#: src/tools/dcpomatic.cc:1434
msgid "Video waveform..."
-msgstr "Forma d'onda video..."
+msgstr "Waveform video…"
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
-msgstr ""
+msgstr "Scrivi log nelle cartelle DCP"
#: src/tools/dcpomatic_kdm.cc:795
msgid ""
"You are about to remove a DKDM. This will make it impossible to decrypt the "
"DCP that the DKDM was made for, and it cannot be undone. Are you sure?"
msgstr ""
+"Stai per rimuovere una DKDM. Questo renderà impossibile decrittare il DCP "
+"per il quale la DKDM è stata creata, ed è irreversibile. Confermi?"
#: src/tools/dcpomatic.cc:990
#, c-format
@@ -1279,13 +1305,14 @@ msgid ""
"you <span weight=\"bold\" size=\"larger\">BACK UP THIS FILE</span> since if "
"it is lost your DKDMs (and the DCPs they protect) will become useless."
msgstr ""
-"Stai creando un DKDM crittografato da una chiave privata\n"
+"Stai creando una DKDM che è crittografata da una chiave privata situata in\n"
"\n"
"<tt>%s</tt>\n"
"\n"
"È <span weight=\"bold\" size=\"larger\">DI VITALE IMPORTANZA</span> che tu "
-"<span weight=\"bold\" size=\"larger\">FAI IL BACKUP DI QUESTO FILE</span> "
-"poiché se viene perso, i DKDM (i DCP che proteggono) diventeranno inutili."
+"<span weight=\"bold\" size=\"larger\">FACCIA IL BACKUP DI QUESTO FILE</span> "
+"poiché se fosse perso, le tue DKDM (ed i DCP che proteggono) diventeranno "
+"inutili."
#: src/tools/dcpomatic.cc:853
msgid ""
@@ -1296,12 +1323,12 @@ msgid ""
"You should ensure that these files are <span weight=\"bold\" "
"size=\"larger\">BACKED UP</span> if you want to make KDMs for this film."
msgstr ""
-"Stai creando un DCP crittografato. Non sarà possibile creare KDM per questo "
+"Stai creando un DCP crittografato. Non sarà possibile creare KDM per questo "
"DCP a meno che non si abbiano copie del file <tt>metadata.xml</tt> file "
"all'interno del film e i file di metadati all'interno del DCP\n"
"\n"
-"Assicurati che di questi file ci sia il <span weight=\"bold\" "
-"size=\"larger\">BACKUP UP</span> se vuoi creare KDM per questo film."
+"Assicurati di avere <span weight=\"bold\" size=\"larger\">BACKUP</span> di "
+"questi file se vuoi creare KDM per questo film."
#: src/tools/dcpomatic.cc:1733
#, c-format
@@ -1310,12 +1337,16 @@ msgid ""
"This will limit the memory available to %s and may cause errors. You are "
"strongly advised to install the 64-bit version of %s."
msgstr ""
+"Stai eseguendo la versione 32-bit di %s su una versione 64-bit di Windows. "
+"Questo limiterà la memoria disponibile a %s e potrebbe causare errori. È "
+"altamente consigliato di installare la versione 64-bit di %s."
#: src/tools/dcpomatic_disk.cc:394
msgid ""
"You did not correctly confirm that you read the warning that was just "
"shown. Please try again."
msgstr ""
+"Non è stata confermata la lettura dell’avvertenza appena mostrata. Riprova."
#: src/tools/dcpomatic_batch.cc:343 src/tools/dcpomatic.cc:614
#: src/tools/dcpomatic_editor.cc:457 src/tools/dcpomatic_player.cc:749
@@ -1324,7 +1355,7 @@ msgid ""
"You did not select a folder. Make sure that you select a folder before "
"clicking Open."
msgstr ""
-"Non è stata selezionata nessuna cartella. Assicurati di selezionare una "
+"Non è stata selezionata una cartella. Assicurati di selezionare una "
"cartella prima di cliccare Apri."
#~ msgid "About DCP-o-matic"
diff --git a/src/tools/po/ja_JP.po b/src/tools/po/ja_JP.po
index 1b4607b7a..9c4266825 100644
--- a/src/tools/po/ja_JP.po
+++ b/src/tools/po/ja_JP.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-15 21:03+0100\n"
-"PO-Revision-Date: 2026-04-07 19:25+0900\n"
+"PO-Revision-Date: 2026-04-25 20:27+0900\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ja_JP\n"
diff --git a/src/tools/po/ko_KR.po b/src/tools/po/ko_KR.po
index 753eea525..91015e616 100644
--- a/src/tools/po/ko_KR.po
+++ b/src/tools/po/ko_KR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2026-03-06 17:25+0900\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -78,21 +78,21 @@ msgstr "&편집"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&종료"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&파ì¼"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&ë„움ë§"
@@ -124,7 +124,7 @@ msgstr "&환경 설정...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&종료"
@@ -149,11 +149,11 @@ msgstr "&ë„구"
msgid "&View"
msgstr "&보기"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr "(암호화ë¨, KDM 있ìŒ)"
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr "(암호화ë¨, KDM ì—†ìŒ)"
@@ -168,13 +168,13 @@ msgstr "<b>플레ì´ë¦¬ìŠ¤íŠ¸</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "ì •ë³´"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, c-format
msgid "About %s"
msgstr "%s ì •ë³´"
@@ -187,7 +187,7 @@ msgstr "추가"
msgid "Add &KDM..."
msgstr "&KDM 추가..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
msgid "Add KDM..."
msgstr "KDM 추가..."
@@ -226,7 +226,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -237,7 +237,7 @@ msgstr ""
"\n"
"%s"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -249,7 +249,7 @@ msgstr ""
"%s"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -273,7 +273,7 @@ msgstr "알 수 없는 예외가 ë°œìƒí–ˆìŠµë‹ˆë‹¤."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr "알 수 없는 예외가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. %s"
@@ -313,7 +313,7 @@ msgstr "CPLì˜ ì½˜í…츠가 암호화ë˜ì–´ 있지 않습니다."
msgid "CPL: %s"
msgstr "CPL: %s"
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr "취소"
@@ -321,7 +321,7 @@ msgstr "취소"
msgid "Check for updates"
msgstr "ì—…ë°ì´íЏ 확ì¸"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr "KDM í™•ì¸ ì¤‘"
@@ -367,7 +367,7 @@ msgstr "설정 복사\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "í•„ë¦„ì„ ì €ìž¥í•  í´ë”를 ìƒì„±í•  수 없습니다."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -420,7 +420,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "KDMì„ ë¶ˆëŸ¬ì˜¬ 수 없습니다."
@@ -468,7 +468,7 @@ msgstr ""
"파ì¼ì„ KDM으로 ì½ì„ 수 없습니다. 파ì¼ì´ 너무 í½ë‹ˆë‹¤. DKDM (XML) 파ì¼ì„ 로드하"
"ê³  있는지 확ì¸í•˜ì„¸ìš”."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -531,7 +531,7 @@ msgstr "작성ìž"
msgid "Crop"
msgstr "í¬ë¡­"
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -539,7 +539,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic ì¸ì½”드 서버"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr "DCP들"
@@ -664,7 +664,7 @@ msgstr "암호화ë¨"
msgid "Entry point"
msgstr "시작ì "
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr "DCP 검사 중"
@@ -974,7 +974,7 @@ msgstr "열려는 DCP ì„ íƒ"
msgid "Select DCP to open as OV"
msgstr "OV로 열려는 DCP ì„ íƒ"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "KDM ì„ íƒ"
@@ -987,7 +987,7 @@ msgstr "DKDM íŒŒì¼ ì„ íƒ"
msgid "Select DKDM file"
msgstr "DKDM íŒŒì¼ ì„ íƒ"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "KDM ì„ íƒ"
@@ -1204,7 +1204,7 @@ msgstr ""
"ì´ê²ƒì€ %s 프로ì íЏ í´ë”ì´ë¯€ë¡œ 플레ì´ì–´ì—서 ì§ì ‘ ì—´ 수 없습니다. 재ìƒí•˜ë ¤ë©´ "
"%s 프로ì íЏ í´ë” ë‚´ë¶€ì˜ DCP í´ë”를 ì„ íƒí•˜ì„¸ìš”."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1252,7 +1252,7 @@ msgstr "위로"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr "ê²€ì¦"
@@ -1264,7 +1264,7 @@ msgstr "DCP ê²€ì¦"
msgid "Verify DCP..."
msgstr "DCP ê²€ì¦..."
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr "그림 ì—ì…‹ 세부 사항 ê²€ì¦"
@@ -1276,7 +1276,7 @@ msgstr "버전 íŒŒì¼ (VF)..."
msgid "Video waveform..."
msgstr "비디오 웨ì´ë¸Œí¼..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr "DCP í´ë”ì— ë¡œê·¸ 쓰기"
diff --git a/src/tools/po/nl_NL.po b/src/tools/po/nl_NL.po
index 560f246e6..b54c32b2c 100644
--- a/src/tools/po/nl_NL.po
+++ b/src/tools/po/nl_NL.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2026-03-23 13:10+0100\n"
"Last-Translator: Rob van Nieuwkerk <dcpomatic-translations@berrymount.nl>\n"
"Language-Team: Rob van Nieuwkerk <dcpomatic-translations@berrymount.nl>\n"
@@ -79,21 +79,21 @@ msgstr "&Wijzig"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Stop"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Bestand"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Help"
@@ -125,7 +125,7 @@ msgstr "&Voorkeuren...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Stop"
@@ -150,11 +150,11 @@ msgstr "&Tools"
msgid "&View"
msgstr "&Toon"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr "(versleuteld, met KDM)"
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr "(versleuteld, zonder KDM)"
@@ -169,13 +169,13 @@ msgstr "<b>Afspeellijsten</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Over"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, c-format
msgid "About %s"
msgstr "Over %s"
@@ -188,7 +188,7 @@ msgstr "Voeg toe"
msgid "Add &KDM..."
msgstr "Voeg &KDM toe..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
msgid "Add KDM..."
msgstr "Voeg KDM toe..."
@@ -227,7 +227,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -238,7 +238,7 @@ msgstr ""
"\n"
"%s"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -250,7 +250,7 @@ msgstr ""
"%s"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -274,7 +274,7 @@ msgstr "Er is een onbekende uitzondering opgetreden."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr "Er is een onbekende uitzondering opgetreden. %s"
@@ -315,7 +315,7 @@ msgstr "De inhoud van de CPL is niet versleuteld."
msgid "CPL: %s"
msgstr "CPL: %s"
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr "Annuleer"
@@ -323,7 +323,7 @@ msgstr "Annuleer"
msgid "Check for updates"
msgstr "Controleer op updates"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr "Controleren KDM"
@@ -368,7 +368,7 @@ msgstr "Kopieer instellingen\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Kan map voor bewaren film niet aanmaken."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -422,7 +422,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Kan KDM niet laden."
@@ -470,7 +470,7 @@ msgstr ""
"Kan het bestand niet als een KDM lezen. Het is veel te groot. Zorg ervoor "
"dat u een DKDM (XML) bestand laadt."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -506,8 +506,8 @@ msgstr ""
msgid ""
"Could not start the player. You may need to download it from dcpomatic.com."
msgstr ""
-"Kan de Player niet starten. Mogelijk moet u hem downloaden van dcpomatic."
-"com."
+"Kan de Player niet starten. Mogelijk moet u hem downloaden van "
+"dcpomatic.com."
#: src/tools/dcpomatic_batch.cc:365 src/tools/dcpomatic.cc:1477
#: src/tools/dcpomatic_player.cc:1128 src/tools/dcpomatic_playlist.cc:639
@@ -535,7 +535,7 @@ msgstr "Creator"
msgid "Crop"
msgstr "Bijsnijding"
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -543,7 +543,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic Encode Server"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr "DCP's"
@@ -583,8 +583,8 @@ msgid ""
"Did you install the %s Disk Writer.pkg from the .dmg? Please check and try "
"again."
msgstr ""
-"Heeft u de %s Disk Writer.pkg geïnstalleerd vanuit de .dmg? Controleer a.u."
-"b. en probeer het opnieuw."
+"Heeft u de %s Disk Writer.pkg geïnstalleerd vanuit de .dmg? Controleer "
+"a.u.b. en probeer het opnieuw."
#: src/tools/dcpomatic_disk.cc:190
msgid "Disk Writer"
@@ -668,7 +668,7 @@ msgstr "Versleuteld"
msgid "Entry point"
msgstr "Entry point"
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr "Onderzoeken DCP's"
@@ -976,7 +976,7 @@ msgstr "Selecteer DCP om te openen"
msgid "Select DCP to open as OV"
msgstr "Selecteer DCP om te openen als OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
msgid "Select DCP(s)"
msgstr "Selecteer DCP('s)"
@@ -988,7 +988,7 @@ msgstr "Selecteer DKDM-bestand"
msgid "Select DKDM file"
msgstr "Selecteer DKDM-bestand"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Selecteer KDM"
@@ -1224,7 +1224,7 @@ msgstr ""
"Dit ziet eruit als een %s projectmap, die niet in de player kan worden "
"geladen. Kies de DCP-map in de %s projectmap als u die wilt afspelen."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1272,7 +1272,7 @@ msgstr "Omhoog"
msgid "User manual..."
msgstr "Gebruikershandleiding..."
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr "Controleer"
@@ -1284,7 +1284,7 @@ msgstr "Controleer DCP"
msgid "Verify DCP..."
msgstr "Controleer DCP..."
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr "Controleer picture asset details"
@@ -1296,7 +1296,7 @@ msgstr "Version File (VF)..."
msgid "Video waveform..."
msgstr "Video-golfvorm..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr "Schrijf logs naar DCP-mappen"
diff --git a/src/tools/po/pl_PL.po b/src/tools/po/pl_PL.po
index 9da0adb99..629392f44 100644
--- a/src/tools/po/pl_PL.po
+++ b/src/tools/po/pl_PL.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2022-05-10 15:42+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -79,21 +79,21 @@ msgstr "&Edycja"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Wyjdź"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Plik"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Pomoc"
@@ -126,7 +126,7 @@ msgstr "&Preferencje...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Zakończ"
@@ -152,11 +152,11 @@ msgstr "&Narzędzia"
msgid "&View"
msgstr "&Zbadaj"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -171,13 +171,13 @@ msgstr "<b>Listy odtwarzania</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Informacje"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "Informacje"
@@ -190,7 +190,7 @@ msgstr "Dodaj"
msgid "Add &KDM..."
msgstr "Dodaj &KDM..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "Dodaj &KDM..."
@@ -230,7 +230,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -240,7 +240,7 @@ msgstr ""
"Wystąpił błąd: %s (%s)\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -251,7 +251,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -274,7 +274,7 @@ msgstr "Wystąpił nieznany wyjątek."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Wystąpił nieznany wyjątek."
@@ -314,7 +314,7 @@ msgstr "Zawartość CPL nie jest zaszyfrowana."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -322,7 +322,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Uaktualnij program"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -367,7 +367,7 @@ msgstr "Skopiuj ustawienia\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Błąd przy tworzeniu folderu dla Projektu."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -421,7 +421,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Nie udało się wczytać KDM."
@@ -469,7 +469,7 @@ msgstr ""
"Nie udało się załadować pliku jako KDM. Ma zbyt duży rozmiar. Upewnij się, "
"że wczytujesz plik DKDM (XML)."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -533,7 +533,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
#, fuzzy
msgid "DCP"
msgstr "CPL"
@@ -542,7 +542,7 @@ msgstr "CPL"
msgid "DCP-o-matic Encode Server"
msgstr "Serwer kodujÄ…cy DCP-o-matic"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -664,7 +664,7 @@ msgstr "Zaszyfrowany"
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -975,7 +975,7 @@ msgstr "Wybierz folder DCP"
msgid "Select DCP to open as OV"
msgstr "Wybierz folder DCP jako OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Wybierz KDM"
@@ -988,7 +988,7 @@ msgstr "Wybierz DKDM"
msgid "Select DKDM file"
msgstr "Wybierz DKDM"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Wybierz KDM"
@@ -1214,7 +1214,7 @@ msgstr ""
"do odtwarzacza. Wybierz folder DCP wewnątrz folderu Projektu, który chcesz "
"odtworzyć."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1260,7 +1260,7 @@ msgstr "Góra"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "Zweryfikuj DCP..."
@@ -1274,7 +1274,7 @@ msgstr "Zweryfikuj DCP..."
msgid "Verify DCP..."
msgstr "Zweryfikuj DCP..."
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1286,7 +1286,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Analiza pliku video..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/pt_BR.po b/src/tools/po/pt_BR.po
index 58c7506fc..52e6b8993 100644
--- a/src/tools/po/pt_BR.po
+++ b/src/tools/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2018-01-15 16:42-0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -78,21 +78,21 @@ msgstr "&Editar"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Sair"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Arquivo"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Ajuda"
@@ -125,7 +125,7 @@ msgstr "&Preferências...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Sair"
@@ -151,11 +151,11 @@ msgstr "&Ferramentas"
msgid "&View"
msgstr "&Visualizar"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -170,13 +170,13 @@ msgstr ""
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Sobre"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "Sobre"
@@ -191,7 +191,7 @@ msgstr "Adicionar..."
msgid "Add &KDM..."
msgstr "Adicionar KDM..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "Adicionar KDM..."
@@ -232,7 +232,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -242,7 +242,7 @@ msgstr ""
"Ocorreu um erro: %s (%s)\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -253,7 +253,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -276,7 +276,7 @@ msgstr "Ocorreu um erro desconhecido."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Ocorreu um erro desconhecido."
@@ -317,7 +317,7 @@ msgstr "Contéudo da CPL não encriptado."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -325,7 +325,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Verificar atualizações"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -370,7 +370,7 @@ msgstr "Copiar configurações\tCtrl-C"
msgid "Could not create folder to store film."
msgstr ""
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -422,7 +422,7 @@ msgid ""
"%s."
msgstr "Não foi possível carregar o DCP {}."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Não foi possível carregar o KDM."
@@ -471,7 +471,7 @@ msgstr ""
"Falha na leitura do arquivo como um KDM. Talvez a formatação esteja "
"incorreta, ou não seja um arquivo KDM."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -536,7 +536,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
#, fuzzy
msgid "DCP"
msgstr "CPL"
@@ -545,7 +545,7 @@ msgstr "CPL"
msgid "DCP-o-matic Encode Server"
msgstr "Conversor em série DCP-o-matic"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -667,7 +667,7 @@ msgstr ""
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -977,7 +977,7 @@ msgstr "Selecione o DCP para abrir"
msgid "Select DCP to open as OV"
msgstr "Selecione o DCP para abrir como OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Selecione o KDM"
@@ -991,7 +991,7 @@ msgstr "Selecione o filme para abrir"
msgid "Select DKDM file"
msgstr "Selecione o filme para abrir"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Selecione o KDM"
@@ -1186,7 +1186,7 @@ msgid ""
"you want to play."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1233,7 +1233,7 @@ msgstr ""
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr ""
@@ -1245,7 +1245,7 @@ msgstr ""
msgid "Verify DCP..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1257,7 +1257,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Waveform de video..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/pt_PT.po b/src/tools/po/pt_PT.po
index d23ce2aab..8b9307931 100644
--- a/src/tools/po/pt_PT.po
+++ b/src/tools/po/pt_PT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic PORTUGUESE (Portugal)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2016-03-19 13:01+0000\n"
"Last-Translator: Tiago Casal Ribeiro <tiago@casalribeiro.com>\n"
"Language-Team: \n"
@@ -81,21 +81,21 @@ msgstr "&Editar"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Sair"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Ficheiro"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Ajuda"
@@ -128,7 +128,7 @@ msgstr "&Preferências...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Sair"
@@ -154,11 +154,11 @@ msgstr "&Ferramentas"
msgid "&View"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -173,13 +173,13 @@ msgstr ""
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Sobre"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "Sobre"
@@ -193,7 +193,7 @@ msgstr ""
msgid "Add &KDM..."
msgstr "Adicionar Filme..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "Adicionar Filme..."
@@ -235,7 +235,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -245,7 +245,7 @@ msgstr ""
"Ocorreu uma excepção: %s (%s)\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -256,7 +256,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -279,7 +279,7 @@ msgstr "Ocorreu uma excepção desconhecida."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Ocorreu uma excepção desconhecida."
@@ -318,7 +318,7 @@ msgstr "O conteúdo do CPL não é encriptado."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -326,7 +326,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Procurar actualizações"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -371,7 +371,7 @@ msgstr ""
msgid "Could not create folder to store film."
msgstr ""
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -421,7 +421,7 @@ msgid ""
"%s."
msgstr "Não foi possível produzir o DCP: %s"
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
#, fuzzy
msgid "Could not load KDM."
msgstr "Não foi possível mostrar o DCP"
@@ -469,7 +469,7 @@ msgid ""
"loading a DKDM (XML) file."
msgstr ""
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -528,7 +528,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr ""
@@ -537,7 +537,7 @@ msgstr ""
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic Conversor de Lote"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -659,7 +659,7 @@ msgstr ""
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -976,7 +976,7 @@ msgstr "Seleccionar filme a abrir"
msgid "Select DCP to open as OV"
msgstr "Seleccionar filme a abrir"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Seleccionar filme a abrir"
@@ -991,7 +991,7 @@ msgstr "Seleccionar filme a abrir"
msgid "Select DKDM file"
msgstr "Seleccionar filme a abrir"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
#, fuzzy
msgid "Select KDM"
msgstr "Seleccionar filme a abrir"
@@ -1184,7 +1184,7 @@ msgid ""
"you want to play."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1230,7 +1230,7 @@ msgstr ""
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr ""
@@ -1242,7 +1242,7 @@ msgstr ""
msgid "Verify DCP..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1254,7 +1254,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Forma de onda de vídeo..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/ru_RU.po b/src/tools/po/ru_RU.po
index 40052f0c2..e1fcb1b35 100644
--- a/src/tools/po/ru_RU.po
+++ b/src/tools/po/ru_RU.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2025-06-08 19:54+0300\n"
"Last-Translator: Mikhail Epshteyn <virus-2006@yandex.ru>\n"
"Language-Team: Russian\n"
@@ -77,21 +77,21 @@ msgstr "&Правка"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Выход"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Файл"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Помощь"
@@ -123,7 +123,7 @@ msgstr "&ÐаÑтройки...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Выход"
@@ -148,11 +148,11 @@ msgstr "&ИнÑтрументы"
msgid "&View"
msgstr "&Вид"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -167,13 +167,13 @@ msgstr "<b>ПлейлиÑты</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "О программе"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, c-format
msgid "About %s"
msgstr "О программе %s"
@@ -186,7 +186,7 @@ msgstr "Добавить"
msgid "Add &KDM..."
msgstr "Добавить &KDM…"
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "Добавить &KDM…"
@@ -226,7 +226,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -237,7 +237,7 @@ msgstr ""
"\n"
"%s"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -249,7 +249,7 @@ msgstr ""
"%s"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -273,7 +273,7 @@ msgstr "Произошла неизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr "Произошла неизвеÑÑ‚Ð½Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. %s"
@@ -313,7 +313,7 @@ msgstr "Содержимое CPL-файла не зашифровано."
msgid "CPL: %s"
msgstr "CPL: %s"
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -321,7 +321,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Проверить обновлениÑ"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -366,7 +366,7 @@ msgstr "Копировать наÑтройки\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Ðе удалоÑÑŒ Ñоздать папку Ð´Ð»Ñ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð°."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -420,7 +420,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Ðе удалоÑÑŒ загрузить KDM."
@@ -468,7 +468,7 @@ msgstr ""
"Ðе удалоÑÑŒ прочитать файл как KDM. УбедитеÑÑŒ, что вы загружаете DKDM (XML) "
"файл."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -533,7 +533,7 @@ msgstr "Создатель"
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -541,7 +541,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic Encode Server"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr "DCPs"
@@ -667,7 +667,7 @@ msgstr "Зашифрован"
msgid "Entry point"
msgstr "ÐÐ°Ñ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ð¾Ñ‡ÐºÐ°"
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
#, fuzzy
msgid "Examining DCPs"
msgstr "Объединение DCPs"
@@ -976,7 +976,7 @@ msgstr "Выберите DCP Ð´Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ"
msgid "Select DCP to open as OV"
msgstr "Выберите DCP Ð´Ð»Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ ÐºÐ°Ðº OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Выберите KDM-файл"
@@ -989,7 +989,7 @@ msgstr "Выберите DKDM-файл"
msgid "Select DKDM file"
msgstr "Выберите DKDM-файл"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Выберите KDM-файл"
@@ -1217,7 +1217,7 @@ msgstr ""
"Возможно выбрана папка Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð¼ %s. Она не может быть загружена в плеер. "
"Выберите DCP в подпапке Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¾Ð¼ %s, еÑли хотите открыть её в плеере."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1263,7 +1263,7 @@ msgstr "Вверх"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "Проверить DCP"
@@ -1276,7 +1276,7 @@ msgstr "Проверить DCP"
msgid "Verify DCP..."
msgstr "Проверить DCP..."
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1288,7 +1288,7 @@ msgstr "Дополнительный пакет (VF)"
msgid "Video waveform..."
msgstr "Ð’Ð¾Ð»Ð½Ð¾Ð²Ð°Ñ Ð´Ð¸Ð°Ð³Ñ€Ð°Ð¼Ð¼Ð° видео…"
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
#, fuzzy
msgid "Write logs to DCP folders"
msgstr "Выбрать папку Ñ DCP"
diff --git a/src/tools/po/sk_SK.po b/src/tools/po/sk_SK.po
index 96c8dae7b..904fd853c 100644
--- a/src/tools/po/sk_SK.po
+++ b/src/tools/po/sk_SK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2016-01-06 00:23+0100\n"
"Last-Translator: Tomáš HlaváÄ\n"
"Language-Team: \n"
@@ -81,21 +81,21 @@ msgstr "&Upraviť"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Koniec"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Súbor"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Pomoc"
@@ -128,7 +128,7 @@ msgstr "&Nastavenia...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&UkonÄiÅ¥"
@@ -154,11 +154,11 @@ msgstr "&Nástroje"
msgid "&View"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -173,13 +173,13 @@ msgstr ""
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "O"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "O"
@@ -193,7 +193,7 @@ msgstr ""
msgid "Add &KDM..."
msgstr "Pridať film..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "Pridať film..."
@@ -235,7 +235,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -245,7 +245,7 @@ msgstr ""
"Vyskytol sa problém: %s (%s)\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -256,7 +256,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -279,7 +279,7 @@ msgstr "Vyskytol sa neznámy problém"
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Vyskytol sa neznámy problém"
@@ -318,7 +318,7 @@ msgstr "CPL obsah nie je enkryptovaný."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -326,7 +326,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Skontrolovať aktualizácie"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -371,7 +371,7 @@ msgstr ""
msgid "Could not create folder to store film."
msgstr ""
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -421,7 +421,7 @@ msgid ""
"%s."
msgstr "Nemôžem vytvoriť DCP: %s"
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
#, fuzzy
msgid "Could not load KDM."
msgstr "Nemôžem zobraziť DCP"
@@ -469,7 +469,7 @@ msgid ""
"loading a DKDM (XML) file."
msgstr ""
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -528,7 +528,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr ""
@@ -537,7 +537,7 @@ msgstr ""
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic konvertor"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -659,7 +659,7 @@ msgstr ""
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -972,7 +972,7 @@ msgstr "Vybrať film na otvorenie"
msgid "Select DCP to open as OV"
msgstr "Vybrať film na otvorenie"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Vybrať film na otvorenie"
@@ -987,7 +987,7 @@ msgstr "Vybrať film na otvorenie"
msgid "Select DKDM file"
msgstr "Vybrať film na otvorenie"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
#, fuzzy
msgid "Select KDM"
msgstr "Vybrať film na otvorenie"
@@ -1177,7 +1177,7 @@ msgid ""
"you want to play."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1223,7 +1223,7 @@ msgstr ""
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr ""
@@ -1235,7 +1235,7 @@ msgstr ""
msgid "Verify DCP..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1247,7 +1247,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Analýza videa..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/sl_SI.po b/src/tools/po/sl_SI.po
index f7d50a00b..3d866e17d 100644
--- a/src/tools/po/sl_SI.po
+++ b/src/tools/po/sl_SI.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2024-02-10 16:05+0100\n"
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
"Language-Team: \n"
@@ -77,21 +77,21 @@ msgstr "Ur&edi"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Izhod"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Datoteka"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "Po&moÄ"
@@ -124,7 +124,7 @@ msgstr "&Nastavitve ...\tKrmilka+P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Izhod"
@@ -149,11 +149,11 @@ msgstr "O&rodja"
msgid "&View"
msgstr "Po&gled"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -168,13 +168,13 @@ msgstr "<b>Seznami predvajanja</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "O programu"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "O programu"
@@ -187,7 +187,7 @@ msgstr "Dodaj"
msgid "Add &KDM..."
msgstr "Dodaj &KDM ..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "Dodaj &KDM ..."
@@ -226,7 +226,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -236,7 +236,7 @@ msgstr ""
"Prišlo je do izjeme: %s (%s)\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -247,7 +247,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -270,7 +270,7 @@ msgstr "Prišlo je do neznane izjeme."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Prišlo je do neznane izjeme."
@@ -311,7 +311,7 @@ msgstr "Vsebina CPL ni šifrirana."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -319,7 +319,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Preveri obstoj posodobitev"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -365,7 +365,7 @@ msgstr "Kopiraj nastavitve\tKrmilka+C"
msgid "Could not create folder to store film."
msgstr "Za shranjevanje filma ni bilo mogoÄe ustvariti mape."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -419,7 +419,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "KDM ni bilo mogoÄe naložiti."
@@ -467,7 +467,7 @@ msgstr ""
"Datoteke ni bilo mogoÄe prebrati kot KDM. Prevelika je. Preverite, ali "
"nalagate datoteko DKDM (XML)."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -533,7 +533,7 @@ msgstr "Ustvarjalec"
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -541,7 +541,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr "Strežnik kodiranja DCP-o-matic"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -667,7 +667,7 @@ msgstr "Å ifrirano"
msgid "Entry point"
msgstr "Vstopna toÄka"
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
#, fuzzy
msgid "Examining DCPs"
msgstr "Združevanje DCP-jev"
@@ -978,7 +978,7 @@ msgstr "Izberite DCP za odpiranje"
msgid "Select DCP to open as OV"
msgstr "Izberite DCP, da ga odprete kot OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Izberite KDM"
@@ -991,7 +991,7 @@ msgstr "Izberite datoteko DKDM"
msgid "Select DKDM file"
msgstr "Izberite datoteko DKDM"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Izberite KDM"
@@ -1228,7 +1228,7 @@ msgstr ""
"predvajalnik. Izberite mapo DCP znotraj projektne mape DCP-o-matic, Äe "
"želite to predvajati."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1273,7 +1273,7 @@ msgstr "Navzgor"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "Preveri DCP ..."
@@ -1287,7 +1287,7 @@ msgstr "Preveri DCP ..."
msgid "Verify DCP..."
msgstr "Preveri DCP ..."
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1299,7 +1299,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Signalna oblika videa …"
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
#, fuzzy
msgid "Write logs to DCP folders"
msgstr "Izberite mapo DCP"
diff --git a/src/tools/po/sv_SE.po b/src/tools/po/sv_SE.po
index cf4d20c9c..8f815f7e9 100644
--- a/src/tools/po/sv_SE.po
+++ b/src/tools/po/sv_SE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2021-05-28 14:44+0200\n"
"Last-Translator: Mattias Mattsson <vitplister@gmail.com>\n"
"Language-Team: \n"
@@ -77,21 +77,21 @@ msgstr "&Redigera"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Avsluta"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Arkiv"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Hjälp"
@@ -124,7 +124,7 @@ msgstr "&Inställningar...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Avsluta"
@@ -150,11 +150,11 @@ msgstr "&Verktyg"
msgid "&View"
msgstr "&Visa"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -169,13 +169,13 @@ msgstr "<b>Playlistor</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Om"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "Om"
@@ -188,7 +188,7 @@ msgstr "Lägg till"
msgid "Add &KDM..."
msgstr "&Lägg till KDM..."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "&Lägg till KDM..."
@@ -228,7 +228,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -238,7 +238,7 @@ msgstr ""
"Ett fel inträffade: %s (%s)\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -249,7 +249,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -272,7 +272,7 @@ msgstr "Ett okänt fel inträffade."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Ett okänt fel inträffade."
@@ -313,7 +313,7 @@ msgstr "CPL:ens innehåll är inte krypterat."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -321,7 +321,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Leta efter uppdateringar"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -366,7 +366,7 @@ msgstr "Kopiera inställningar\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Kunde inte skapa mapp för att spara film."
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -418,7 +418,7 @@ msgstr ""
"\n"
"%s."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Kunde inte ladda KDM."
@@ -466,7 +466,7 @@ msgstr ""
"Kunde inte läsa filen som en KDM. Den är alldeles för stor. Säkerställ att "
"det är en DKDM (XML) fil du försöker öppna."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -534,7 +534,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
#, fuzzy
msgid "DCP"
msgstr "CPL"
@@ -543,7 +543,7 @@ msgstr "CPL"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic Encode Server"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -665,7 +665,7 @@ msgstr "Kryptera"
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -976,7 +976,7 @@ msgstr "Välj DCP att öppna"
msgid "Select DCP to open as OV"
msgstr "Välj DCP att öppna som OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Välj KDM"
@@ -989,7 +989,7 @@ msgstr "Välj DKDM-fil"
msgid "Select DKDM file"
msgstr "Välj DKDM-fil"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Välj KDM"
@@ -1214,7 +1214,7 @@ msgstr ""
"spelaren. Välj DCP-foldern i DCP-o-matic projektfoldern om det är vad du "
"vill spela."
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1260,7 +1260,7 @@ msgstr "Upp"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "Verifiera DCP..."
@@ -1274,7 +1274,7 @@ msgstr "Verifiera DCP..."
msgid "Verify DCP..."
msgstr "Verifiera DCP..."
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1286,7 +1286,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Video-vågform..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/tr_TR.po b/src/tools/po/tr_TR.po
index 1b51f42b6..739c00f5d 100644
--- a/src/tools/po/tr_TR.po
+++ b/src/tools/po/tr_TR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2019-03-27 13:18+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -78,21 +78,21 @@ msgstr "Düzenle"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "Çıkış"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "Dosya"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "Yardım"
@@ -125,7 +125,7 @@ msgstr "Seçenekler"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "Çıkış"
@@ -151,11 +151,11 @@ msgstr "Araçlar"
msgid "&View"
msgstr "Görüntüle"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -170,13 +170,13 @@ msgstr ""
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Hakkında"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "Hakkında"
@@ -190,7 +190,7 @@ msgstr "Ekle"
msgid "Add &KDM..."
msgstr "KDM ekle."
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "KDM ekle."
@@ -228,7 +228,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -236,7 +236,7 @@ msgid ""
"%s"
msgstr ""
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -245,7 +245,7 @@ msgid ""
msgstr ""
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -266,7 +266,7 @@ msgstr ""
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr ""
@@ -305,7 +305,7 @@ msgstr ""
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -313,7 +313,7 @@ msgstr ""
msgid "Check for updates"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -358,7 +358,7 @@ msgstr "Ayarları kopyala"
msgid "Could not create folder to store film."
msgstr ""
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -407,7 +407,7 @@ msgid ""
"%s."
msgstr "KDM yüklenemedi."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "KDM yüklenemedi."
@@ -453,7 +453,7 @@ msgid ""
"loading a DKDM (XML) file."
msgstr ""
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -511,7 +511,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -519,7 +519,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -641,7 +641,7 @@ msgstr "Åžifrele"
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -951,7 +951,7 @@ msgstr ""
msgid "Select DCP to open as OV"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
msgid "Select DCP(s)"
msgstr ""
@@ -963,7 +963,7 @@ msgstr ""
msgid "Select DKDM file"
msgstr ""
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr ""
@@ -1149,7 +1149,7 @@ msgid ""
"you want to play."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1196,7 +1196,7 @@ msgstr "Yukarı"
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr ""
@@ -1208,7 +1208,7 @@ msgstr ""
msgid "Verify DCP..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1220,7 +1220,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Video ses dalgaları..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/uk_UA.po b/src/tools/po/uk_UA.po
index 3b8b514d1..14f0472d1 100644
--- a/src/tools/po/uk_UA.po
+++ b/src/tools/po/uk_UA.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
"PO-Revision-Date: 2018-08-20 19:53+0300\n"
"Last-Translator: Igor Voytovich <dcp@dualvfilms.com>\n"
"Language-Team: Ukrainian\n"
@@ -78,21 +78,21 @@ msgstr "&Редагувати"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "&Вихід"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "&Файл"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "&Допомога"
@@ -125,7 +125,7 @@ msgstr "&ÐалаштуваннÑ...\tCtrl-P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "&Вихід"
@@ -151,11 +151,11 @@ msgstr "&ІнÑтрументи"
msgid "&View"
msgstr "&ВиглÑд"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
msgstr ""
@@ -170,13 +170,13 @@ msgstr ""
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "Про программу"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, fuzzy, c-format
msgid "About %s"
msgstr "Про программу"
@@ -191,7 +191,7 @@ msgstr "Додати…"
msgid "Add &KDM..."
msgstr "Додати KDM…"
-#: src/tools/dcpomatic_verifier.cc:180
+#: src/tools/dcpomatic_verifier.cc:187
#, fuzzy
msgid "Add KDM..."
msgstr "Додати KDM…"
@@ -232,7 +232,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -242,7 +242,7 @@ msgstr ""
"Виникла помилка: %s (%s)\n"
"\n"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, fuzzy, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -253,7 +253,7 @@ msgstr ""
"\n"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, fuzzy, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -276,7 +276,7 @@ msgstr "Виникла невідома помилка."
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, fuzzy, c-format
msgid "An unknown exception occurred. %s"
msgstr "Виникла невідома помилка."
@@ -317,7 +317,7 @@ msgstr "ЗміÑÑ‚ CPL-файла не зашифровано."
msgid "CPL: %s"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr ""
@@ -325,7 +325,7 @@ msgstr ""
msgid "Check for updates"
msgstr "Перевірити оновленнÑ"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
msgstr ""
@@ -371,7 +371,7 @@ msgstr "Копіювати налаштуваннÑ\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "Ðе вдалоÑÑ Ñтворити папку Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ñƒ"
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
@@ -421,7 +421,7 @@ msgid ""
"%s."
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ DCP {}."
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ KDM."
@@ -470,7 +470,7 @@ msgstr ""
"Ðе вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ файл Ñк KDM. Можливо він має неправильний формат, або "
"взагалі не є ключем KDM."
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -533,7 +533,7 @@ msgstr ""
msgid "Crop"
msgstr ""
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
#, fuzzy
msgid "DCP"
msgstr "CPL"
@@ -542,7 +542,7 @@ msgstr "CPL"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-matic Сервер КодуваннÑ"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr ""
@@ -664,7 +664,7 @@ msgstr ""
msgid "Entry point"
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:156
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
msgstr ""
@@ -974,7 +974,7 @@ msgstr "Оберіть DCP Ð´Ð»Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ"
msgid "Select DCP to open as OV"
msgstr "Оберіть DCP Ð´Ð»Ñ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ñк OV"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
#, fuzzy
msgid "Select DCP(s)"
msgstr "Оберіть KDM-файл"
@@ -988,7 +988,7 @@ msgstr "Оберіть DKDM-файл"
msgid "Select DKDM file"
msgstr "Оберіть DKDM-файл"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "Оберіть KDM-файл"
@@ -1180,7 +1180,7 @@ msgid ""
"you want to play."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1227,7 +1227,7 @@ msgstr ""
msgid "User manual..."
msgstr ""
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
#, fuzzy
msgid "Verify"
msgstr "Перевірити DCP"
@@ -1242,7 +1242,7 @@ msgstr "Перевірити DCP"
msgid "Verify DCP..."
msgstr "Перевірити DCP"
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr ""
@@ -1254,7 +1254,7 @@ msgstr ""
msgid "Video waveform..."
msgstr "Графік відео..."
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr ""
diff --git a/src/tools/po/zh_CN.po b/src/tools/po/zh_CN.po
index 6e13d65a5..591841030 100644
--- a/src/tools/po/zh_CN.po
+++ b/src/tools/po/zh_CN.po
@@ -12,16 +12,16 @@ msgid ""
msgstr ""
"Project-Id-Version: DCPOMATIC\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-02-14 23:48+0100\n"
-"PO-Revision-Date: 2025-10-05 13:41+0800\n"
+"POT-Creation-Date: 2026-04-12 11:50+0200\n"
+"PO-Revision-Date: 2026-05-17 10:46+0800\n"
"Last-Translator: Dian Li <xslidian@gmail.com>\n"
-"Language-Team: Chinese Simplified (Rov8 branch)\n"
+"Language-Team: Chinese Simplified (Hanyuan branch)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Poedit 3.7\n"
+"X-Generator: Poedit 3.9\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: src/tools/dcpomatic_kdm.cc:491
@@ -37,7 +37,7 @@ msgstr "%d 导出KDMs 到 %s"
#: src/tools/dcpomatic_combiner.cc:177
#, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "%s文件已存在,您ä¸å¯ä»¥å°†å®ƒç”¨äºŽDCP。"
+msgstr "%s是一个文件且已ç»å­˜åœ¨ï¼Œå› æ­¤æ‚¨ä¸å¯ä»¥å°†å®ƒç”¨äºŽDCP。"
#: src/tools/dcpomatic_disk.cc:518 src/tools/dcpomatic_kdm.cc:944
#: src/tools/dcpomatic_player.cc:1426
@@ -84,21 +84,21 @@ msgstr "编辑(&E)"
#: src/tools/dcpomatic_batch.cc:90 src/tools/dcpomatic.cc:1382
#: src/tools/dcpomatic_editor.cc:433 src/tools/dcpomatic_player.cc:672
-#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:247
+#: src/tools/dcpomatic_playlist.cc:609 src/tools/dcpomatic_verifier.cc:260
msgid "&Exit"
msgstr "退出(&E)"
#: src/tools/dcpomatic_batch.cc:108 src/tools/dcpomatic.cc:1460
#: src/tools/dcpomatic_editor.cc:445 src/tools/dcpomatic_kdm.cc:346
#: src/tools/dcpomatic_player.cc:725 src/tools/dcpomatic_playlist.cc:623
-#: src/tools/dcpomatic_verifier.cc:252
+#: src/tools/dcpomatic_verifier.cc:265
msgid "&File"
msgstr "文件(&F)"
#: src/tools/dcpomatic_batch.cc:113 src/tools/dcpomatic.cc:1465
#: src/tools/dcpomatic_editor.cc:446 src/tools/dcpomatic_kdm.cc:349
#: src/tools/dcpomatic_player.cc:732 src/tools/dcpomatic_playlist.cc:612
-#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:256
+#: src/tools/dcpomatic_playlist.cc:626 src/tools/dcpomatic_verifier.cc:269
msgid "&Help"
msgstr "帮助(&H)"
@@ -130,7 +130,7 @@ msgstr "设置(&P)...\tCtrl+P"
#: src/tools/dcpomatic_batch.cc:92 src/tools/dcpomatic.cc:1384
#: src/tools/dcpomatic_editor.cc:435 src/tools/dcpomatic_kdm.cc:326
#: src/tools/dcpomatic_player.cc:674 src/tools/dcpomatic_playlist.cc:615
-#: src/tools/dcpomatic_verifier.cc:251
+#: src/tools/dcpomatic_verifier.cc:264
msgid "&Quit"
msgstr "退出(&Q)"
@@ -155,13 +155,13 @@ msgstr "工具(&T)"
msgid "&View"
msgstr "查看(&V)"
-#: src/tools/dcpomatic_verifier.cc:104
+#: src/tools/dcpomatic_verifier.cc:107
msgid "(encrypted, have KDM)"
-msgstr ""
+msgstr "(已加密,有KDM)"
-#: src/tools/dcpomatic_verifier.cc:106
+#: src/tools/dcpomatic_verifier.cc:109
msgid "(encrypted, no KDM)"
-msgstr ""
+msgstr "(已加密,无KDM)"
#: src/tools/dcpomatic_playlist.cc:324
msgid "<b>Playlist:</b>"
@@ -174,13 +174,13 @@ msgstr "<b>播放列表</b>"
#: src/tools/dcpomatic_batch.cc:106 src/tools/dcpomatic.cc:1453
#: src/tools/dcpomatic_editor.cc:442 src/tools/dcpomatic_kdm.cc:339
#: src/tools/dcpomatic_player.cc:719 src/tools/dcpomatic_playlist.cc:621
-#: src/tools/dcpomatic_verifier.cc:254
+#: src/tools/dcpomatic_verifier.cc:267
msgid "About"
msgstr "关于"
#: src/tools/dcpomatic.cc:1451 src/tools/dcpomatic_editor.cc:440
#: src/tools/dcpomatic_kdm.cc:337 src/tools/dcpomatic_player.cc:717
-#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:248
+#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261
#, c-format
msgid "About %s"
msgstr "关于 %s"
@@ -193,10 +193,9 @@ msgstr "添加"
msgid "Add &KDM..."
msgstr "添加 &KDM..."
-#: src/tools/dcpomatic_verifier.cc:180
-#, fuzzy
+#: src/tools/dcpomatic_verifier.cc:187
msgid "Add KDM..."
-msgstr "添加 &KDM..."
+msgstr "添加 KDM..."
#: src/tools/dcpomatic_playlist.cc:80
msgid "Add content"
@@ -233,7 +232,7 @@ msgstr ""
#: src/tools/dcpomatic.cc:1840 src/tools/dcpomatic_combiner.cc:303
#: src/tools/dcpomatic_disk.cc:565 src/tools/dcpomatic_editor.cc:602
#: src/tools/dcpomatic_kdm.cc:959 src/tools/dcpomatic_player.cc:1474
-#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:457
+#: src/tools/dcpomatic_playlist.cc:730 src/tools/dcpomatic_verifier.cc:481
#, c-format
msgid ""
"An exception occurred: %s (%s)\n"
@@ -244,7 +243,7 @@ msgstr ""
"\n"
"%s"
-#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:467
+#: src/tools/dcpomatic.cc:1850 src/tools/dcpomatic_verifier.cc:491
#, c-format
msgid ""
"An exception occurred: %s (%s) (%s)\n"
@@ -256,7 +255,7 @@ msgstr ""
"%s"
#: src/tools/dcpomatic.cc:1861 src/tools/dcpomatic_disk.cc:575
-#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:478
+#: src/tools/dcpomatic_kdm.cc:969 src/tools/dcpomatic_verifier.cc:502
#, c-format
msgid ""
"An exception occurred: %s.\n"
@@ -280,7 +279,7 @@ msgstr "出现未知错误。"
#: src/tools/dcpomatic_disk.cc:581 src/tools/dcpomatic_editor.cc:618
#: src/tools/dcpomatic_kdm.cc:975 src/tools/dcpomatic_kdm.cc:984
#: src/tools/dcpomatic_player.cc:1490 src/tools/dcpomatic_playlist.cc:746
-#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:484
+#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508
#, c-format
msgid "An unknown exception occurred. %s"
msgstr "出现未知错误。%s"
@@ -294,11 +293,11 @@ msgstr "注释文本"
msgid ""
"Are you sure you want to restore preferences to their defaults? This cannot "
"be undone."
-msgstr "ç¡®å®šè¦æ¢å¤é»˜è®¤è®¾ç½®ï¼Ÿ 该æ“作ä¸èƒ½æ’¤é”€ã€‚"
+msgstr "确定æ¢å¤é»˜è®¤å好设置? 该æ“作ä¸èƒ½æ’¤é”€ã€‚"
#: src/tools/dcpomatic_player.cc:709
msgid "Audio graph..."
-msgstr ""
+msgstr "音频图..."
#: src/tools/dcpomatic.cc:878
#, c-format
@@ -319,7 +318,7 @@ msgstr "该CPL未加密。"
msgid "CPL: %s"
msgstr "CPL: %s"
-#: src/tools/dcpomatic_verifier.cc:199
+#: src/tools/dcpomatic_verifier.cc:206
msgid "Cancel"
msgstr "å–æ¶ˆ"
@@ -327,9 +326,9 @@ msgstr "å–æ¶ˆ"
msgid "Check for updates"
msgstr "检查更新"
-#: src/tools/dcpomatic_verifier.cc:362
+#: src/tools/dcpomatic_verifier.cc:375
msgid "Checking KDM"
-msgstr ""
+msgstr "检查KDM"
#: src/tools/dcpomatic_combiner.cc:68 src/tools/dcpomatic_disk.cc:84
msgid "Choose a DCP folder"
@@ -372,11 +371,11 @@ msgstr "æ‹·è´è®¾ç½®\tCtrl-C"
msgid "Could not create folder to store film."
msgstr "无法创建目录æ¥å­˜å‚¨å½±ç‰‡ã€‚"
-#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:354
+#: src/tools/dcpomatic_kdm.cc:652 src/tools/dcpomatic_verifier.cc:367
msgid ""
"Could not decrypt the DKDM. Perhaps it was not created with the correct "
"certificate."
-msgstr "ä¸èƒ½è§£å¼€DKDM。 ä¹Ÿè®¸å®ƒä¸æ˜¯ç”¨é€‰å®šçš„è¯ä¹¦æ‰€åŠ å¯†çš„ã€‚"
+msgstr "无法解密DKDM。 ä¹Ÿè®¸å®ƒä¸æ˜¯ç”¨é€‰å®šè¯ä¹¦æ‰€åŠ å¯†çš„ã€‚"
#: src/tools/dcpomatic.cc:661 src/tools/dcpomatic.cc:678
msgid "Could not duplicate project."
@@ -422,7 +421,7 @@ msgstr ""
"\n"
"%s。"
-#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:357
+#: src/tools/dcpomatic_player.cc:829 src/tools/dcpomatic_verifier.cc:370
msgid "Could not load KDM."
msgstr "无法载入KDM。"
@@ -468,7 +467,7 @@ msgid ""
"loading a DKDM (XML) file."
msgstr "ä¸èƒ½è¯»å–KDMã€‚æ–‡ä»¶è¿‡å¤§ã€‚è¯·ç¡®ä¿æ‰“开了正确的DKDM(XML)文件。"
-#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:347
+#: src/tools/dcpomatic_kdm.cc:645 src/tools/dcpomatic_verifier.cc:360
msgid ""
"Could not read file as a KDM. Perhaps it is badly formatted, or not a KDM "
"at all."
@@ -506,11 +505,11 @@ msgstr "无法å¯åŠ¨æ’­æ”¾å™¨ï¼Œä½ å¯èƒ½éœ€è¦ä»Ždcpomatic.com下载。"
#, c-format
msgid ""
"Could not write to config file at %s. Your changes have not been saved."
-msgstr "ä¸èƒ½ä¿å­˜è®¾ç½®%s。设置没有被ä¿å­˜ã€‚"
+msgstr "ä¸èƒ½ä¿å­˜è®¾ç½®åˆ°æ–‡ä»¶%s。你的修改没有被ä¿å­˜ã€‚"
#: src/tools/dcpomatic_player.cc:1136
msgid "Could not write to config file. Your changes have not been saved."
-msgstr "ä¸èƒ½ä¿å­˜è®¾ç½®åˆ°æ–‡ä»¶ã€‚更改没有被ä¿å­˜ã€‚"
+msgstr "ä¸èƒ½ä¿å­˜è®¾ç½®åˆ°æ–‡ä»¶ã€‚你的修改没有被ä¿å­˜ã€‚"
#: src/tools/dcpomatic_kdm.cc:239
msgid "Create KDMs"
@@ -524,7 +523,7 @@ msgstr "创建者"
msgid "Crop"
msgstr "è£åˆ‡"
-#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172
+#: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:179
msgid "DCP"
msgstr "DCP"
@@ -532,7 +531,7 @@ msgstr "DCP"
msgid "DCP-o-matic Encode Server"
msgstr "DCP-o-maticç¼–ç æœåС噍"
-#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146
+#: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:149
msgid "DCPs"
msgstr "DCPs"
@@ -654,19 +653,17 @@ msgstr "加密的"
msgid "Entry point"
msgstr "å…¥å£ç‚¹"
-#: src/tools/dcpomatic_verifier.cc:156
-#, fuzzy
+#: src/tools/dcpomatic_verifier.cc:152
msgid "Examining DCPs"
-msgstr "正在组åˆDCP"
+msgstr "正在检查DCPs"
#: src/tools/dcpomatic.cc:1446
msgid "Export preferences..."
msgstr "导出首选项设置..."
#: src/tools/dcpomatic.cc:1418
-#, fuzzy
msgid "Export subtitles...\tShift-Ctrl-E"
-msgstr "导出字幕..."
+msgstr "导出字幕...\tShift-Ctrl-E"
#: src/tools/dcpomatic.cc:1417
msgid "Export video file...\tCtrl-E"
@@ -683,7 +680,7 @@ msgstr "眼"
#: src/tools/dcpomatic.cc:1041 src/tools/dcpomatic_kdm.cc:362
#, c-format
msgid "File %s already exists. Do you want to overwrite it?"
-msgstr "已存在文件 %s ,是å¦è¦†ç›–?"
+msgstr "已存在文件 %s ï¼Œä½ æ˜¯å¦æƒ³è¦è¦†ç›–?"
#. TRANSLATORS: this is the heading for a dialog box, which tells the user that the current
#. project (Film) has been changed since it was last saved.
@@ -698,7 +695,7 @@ msgstr "查找ç£ç›˜"
#: src/tools/dcpomatic_kdm.cc:357
#, c-format
msgid "Folder %s already exists. Do you want to overwrite it?"
-msgstr "已存在文件 %s 。是å¦è¦†ç›–?"
+msgstr "已存在文件夹 %s ã€‚ä½ æ˜¯å¦æƒ³è¦è¦†ç›–?"
#: src/tools/dcpomatic_server.cc:169
msgid "Frames per second"
@@ -957,10 +954,9 @@ msgstr "选择打开DCP"
msgid "Select DCP to open as OV"
msgstr "选择DCP作为OV打开"
-#: src/tools/dcpomatic_verifier.cc:150 src/tools/dcpomatic_verifier.cc:152
-#, fuzzy
+#: src/tools/dcpomatic_verifier.cc:165 src/tools/dcpomatic_verifier.cc:167
msgid "Select DCP(s)"
-msgstr "选择KDM"
+msgstr "选择DCP(s)"
#: src/tools/dcpomatic_kdm.cc:821
msgid "Select DKDM File"
@@ -970,7 +966,7 @@ msgstr "选择 DKDM 文件"
msgid "Select DKDM file"
msgstr "选择 DKDM 文件"
-#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:335
+#: src/tools/dcpomatic_player.cc:810 src/tools/dcpomatic_verifier.cc:348
msgid "Select KDM"
msgstr "选择KDM"
@@ -1183,7 +1179,7 @@ msgstr ""
"这似乎是 %s é¡¹ç›®æ–‡ä»¶å¤¹ï¼Œæ’­æ”¾å™¨æ— æ³•åŠ è½½ã€‚å¦‚æžœè¦æ’­æ”¾ï¼Œè¯·é€‰æ‹© %s 项目文件夹中的"
"DCP目录。"
-#: src/tools/dcpomatic_verifier.cc:190
+#: src/tools/dcpomatic_verifier.cc:197
msgid ""
"Tick to check details of the picture asset, such as frame sizes and JPEG2000 "
"bitstream validity. These checks are quite time-consuming."
@@ -1228,9 +1224,9 @@ msgstr "å‘上"
#: src/tools/dcpomatic.cc:1455
msgid "User manual..."
-msgstr ""
+msgstr "用户手册..."
-#: src/tools/dcpomatic_verifier.cc:201
+#: src/tools/dcpomatic_verifier.cc:208
msgid "Verify"
msgstr "验è¯"
@@ -1242,7 +1238,7 @@ msgstr "éªŒè¯ DCP"
msgid "Verify DCP..."
msgstr "éªŒè¯ DCP..."
-#: src/tools/dcpomatic_verifier.cc:187
+#: src/tools/dcpomatic_verifier.cc:194
msgid "Verify picture asset details"
msgstr "验è¯å›¾åƒèµ„产详细信æ¯"
@@ -1254,7 +1250,7 @@ msgstr "版本文件 (VF)…"
msgid "Video waveform..."
msgstr "视频波形…"
-#: src/tools/dcpomatic_verifier.cc:194
+#: src/tools/dcpomatic_verifier.cc:201
msgid "Write logs to DCP folders"
msgstr "记录日志到DCP文件夹中"
diff --git a/src/wx/about_dialog.cc b/src/wx/about_dialog.cc
index f3f9df968..09c60df8f 100644
--- a/src/wx/about_dialog.cc
+++ b/src/wx/about_dialog.cc
@@ -143,6 +143,7 @@ AboutDialog::AboutDialog(wxWindow* parent)
translated_by.Add(char_to_wx("Theo Kooijmans"));
translated_by.Add(char_to_wx("Carsten Kurz"));
translated_by.Add(char_to_wx("Roman Kuznetsov"));
+ translated_by.Add(char_to_wx("Théo Lalanne"));
translated_by.Add(char_to_wx("David Lankes"));
translated_by.Add(char_to_wx("Sean Y. Leigh"));
translated_by.Add(char_to_wx("Lilian Lefranc"));
diff --git a/src/wx/closed_captions_dialog.cc b/src/wx/closed_captions_dialog.cc
index 3989a2f49..b64c4c548 100644
--- a/src/wx/closed_captions_dialog.cc
+++ b/src/wx/closed_captions_dialog.cc
@@ -149,11 +149,10 @@ ClosedCaptionsDialog::update()
if (!_current && !_tracks.empty()) {
/* We have no current one: get another */
- auto butler = _butler.lock();
DCPOMATIC_ASSERT(_track->GetSelection() >= 0);
DCPOMATIC_ASSERT(_track->GetSelection() < int(_tracks.size()));
auto track = _tracks[_track->GetSelection()];
- if (butler) {
+ if (auto butler = _butler.lock()) {
while (true) {
auto d = butler->get_closed_caption();
if (!d) {
@@ -190,7 +189,7 @@ ClosedCaptionsDialog::update()
_current_in_lines = true;
}
- if (!_current && _tracks.empty()) {
+ if (!_current) {
for (int i = 0; i < MAX_CLOSED_CAPTION_LINES; ++i) {
_lines[i] = wxString();
}
@@ -202,6 +201,7 @@ ClosedCaptionsDialog::clear()
{
_current = {};
_current_in_lines = false;
+ update();
Refresh();
}
diff --git a/src/wx/controls.cc b/src/wx/controls.cc
index fce3fd7eb..708cc9a5d 100644
--- a/src/wx/controls.cc
+++ b/src/wx/controls.cc
@@ -279,7 +279,7 @@ Controls::update_position_label()
{
if (!_film) {
checked_set(_frame_number, char_to_wx("0"));
- checked_set(_timecode, char_to_wx("0:0:0.0"));
+ checked_set(_timecode, char_to_wx("0:0:0:0"));
return;
}
diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc
index 8f5c8fe7f..a69da7c1f 100644
--- a/src/wx/dcp_panel.cc
+++ b/src/wx/dcp_panel.cc
@@ -913,29 +913,23 @@ DCPPanel::add_video_panel_to_grid()
int r = 0;
add_label_to_sizer(_video_grid, _container_label, true, wxGBPosition(r, 0));
- {
- auto s = new wxBoxSizer(wxHORIZONTAL);
- s->Add(_container, 1, wxEXPAND | wxRIGHT, DCPOMATIC_SIZER_X_GAP);
- s->Add(_container_size, 1, wxLEFT | wxALIGN_CENTER_VERTICAL);
- _video_grid->Add(s, wxGBPosition(r, 1));
- ++r;
- }
+ _video_grid->Add(_container, wxGBPosition(r, 1), wxDefaultSpan, wxEXPAND);
+ _video_grid->Add(_container_size, wxGBPosition(r, 2), wxDefaultSpan, wxALIGN_CENTER_VERTICAL);
+ ++r;
add_label_to_sizer(_video_grid, _resolution_label, true, wxGBPosition(r, 0));
- _video_grid->Add(_resolution, wxGBPosition(r, 1));
+ _video_grid->Add(_resolution, wxGBPosition(r, 1), wxDefaultSpan, wxEXPAND);
++r;
add_label_to_sizer(_video_grid, _frame_rate_label, true, wxGBPosition(r, 0));
- {
- _frame_rate_sizer = new wxBoxSizer(wxHORIZONTAL);
- _frame_rate_sizer->Add(_frame_rate_choice, 1, wxALIGN_CENTER_VERTICAL);
- _frame_rate_sizer->Add(_frame_rate_spin, 1, wxALIGN_CENTER_VERTICAL);
- _frame_rate_sizer->Add(_best_frame_rate, 1, wxLEFT | wxALIGN_CENTER_VERTICAL, DCPOMATIC_SIZER_X_GAP);
- _video_grid->Add(_frame_rate_sizer, wxGBPosition(r, 1));
- ++r;
- }
+ _frame_rate_sizer = new wxBoxSizer(wxHORIZONTAL);
+ _frame_rate_sizer->Add(_frame_rate_choice, 1, wxALIGN_CENTER_VERTICAL);
+ _frame_rate_sizer->Add(_frame_rate_spin, 1, wxALIGN_CENTER_VERTICAL);
+ _video_grid->Add(_frame_rate_sizer, wxGBPosition(r, 1), wxDefaultSpan, wxEXPAND);
+ _video_grid->Add(_best_frame_rate, wxGBPosition(r, 2));
+ ++r;
- _video_grid->Add(_three_d, wxGBPosition(r, 0), wxGBSpan(1, 2));
+ _video_grid->Add(_three_d, wxGBPosition(r, 0), wxGBSpan(1, 3));
++r;
add_label_to_sizer(_video_grid, _video_bit_rate_label, true, wxGBPosition(r, 0));
@@ -944,7 +938,7 @@ DCPPanel::add_video_panel_to_grid()
add_label_to_sizer(s, _mbits_label, false, 0, wxLEFT | wxALIGN_CENTER_VERTICAL);
_video_grid->Add(s, wxGBPosition(r, 1), wxDefaultSpan);
++r;
- _video_grid->Add(_reencode_j2k, wxGBPosition(r, 0), wxGBSpan(1, 2));
+ _video_grid->Add(_reencode_j2k, wxGBPosition(r, 0), wxGBSpan(1, 3));
}
diff --git a/src/wx/film_name_location_dialog.cc b/src/wx/film_name_location_dialog.cc
index 893b789f9..0ac7cc98a 100644
--- a/src/wx/film_name_location_dialog.cc
+++ b/src/wx/film_name_location_dialog.cc
@@ -27,6 +27,7 @@
#include "dir_picker_ctrl.h"
#endif
#include "lib/config.h"
+#include <dcp/filesystem.h>
#include <dcp/warnings.h>
LIBDCP_DISABLE_WARNINGS
#include <wx/stdpaths.h>
@@ -139,7 +140,7 @@ FilmNameLocationDialog::template_name () const
bool
FilmNameLocationDialog::check_path ()
{
- if (boost::filesystem::is_directory(path()) && !boost::filesystem::is_empty(path())) {
+ if (dcp::filesystem::is_directory(path()) && !dcp::filesystem::is_empty(path())) {
if (!confirm_dialog (
this,
wxString::Format(
@@ -149,7 +150,7 @@ FilmNameLocationDialog::check_path ()
)) {
return false;
}
- } else if (boost::filesystem::is_regular_file(path())) {
+ } else if (dcp::filesystem::is_regular_file(path())) {
error_dialog (
this,
wxString::Format(_("%s already exists as a file, so you cannot use it for a film."), std_to_wx(path().string()))
diff --git a/src/wx/film_viewer.cc b/src/wx/film_viewer.cc
index b01498fc8..dcee453d4 100644
--- a/src/wx/film_viewer.cc
+++ b/src/wx/film_viewer.cc
@@ -88,6 +88,8 @@ rtaudio_callback(void* out, void *, unsigned int frames, double, RtAudioStreamSt
FilmViewer::FilmViewer(wxWindow* p, bool wake)
: _closed_captions_dialog(new ClosedCaptionsDialog(p, this))
+ , _stream_time(0)
+ , _stream_time_update_needed(true)
{
#if wxCHECK_VERSION(3, 1, 0)
switch (Config::instance()->video_view_type()) {
@@ -353,7 +355,8 @@ FilmViewer::start_audio_stream_if_open()
auto& audio = AudioBackend::instance()->rtaudio();
if (audio.isStreamOpen()) {
- audio.setStreamTime(_video_view->position().seconds());
+ _stream_time = _video_view->position().seconds();
+ _stream_time_update_needed = true;
auto error = AudioBackend::instance()->start_stream();
if (error) {
_audio_channels = 0;
@@ -696,7 +699,7 @@ FilmViewer::uncorrected_time() const
auto& audio = AudioBackend::instance()->rtaudio();
if (audio.isStreamRunning()) {
- return DCPTime::from_seconds(audio.getStreamTime());
+ return DCPTime::from_seconds(_stream_time);
}
return _video_view->position();
@@ -712,8 +715,7 @@ FilmViewer::audio_time() const
return {};
}
- return DCPTime::from_seconds(audio.getStreamTime()) -
- DCPTime::from_frames(average_latency(), _film->audio_frame_rate());
+ return DCPTime::from_seconds(_stream_time) - DCPTime::from_frames(average_latency(), _film->audio_frame_rate());
}
@@ -727,6 +729,15 @@ FilmViewer::time() const
int
FilmViewer::audio_callback(void* out_p, unsigned int frames)
{
+ auto& audio = AudioBackend::instance()->rtaudio();
+
+ if (_stream_time_update_needed) {
+ audio.setStreamTime(_stream_time);
+ _stream_time_update_needed = false;
+ } else {
+ _stream_time = audio.getStreamTime();
+ }
+
while (true) {
auto t = _butler->get_audio(Butler::Behaviour::NON_BLOCKING, reinterpret_cast<float*>(out_p), frames);
if (!t || DCPTime(uncorrected_time() - *t) < one_video_frame()) {
@@ -736,10 +747,7 @@ FilmViewer::audio_callback(void* out_p, unsigned int frames)
/* The audio we just got was (very) late; drop it and get some more. */
}
- auto& audio = AudioBackend::instance()->rtaudio();
-
- boost::mutex::scoped_lock lm(_latency_history_mutex, boost::try_to_lock);
- if (lm) {
+ if (auto lm = boost::mutex::scoped_lock(_latency_history_mutex, boost::try_to_lock)) {
_latency_history.push_back(audio.getStreamLatency());
if (_latency_history.size() > static_cast<size_t>(_latency_history_count)) {
_latency_history.pop_front();
diff --git a/src/wx/film_viewer.h b/src/wx/film_viewer.h
index d7afa2182..6d08df368 100644
--- a/src/wx/film_viewer.h
+++ b/src/wx/film_viewer.h
@@ -61,6 +61,9 @@ public:
FilmViewer(wxWindow* parent, bool wake);
~FilmViewer();
+ FilmViewer(FilmViewer const&) = delete;
+ FilmViewer& operator=(FilmViewer const&) = delete;
+
/** @return the window showing the film's video */
wxWindow* panel() const {
return _video_view->get();
@@ -230,5 +233,12 @@ private:
*/
std::shared_ptr<const PlayerVideo> _last_image;
+ /** Last return value from RtAudio's getStreamTime: the current stream
+ * time in seconds.
+ */
+ std::atomic<double> _stream_time;
+ /** true if we need to call setStreamTime() with the current _stream_time */
+ std::atomic<bool> _stream_time_update_needed;
+
boost::signals2::scoped_connection _config_changed_connection;
};
diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc
index a04cb3000..1fea68218 100644
--- a/src/wx/gl_video_view.cc
+++ b/src/wx/gl_video_view.cc
@@ -71,6 +71,7 @@ using namespace dcpomatic::gl;
GLVideoView::GLVideoView(FilmViewer* viewer, wxWindow *parent, bool wake)
: VideoView(viewer, wake)
, _context(nullptr)
+ , _canvas_size(wxSize{})
, _rec2020(false)
, _vsync_enabled(false)
, _playing(false)
diff --git a/src/wx/gl_video_view.h b/src/wx/gl_video_view.h
index 35f4aeeda..fc40cee33 100644
--- a/src/wx/gl_video_view.h
+++ b/src/wx/gl_video_view.h
@@ -45,9 +45,9 @@ LIBDCP_ENABLE_WARNINGS
#include "lib/signaller.h"
#include "lib/position.h"
#include <dcp/util.h>
-#include <boost/atomic.hpp>
#include <boost/thread.hpp>
#include <boost/thread/condition.hpp>
+#include <atomic>
class Texture
@@ -146,8 +146,8 @@ private:
Last<Crop> _last_crop;
Last<boost::optional<dcpomatic::Rect<float>>> _last_crop_guess;
- boost::atomic<wxSize> _canvas_size;
- boost::atomic<bool> _rec2020;
+ std::atomic<wxSize> _canvas_size;
+ std::atomic<bool> _rec2020;
std::vector<std::unique_ptr<Texture>> _video_textures;
std::unique_ptr<Texture> _subtitle_texture;
bool _have_subtitle_to_render = false;
@@ -156,8 +156,8 @@ private:
boost::mutex _playing_mutex;
boost::condition _thread_work_condition;
- boost::atomic<bool> _playing;
- boost::atomic<Request> _pending_request;
+ std::atomic<bool> _playing;
+ std::atomic<Request> _pending_request;
GLuint _vao;
dcpomatic::gl::Uniform1i _fragment_type;
diff --git a/src/wx/po/cs_CZ.po b/src/wx/po/cs_CZ.po
index 0d4222860..40ac7474b 100644
--- a/src/wx/po/cs_CZ.po
+++ b/src/wx/po/cs_CZ.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2025-06-11 07:36+0200\n"
"Last-Translator: Tomáš Begeni <begeni@razdva.cz>\n"
"Language-Team: DCP-o-matic translators\n"
@@ -237,12 +237,12 @@ msgstr "96kHz"
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr "<IssueDate> má neplatnou hodnotu %issue_date"
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr "<MainSoundConfiguration> ie neplatný (%error)"
@@ -267,70 +267,80 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr "RámeÄek 2K JPEG2000 obsahuje %tile_parts dílů dlaždic místo 3."
-#: src/wx/verify_dcp_result_panel.cc:569
-#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
-msgstr "Snímek 2K JPEG2000 obsahuje neplatnou hodnotu Rsiz (capabilities) %capabilities"
-
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "RámeÄek 2K JPEG2000 má %poc_markers POP místo 0 znaÄek."
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
+msgstr ""
+"Snímek 2K JPEG2000 obsahuje neplatnou hodnotu Rsiz (capabilities) "
+"%capabilities"
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr "RámeÄek 2K JPEG2000 má %guard_bits ochranných bitů místo 1."
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
-msgstr "RámeÄek 4K JPEG2000 obsahuje %tile_parts dílků dlaždic místo 6."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr "RámeÄek 2K JPEG2000 má %poc_markers POP místo 0 znaÄek."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
-msgstr "Rámec 4K JPEG2000 obsahuje neplatnou hodnotu Rsiz (capabilities) %capabilities"
+msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
+msgstr "RámeÄek 4K JPEG2000 obsahuje %tile_parts dílků dlaždic místo 6."
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "RámeÄek 4K JPEG2000 má %poc_markers POC znaÄek místo 1."
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
+msgstr ""
+"Rámec 4K JPEG2000 obsahuje neplatnou hodnotu Rsiz (capabilities) "
+"%capabilities"
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr "RámeÄek 4K JPEG2000 má %guard_bits ochranných bitů místo 2."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:549
+#, c-format
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr "RámeÄek 4K JPEG2000 má %poc_markers POC znaÄek místo 1."
+
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "Snímek JPEG2000 obsahuje znaÄku POC na nesprávném místÄ›."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "Snímek JPEG2000 obsahuje neplatnou znaÄku POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr "Rámec JPEG2000 má výšku kódového bloku %code_block_height namísto 32."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr "Rámec JPEG2000 má šířku kódového bloku %code_block_width namísto 32."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "RámeÄek JPEG2000 nemá žádnou znaÄku TLM."
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr "Velikost dlaždice JPEG2000 neodpovídá velikosti obrázku."
@@ -339,7 +349,7 @@ msgstr "Velikost dlaždice JPEG2000 neodpovídá velikosti obrázku."
msgid "A new version of %s is available."
msgstr "K dispozici je nová verze %s."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "Snímek má neplatný kódový tok JPEG2000 (%error)."
@@ -349,11 +359,11 @@ msgstr "Snímek má neplatný kódový tok JPEG2000 (%error)."
msgid "A problem occurred when looking for hints (%s)"
msgstr "Při hledání tipů došlo k problému (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "Titulky jsou delší, než je reel."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -564,11 +574,11 @@ msgstr "Alpha 0"
msgid "Also supported by"
msgstr "Podporováno také"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "Dílo má v ASSETMAP prázdnou cestu."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr "Byl použit neplatný <ContentKind> %content_kind."
@@ -617,24 +627,24 @@ msgstr ""
"Opravdu chcete odeslat e-maily na následující adresy? \n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr "Alespoň jeden uzel <Text> v titulku nebo uzavřeném titulku je prázdný."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr "Jeden asset v reel nemá stejnou dobu trvání jako ostatní."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr "Alespoň jedna dvojice titulků je oddělena méně než 2 snímky."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr "Alespoň jeden titulek má nulovou nebo zápornou délku trvání."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "Alespoň jeden titulek vydrží méně než 15 snímků."
@@ -860,7 +870,7 @@ msgstr "Soubor databáze filmu a obrazovky"
msgid "Click the button to set all selected content to the same value."
msgstr "Kliknutím na tlaÄítko nastavíte veÅ¡kerý obsah na stejné hodnoty."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr "Asset skrytých titulků %asset_id má nenulovou hodnotu <EntryPoint>."
@@ -1005,7 +1015,7 @@ msgstr "Nelze naÄíst certifikát (%s)"
msgid "Could not play content"
msgstr "Obsah nelze přehrát"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr "Nelze naÄíst DCP (%error)"
@@ -1554,7 +1564,7 @@ msgstr "Forenzní oznaÄení videa"
msgid "Format"
msgstr "Formát"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1563,7 +1573,7 @@ msgstr ""
"Snímek %frame (Äasový kód %timecode) v aktivu %f má okamžitou pÅ™enosovou "
"rychlost blízkou limitu 250Mbit/s."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1572,7 +1582,7 @@ msgstr ""
"Snímek %frame (Äasový kód %timecode) v aktivu %f má okamžitou pÅ™enosovou "
"rychlost, která přesahuje limit 250Mbit/s."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2190,70 +2200,70 @@ msgstr "Metadata…"
msgid "Mix audio down to stereo"
msgstr "Mix zvuk do sterea"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"Více snímků 2K JPEG2000 (neuvedených) obsahuje nesprávný poÄet Äástí dlaždic."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"Více snímků 2K JPEG2000 (neuvedených) má nesprávný poÄet ochranných bitů."
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr "Další snímky 2K JPEG2000 (neuvedené) mají příliÅ¡ mnoho znaÄek POC."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"Více snímků 4K JPEG2000 (neuvedených) má neplatný poÄet ochranných bitů."
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr "Více snímků 4K JPEG2000 (neuvedených) má příliÅ¡ mnoho znaÄek POC."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
"Více snímků JPEG2000 (neuvedených) obsahuje znaÄky POC na neplatných místech."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr "Více snímků JPEG2000 (neuvedených) obsahuje neplatné znaÄky POC."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr "Více snímků JPEG2000 (neuvedených) obsahuje neplatné hodnoty Rsiz."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"Více snímků JPEG2000 (neuvedených) obsahuje nesprávný poÄet Äástí dlaždic."
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr "Více snímků JPEG2000 (neuvedených) má neplatnou výšku bloku kódu."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr "More JPEG2000 frames (not listed) have an invalid code-block width."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "Další snímky JPEG2000 (neuvedené) nemají znaÄku TLM."
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
"Další velikosti dlaždic JPEG2000 (neuvedené) neodpovídají velikosti obrázku."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
@@ -2261,7 +2271,7 @@ msgstr ""
"Více snímků (neuvedených) má okamžitou přenosovou rychlost, která se blíží "
"limitu 250 Mbit/s."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
@@ -2269,11 +2279,11 @@ msgstr ""
"Více snímků (neuvedených v seznamu) má okamžitou přenosovou rychlost vyšší "
"než limit 250 Mbit/s."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr "Další snímky (neuvedené v seznamu) mají příliš velké obrazové složky."
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
"Další snímky (neuvedené v seznamu) mají neplatné kódové proudy JPEG2000."
@@ -2363,7 +2373,7 @@ msgstr "Další"
msgid "No"
msgstr "Žádný"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "Nebyl nalezen žádný soubor ASSETMAP nebo ASSETMAP.xml."
@@ -2371,7 +2381,7 @@ msgstr "Nebyl nalezen žádný soubor ASSETMAP nebo ASSETMAP.xml."
msgid "No DCP loaded."
msgstr "DCP nebyl naÄten."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "Nebyly nalezeny žádné chyby SMPTE Bv2.1."
@@ -2384,11 +2394,11 @@ msgstr "Z %s channel '%s' do %s channel '%s’ nebude přidán žádný zvuk."
msgid "No content found in this folder."
msgstr "Žádný obsah nebyl ve složce nalezen."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "Nebyly nalezeny žádné chyby."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "Nebyla nalezena žádná varování."
@@ -2402,7 +2412,7 @@ msgstr "Nestandardní"
msgid "None"
msgstr "Žádný"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr "Ne vÅ¡echny asset titulky mají zadanou stejnou <Language> znaÄku."
@@ -2531,12 +2541,12 @@ msgstr "Přepsat zjištěnou snímkovou frekvenci videa"
msgid "Overwrite this file with current configuration"
msgstr "Přepsat tento soubor aktuální konfigurací"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
"Část DCP nebylo možné zkontrolovat, protože nebyl k dispozici žádný KDM."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3050,7 +3060,7 @@ msgstr "Vybrat soubor protokolu ladění"
msgid "Select output file"
msgstr "Vybrat výstupní soubor"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr "Vybrat…"
@@ -3220,7 +3230,7 @@ msgstr ""
"Některé KDM by měly doby platnosti, které jsou mimo období platnosti "
"certifikátu příjemce. Co chceš dělat?"
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
@@ -3228,7 +3238,7 @@ msgstr ""
"Některé uzavřené uzly <Text> nebo <Obrázek> mají v rámci <Nápisu> různé "
"vertikální zarovnání."
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3239,7 +3249,7 @@ msgstr ""
msgid "Sound"
msgstr "Zvuk"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr "VÅ¡echny zvuková assety nemají stejný poÄet kanálů."
@@ -3322,7 +3332,7 @@ msgstr "Odběratelé"
msgid "Subtitle appearance"
msgstr "Vzhled titulků"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "Datový zdroj titulků %asset_id má nenulový <EntryPoint>."
@@ -3408,23 +3418,23 @@ msgstr "Testeři"
msgid "The 'until' time must be after the 'from' time."
msgstr "ÄŒas 'do' musí být po Äase 'od’."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr "<LabelText> v <ContentVersion> v CPL %cpl je prázdný"
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr "<MainPictureActiveArea> buÄ není násobkem 2, nebo je vÄ›tší než asset."
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr "ASSETMAP %asset_map_id má více než jeden asset se stejným ID."
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
@@ -3432,7 +3442,7 @@ msgstr ""
"ID datového zdroje v Äasování textu MXF je stejné jako ID prostÅ™edku nebo ID "
"obsaženého XML."
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
@@ -3440,57 +3450,57 @@ msgid ""
msgstr ""
"CPL %cpl má <AnnotationText>který není stejný jako jeho <ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "CPL %cpl má neplatný prostor názvů %xml_namespace"
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "CPL %cpl má zašifrovaný obsah, ale není podepsaný."
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "CPL %cpl nemá znaÄku <AnnotationText>."
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "CPL %cpl nemá znaÄku <ContentVersion>"
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "CPL %cpl nemá metadatovou znaÄku rozšíření CPL."
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "CPL %cpl nemá metadatovou znaÄku CPL."
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "CPL %cpl nemá znaÄku s Äíslem verze metadat CPL."
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr "CPL %f má neplatnou znaÄku metadat rozšíření CPL (%error)"
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr "DCP má FFOC %time místo 1."
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr "DCP má LFOC %time namísto doby trvání reelu minus jedna."
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
@@ -3498,30 +3508,30 @@ msgstr ""
"DCP má uzavÅ™ené titulky, ale ne každý reel má stejný poÄet datových zdrojů "
"skrytých titulků."
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr "DCP má šifrovaný obsah, ale ne všechny jeho prostředky jsou šifrovány."
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "DCP nemá žádnou znaÄku FFOC (první snímek obsahu)."
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "DCP nemá žádnou znaÄku LFOC (poslední snímek obsahu)."
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr "DCP má titulky, ale alespoň jeden reel nemá žádný asset titulků."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
"DCP je funkce, ale nemá žádnou znaÄku FFEC (první snímek závÄ›reÄných "
"titulků)."
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3546,12 +3556,12 @@ msgstr ""
"PoÄáteÄní období KDM je pÅ™ed (nebo téměř) zaÄátkem doby platnosti "
"podpisového certifikátu. Použijte pro tento KDM pozdÄ›jší Äas zahájení."
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "PKL %f má neplatný jmenný prostor %xml_namespace"
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
@@ -3559,99 +3569,103 @@ msgid ""
msgstr ""
"PKL %pkl má <AnnotationText> který neodpovídá jeho CPL <ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr "PKL %pkl má šifrovaný obsah, ale není podepsaný."
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr "PKL %pkl_id má více než jeden asset se stejným ID."
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr "Hodnoty hash PKL a CPL nesouhlasí s obrázkem datového zdroje %f."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr "Hodnoty hash PKL a CPL nesouhlasí se zvukovým zařízením %f."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr "ID prostÅ™edku v Äasované textové mxf neodpovídá ID obsaženého XML."
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr "Titulky SMPTE %asset_id má uzly <Text>, ale žádný uzel <LoadFont>"
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "XML v %f je poškozený (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "XML v %f je poškozený na řádku %l (%error)."
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-"Kód XML v uzavřeném datovém zdroji titulku %f zabírá %size_in_bytes bajtů, což je více "
-"než limit 256 KB."
+"Kód XML v uzavřeném datovém zdroji titulku %f zabírá %size_in_bytes bajtů, "
+"což je více než limit 256 KB."
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
-msgstr "XML v aktivu titulků %asset_id má více než jednu deklaraci jmenného prostoru."
-
-#: src/wx/verify_dcp_result_panel.cc:336
-#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr "Datový zdroj %f je 3D, ale jeho MXF je oznaÄen jako 2D."
-
-#: src/wx/verify_dcp_result_panel.cc:295
-#, c-format
-msgid "The asset %f is missing."
-msgstr "Datový zdroj %f chybí."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
+msgstr ""
+"XML v aktivu titulků %asset_id má více než jednu deklaraci jmenného prostoru."
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
-msgstr "Datový zdroj %asset_id má dobu trvání kratší než 1 vteřinu, což je neplatné."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgstr ""
+"Datový zdroj %asset_id má dobu trvání kratší než 1 vteřinu, což je neplatné."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-"Datový zdroj %asset_id má intrinsickou dobu trvání kratší než 1 sekundu, která je "
-"neplatná."
+"Datový zdroj %asset_id má intrinsickou dobu trvání kratší než 1 sekundu, "
+"která je neplatná."
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "Datový zdroj %asset_id nemá <Hash> v CPL."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr "Datový zdroj %f je 3D, ale jeho MXF je oznaÄen jako 2D."
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "Datový zdroj %f chybí."
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr "Dílo s ID %asset_id v mapÄ› aktiv má ve skuteÄnosti id %other_asset_id"
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr "UzavÅ™ený titulek majetku %asset_id nemá <EntryPoint> znaÄky."
@@ -3696,31 +3710,31 @@ msgstr ""
"Soubor %s již existuje. Chcete jej použít jako novou konfiguraci nebo jej "
"přepsat s aktuální konfigurací?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
"První titulky nebo skrytý titulky se odehrává před 4s do prvního reealu."
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-"Soubor fontu pro ID fontu „%load_font_id“ nebyl nalezen nebo na něj nebyl odkaz v "
-"ASSETMAP."
+"Soubor fontu pro ID fontu „%load_font_id“ nebyl nalezen nebo na něj nebyl "
+"odkaz v ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-"Písma v Äasování textového datového zdroje %f zachytá %size_in_bytes bajtů, což je nad "
-"limitem 10 MB."
+"Písma v Äasování textového datového zdroje %f zachytá %size_in_bytes bajtů, "
+"což je nad limitem 10 MB."
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3730,7 +3744,7 @@ msgstr ""
"(%reference_hash). To pravděpodobně znamená, že soubor s aktivem je "
"poškozený."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3740,7 +3754,7 @@ msgstr ""
"(%reference_hash). To pravděpodobně znamená, že soubor s aktivem je "
"poškozený."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
@@ -3749,8 +3763,7 @@ msgstr ""
"Hash (%reference_hash) CPL %cpl v PKL nesouhlasí se souborem CPL "
"(%calculated_hash). To pravděpodobně znamená, že soubor CPL je poškozený."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "Používá se neplatná znaÄka jazyka %language."
@@ -3759,28 +3772,28 @@ msgstr "Používá se neplatná znaÄka jazyka %language."
msgid "The language that the film's title (\"%s\") is in"
msgstr "Jazyk, ve které je název filmu (%s)"
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
"Obraz na reelu má neplatnou snímkovou frekvenci %frame_rate, což není platné."
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-"Doba trvání reelu (%other_duration) urÄitého Äasovaného textu není stejná jako doba "
-"trvání kontejneru (%duration) mxf."
+"Doba trvání reelu (%other_duration) urÄitého Äasovaného textu není stejná "
+"jako doba trvání kontejneru (%duration) mxf."
-#: src/wx/verify_dcp_result_panel.cc:408
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:423
+#, fuzzy, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "Zvukový prostředek %f má neplatnou bitovou hloubku %bit_depth."
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "Zvukový datový zdroj %f má neplatnou snímkovací frekvenci %frame_rate."
@@ -3793,39 +3806,41 @@ msgstr ""
"Standard, který by měl DCP používat. Interop je starší a SMPTE je novější "
"(aktuální) standard. Pokud máte pochybnosti, zvolte „SMPTE“."
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "Asset titulků %asset_id neobsahuje žádné titulky."
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "Datový zdroj titulku %asset_id nemá <EntryPoint> znaÄky."
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "Datový zdroj titulku %f neobsahuje žádnou znaÄku <Language>."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "Datový zdroj titulku %f neobsahuje <StartTime> znaÄky."
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr "Datový zdroj titulku %f má <StartTime> který není nulový."
-#: src/wx/verify_dcp_result_panel.cc:643
-#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "Asset titulků %asset_id neobsahuje žádné titulky."
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "Datový zdroj titulku %asset_id nemá <EntryPoint> znaÄky."
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-"Časovaný textový datový zdroj %f zabírá %size_in_bytes bajtů, což je nad limitem 115 MB."
+"Časovaný textový datový zdroj %f zabírá %size_in_bytes bajtů, což je nad "
+"limitem 115 MB."
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
@@ -3834,41 +3849,42 @@ msgstr ""
"Datový zdroj videa %f používá snímkovou frekvenci %frame_rate, která je "
"neplatná pro 4K video."
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
"Datový zdroj videa %f používá neplatnou snímkovou frekvenci %frame_rate."
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
-msgstr "Datový zdroj videa %f používá neplatnou velikost obrázku %size_in_pixels."
+msgstr ""
+"Datový zdroj videa %f používá neplatnou velikost obrázku %size_in_pixels."
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
#, fuzzy
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
"Datový zdroj videa %f používá snímkovou frekvenci %frame_rate, která je pro "
"3D video neplatná."
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "Na jednom místě jsou více než 3 uzavřené řádky titulků."
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "Na jednom místě jsou více než 3 řádky titulků."
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr "V alespoň jednom uzavřeném řádku titulku je více než 32 znaků."
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "V alespoň jednom řádku titulků je více než 52 znaků."
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr "Existuje více než 79 znaků alespoň v jednom řádku titulků."
@@ -3880,11 +3896,11 @@ msgstr "Nejsou zde žádné pokyny: probíhá kontrola projektu."
msgid "There are no hints: everything looks good!"
msgstr "Žádné upozornění; všechno vypadá dobře !"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr "UvnitÅ™ znaÄky <MainMarkers> je znaÄka <Duration>."
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr "UvnitÅ™ znaÄky <MainMarkers> je znaÄka <EntryPoint>."
@@ -3909,16 +3925,16 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Tato licence CPL neobsahuje žádná zašifrovaná aktiva."
-#: src/wx/verify_dcp_result_panel.cc:333
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:348
+#, fuzzy, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"Tento DCP odkazuje na datový zdroj %asset_id v jiném DCP (a možná i v jiných), "
-"takže se jedná o „soubor verze“ (VF)"
+"Tento DCP odkazuje na datový zdroj %asset_id v jiném DCP (a možná i v "
+"jiných), takže se jedná o „soubor verze“ (VF)"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
"Tento DCP používá standard Interop, ale měl by být vyroben pomocí SMPTE."
@@ -4317,7 +4333,7 @@ msgstr "Platný do"
msgid "Vendor"
msgstr "Dodavatel"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr "Ověřovací zpráva"
diff --git a/src/wx/po/da_DK.po b/src/wx/po/da_DK.po
index a4c11afb4..c5a20d866 100644
--- a/src/wx/po/da_DK.po
+++ b/src/wx/po/da_DK.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2019-04-06 13:46+0200\n"
"Last-Translator: FULL NAME &lt;EMAIL@ADDRESS&gt;\n"
"Language-Team: LANGUAGE &lt;LL@li.org&gt;\n"
@@ -236,12 +236,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -266,70 +266,76 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -338,7 +344,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr "En ny version af DCP-o-matic er tilgængelig."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, fuzzy, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "Filmen i en spole har en ugyldig billedhastighed"
@@ -348,11 +354,11 @@ msgstr "Filmen i en spole har en ugyldig billedhastighed"
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -573,11 +579,11 @@ msgstr "Alpha 0"
msgid "Also supported by"
msgstr "Også støttet af"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -627,24 +633,24 @@ msgstr ""
"Er du sikker på at du vil sende emails til nedenstående adresser?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -879,7 +885,7 @@ msgstr "Biograf- og sals-database"
msgid "Click the button to set all selected content to the same value."
msgstr "Klik denne knap for at give alt valgt indhold samme værdi."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -1031,7 +1037,7 @@ msgstr "Kunne ikke indlæse certifikat (%s)"
msgid "Could not play content"
msgstr "Kunne ikke indlæse KDM"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Kunne ikke indlæse KDM"
@@ -1598,21 +1604,21 @@ msgstr ""
msgid "Format"
msgstr "Format"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2220,81 +2226,81 @@ msgstr ""
msgid "Mix audio down to stereo"
msgstr "Mix lyd ned til stereo"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr "Filmen i en spole har en ugyldig billedhastighed"
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
#, fuzzy
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr "Filmen i en spole har en ugyldig billedhastighed"
@@ -2385,7 +2391,7 @@ msgstr ""
msgid "No"
msgstr "Ingen"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2393,7 +2399,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr "Ingen DCP indlæst."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2406,11 +2412,11 @@ msgstr "Ingen lyd vil blive sendt fra indholdskanal %d til DCP-kanal %d."
msgid "No content found in this folder."
msgstr "Fandt intet indhold i denne folder."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2425,7 +2431,7 @@ msgstr "Standard"
msgid "None"
msgstr "Ingen"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2561,11 +2567,11 @@ msgstr "Videobilledhastighed"
msgid "Overwrite this file with current configuration"
msgstr "Overskriv denne fil med nuværende konfiguration"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3097,7 +3103,7 @@ msgstr "Vælg debuglog fil"
msgid "Select output file"
msgstr "Vælg output fil"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Vælg"
@@ -3275,13 +3281,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3290,7 +3296,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3379,7 +3385,7 @@ msgstr "Abonnenter"
msgid "Subtitle appearance"
msgstr "Underteksters udseende"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3473,113 +3479,113 @@ msgstr "Testet af"
msgid "The 'until' time must be after the 'from' time."
msgstr "'Til' tidspunktet skal være efter 'fra' tidspunktet."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, fuzzy, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "Filmen i en spole har en ugyldig billedhastighed"
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3598,109 +3604,111 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, fuzzy, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "Filmen i en spole har en ugyldig billedhastighed"
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, fuzzy, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
"Der er uoverensstemmelse mellem PKL og CPL hashværdierne for et billedeaktiv."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, fuzzy, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
"Der er uoverensstemmelse mellem PKL og CPL hashværdierne for et lydaktiv."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3739,26 +3747,26 @@ msgstr ""
"Filen %s eksisterer allerede. Vil du bruge den som din nye konfiguration "
"eller overskrive den med din nuværende konfiguration?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
@@ -3768,7 +3776,7 @@ msgstr ""
"Hashværdien for billedaktivet %s stemmer ikke overens med PKL filen. Det "
"betyder formodentlig at aktivets fil er ødelagt."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
@@ -3778,7 +3786,7 @@ msgstr ""
"Hashværdien for lydaktivet %s stemmer ikke overens med PKL filen. Det "
"betyder formodentlig at aktivets fil er ødelagt."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
#, fuzzy
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
@@ -3788,8 +3796,7 @@ msgstr ""
"CPLens hashværdi i PKLen stemmer ikke overens med CPLfilens. Det betyder "
"formodentlig at CPL filen er ødelagt."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3798,25 +3805,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, fuzzy, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr "Filmen i en spole har en ugyldig billedhastighed"
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, fuzzy, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "Filmen i en spole har en ugyldig billedhastighed"
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, fuzzy, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "Filmen i en spole har en ugyldig billedhastighed"
@@ -3827,75 +3834,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, fuzzy, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr "Filmen i en spole har en ugyldig billedhastighed"
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3907,11 +3915,11 @@ msgstr "Der er ingen tips endnu: check af projekt er stadig i gang."
msgid "There are no hints: everything looks good!"
msgstr "Der er ingen tips; det hele ser godt ud!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3934,14 +3942,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Denne CPL indholder ikke krypterede aktiver."
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4326,7 +4334,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "DCP verificering"
diff --git a/src/wx/po/de_DE.po b/src/wx/po/de_DE.po
index d877bc887..a1b250186 100644
--- a/src/wx/po/de_DE.po
+++ b/src/wx/po/de_DE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2021-08-20 21:46+0200\n"
"Last-Translator: Carsten Kurz\n"
"Language-Team: DCP-o-matic translators\n"
@@ -240,12 +240,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -270,73 +270,89 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-"A 2K JPEG2000 Frame enthält %tile_parts Blöcke (Tiles) anstelle von drei Blöcken."
+"A 2K JPEG2000 Frame enthält %tile_parts Blöcke (Tiles) anstelle von drei "
+"Blöcken."
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, fuzzy, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "A JPEG2000 Frame enthält einen ungültigen POC-Marker (%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "A 2K JPEG2000 Frame hat %poc_markers POC-Marker anstelle von 0 POC-Markern."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgstr ""
+"A 2K JPEG2000 Frame hat %guard_bits Guard Bits anstelle von einem Guard Bit."
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
-msgstr "A 2K JPEG2000 Frame hat %guard_bits Guard Bits anstelle von einem Guard Bit."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr ""
+"A 2K JPEG2000 Frame hat %poc_markers POC-Marker anstelle von 0 POC-Markern."
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-"A 4K JPEG2000 Frame enthält %tile_parts Blöcke (Tiles) anstelle von sechs Blöcken."
+"A 4K JPEG2000 Frame enthält %tile_parts Blöcke (Tiles) anstelle von sechs "
+"Blöcken."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, fuzzy, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "A JPEG2000 Frame enthält einen ungültigen POC-Marker (%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "A 2K JPEG2000 Frame hat %poc_markers POC-Marker anstelle von 1 POC-Marker."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgstr ""
+"A 2K JPEG2000 Frame hat %guard_bits Guard Bits anstelle von zwei Guard Bits."
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
-msgstr "A 2K JPEG2000 Frame hat %guard_bits Guard Bits anstelle von zwei Guard Bits."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr ""
+"A 2K JPEG2000 Frame hat %poc_markers POC-Marker anstelle von 1 POC-Marker."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
#, fuzzy
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "A JPEG2000 Frame enthält POC-Marker an einer ungültigen Position."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "A JPEG2000 Frame enthält einen ungültigen POC-Marker (%n)."
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
-msgstr "A JPEG2000 Frame hat eine Code-Block-Höhe von %code_block_height anstelle von 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgstr ""
+"A JPEG2000 Frame hat eine Code-Block-Höhe von %code_block_height anstelle "
+"von 32."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
-msgstr "A JPEG2000 Frame hat eine Code-Block-Breite von %code_block_width anstelle von 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgstr ""
+"A JPEG2000 Frame hat eine Code-Block-Breite von %code_block_width anstelle "
+"von 32."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "A JPEG2000 Frame hat keinen TLM-Marker."
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr "A JPEG2000 Blockgröße (Tile Size) passt nicht zur Bildgröße."
@@ -345,7 +361,7 @@ msgstr "A JPEG2000 Blockgröße (Tile Size) passt nicht zur Bildgröße."
msgid "A new version of %s is available."
msgstr "Es ist eine neue Version von DCP-o-matic verfügbar."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, fuzzy, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "Eine Videodatei enthält eine unzulässige Bildrate!"
@@ -355,11 +371,11 @@ msgstr "Eine Videodatei enthält eine unzulässige Bildrate!"
msgid "A problem occurred when looking for hints (%s)"
msgstr "Beim Zugriff auf Hinweise ist ein Fehler aufgetreten (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "A subtitle lasts longer than the reel it is in."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -583,11 +599,11 @@ msgstr "Alpha 0"
msgid "Also supported by"
msgstr "Unterstützt durch"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "Eine der Mediendaten ('Asset') hat einen leeren Pfad in der ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -637,31 +653,31 @@ msgstr ""
"Bitte bestätigen Sie das Versenden von Emails an die folgenden Adressen!\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
"Mindestens ein <Text>-Knoten in einem Untertitel oder Closed Caption (CCAP) "
"ist leer."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
"Mindestens eine Mediendatei ('Asset') in einem Akt ('Reel') hat nicht die "
"gleiche Dauer wie andere Mediendateien des gleichen Akts."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
"Mindestens ein Paar von Untertiteln ist durch weniger als zwei Frames "
"getrennt."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
#, fuzzy
msgid "At least one subtitle has zero or negative duration."
msgstr "Mindestens ein Untertitle dauert weniger als 15 Frames."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "Mindestens ein Untertitle dauert weniger als 15 Frames."
@@ -905,12 +921,12 @@ msgstr "Kino- und Saaldatenbank (für KDM Erstellung)"
msgid "Click the button to set all selected content to the same value."
msgstr "Klicken um alle ausgewählten Inhalte mit demselben Wert zu versehen"
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
-"Closed Caption-Mediendatei %asset_id ('CCAP Asset') hat einen <EntryPoint>, der von "
-"Null verschieden ist."
+"Closed Caption-Mediendatei %asset_id ('CCAP Asset') hat einen <EntryPoint>, "
+"der von Null verschieden ist."
#: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115
msgid "Closed captions"
@@ -1058,7 +1074,7 @@ msgstr "Konnte die Zertifikatsdatei (%s) nicht lesen."
msgid "Could not play content"
msgstr "Konnte KDM nicht laden"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Konnte KDM nicht laden"
@@ -1632,7 +1648,7 @@ msgstr "Videowassermarke hinzufügen"
msgid "Format"
msgstr "Format"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1641,7 +1657,7 @@ msgstr ""
"Mindestens ein Frame der Video-Mediendatei %f ('Asset') ist nahe am "
"Grenzwert von 250 MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1650,7 +1666,7 @@ msgstr ""
"Mindestens ein Frame der Video-Mediendatei %f ('Asset') ist nahe am "
"Grenzwert von 250 MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2299,75 +2315,75 @@ msgstr "Metadaten..."
msgid "Mix audio down to stereo"
msgstr "Mehrkanalaudio zu Stereo heruntermischen"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
#, fuzzy
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"A 2K JPEG2000 Frame enthält %n Blöcke (Tiles) anstelle von drei Blöcken."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
#, fuzzy
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr "A JPEG2000 Frame enthält einen ungültigen POC-Marker (%n)."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
#, fuzzy
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr "A JPEG2000 Frame enthält einen ungültigen POC-Marker (%n)."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
#, fuzzy
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr "A JPEG2000 Frame enthält POC-Marker an einer ungültigen Position."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr "A JPEG2000 Frame enthält einen ungültigen POC-Marker (%n)."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr "A JPEG2000 Frame enthält einen ungültigen POC-Marker (%n)."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr "A JPEG2000 Frame enthält POC-Marker an einer ungültigen Position."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr "A JPEG2000 Frame enthält POC-Marker an einer ungültigen Position."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
#, fuzzy
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "A JPEG2000 Frame hat keinen TLM-Marker."
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
#, fuzzy
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr "A JPEG2000 Blockgröße (Tile Size) passt nicht zur Bildgröße."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
@@ -2376,7 +2392,7 @@ msgstr ""
"Mindestens ein Frame der Video-Mediendatei %f ('Asset') ist nahe am "
"Grenzwert von 250 MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
@@ -2385,11 +2401,11 @@ msgstr ""
"Mindestens ein Frame der Video-Mediendatei %f ('Asset') ist nahe am "
"Grenzwert von 250 MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
#, fuzzy
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr "Eine Videodatei enthält eine unzulässige Bildrate!"
@@ -2480,7 +2496,7 @@ msgstr ""
msgid "No"
msgstr "Ohne"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "Es wurde keine ASSETMAP oder ASSETMAP.xml-Datei gefunden."
@@ -2488,7 +2504,7 @@ msgstr "Es wurde keine ASSETMAP oder ASSETMAP.xml-Datei gefunden."
msgid "No DCP loaded."
msgstr "Kein DCP ausgewählt"
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "Es wurden keine SMPTE Bv2.1 Fehler gefunden."
@@ -2502,11 +2518,11 @@ msgstr ""
msgid "No content found in this folder."
msgstr "Keine Inhalte in diesem Ordner."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "Keine Fehler gefunden."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "Keine Warnungen gefunden."
@@ -2521,7 +2537,7 @@ msgstr "DCP Standard"
msgid "None"
msgstr "Ohne"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
"Nicht alle Untertitel-Mediendateien ('Assets') spezifizieren den gleichen "
@@ -2663,11 +2679,11 @@ msgstr "Bildratenbezugswert"
msgid "Overwrite this file with current configuration"
msgstr "Diese Datei mit der aktuellen Konfiguration überschreiben"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr "Teile des DCP konnten nicht geprüft werden, da kein KDM verfügbar war."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3201,7 +3217,7 @@ msgstr "Debug-Logdatei wählen"
msgid "Select output file"
msgstr "Ausgabedatei wählen"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Auswählen"
@@ -3379,13 +3395,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3394,7 +3410,7 @@ msgstr ""
msgid "Sound"
msgstr "Ton"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3483,7 +3499,7 @@ msgstr "Regelmäßige Zahler"
msgid "Subtitle appearance"
msgstr "Untertitel Darstellung"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3579,115 +3595,115 @@ msgstr ""
"Das Ende des Gültigkeitsfensters muss nach dem Start des Gültigkeitsfensters "
"liegen ;-)"
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, fuzzy, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "Eine Videodatei enthält eine unzulässige Bildrate!"
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
"Das DCP hat Untertitel, aber mindestens ein Akt ('Reel') hat keine "
"Untertitel-Mediendatei ('Reel')."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3706,113 +3722,115 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, fuzzy, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "Eine Videodatei enthält eine unzulässige Bildrate!"
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, fuzzy, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
"Die Prüfsummen in PKL und CPL für eine Videodatei (MXF) weichen voneinander "
"ab!"
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, fuzzy, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
"Die Prüfsummen in PKL und CPL für eine Audiodatei (MXF) weichen voneinander "
"ab!"
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "Das XML in %f ist nicht wohlgeformt (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "Das XML in %f ist in Zeile %l nicht wohlgeformt (%error)."
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
+"Die Mediendatei ('Asset') %asset_id hat eine ungültige Dauer von weniger als "
+"einer Sekunde."
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
-msgstr "Die Mediendatei ('Asset') %f fehlt."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
+msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-"Die Mediendatei ('Asset') %asset_id hat eine ungültige Dauer von weniger als einer "
-"Sekunde."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
-msgstr ""
+msgid "The asset %f is missing."
+msgstr "Die Mediendatei ('Asset') %f fehlt."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3852,26 +3870,26 @@ msgstr ""
"Konfigurationsdatei verwenden, oder soll sie mit der aktuellen Konfiguration "
"überschrieben werden?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
@@ -3881,7 +3899,7 @@ msgstr ""
"Die Prüfsumme der Videodatei (MXF) %s weicht von der PKL-Prüfsumme ab - mit "
"einiger Sicherheit ist die Datei defekt oder unvollständig!"
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
@@ -3891,7 +3909,7 @@ msgstr ""
"Die Prüfsumme der Audiodatei (MXF) %s weicht von der PKL-Prüfsumme ab - mit "
"einiger Sicherheit ist die Datei defekt oder unvollständig!"
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
#, fuzzy
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
@@ -3899,8 +3917,7 @@ msgid ""
"corrupt."
msgstr "Die Prüfsumme für die CPL in der PKL entspricht nicht der CPL Datei!"
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3909,25 +3926,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, fuzzy, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr "Eine Videodatei enthält eine unzulässige Bildrate!"
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, fuzzy, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "Eine Videodatei enthält eine unzulässige Bildrate!"
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, fuzzy, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "Eine Videodatei enthält eine unzulässige Bildrate!"
@@ -3938,77 +3955,78 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
-#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+#: src/wx/verify_dcp_result_panel.cc:645
+#, fuzzy, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
+"Das DCP hat Untertitel, aber mindestens ein Akt ('Reel') hat keine "
+"Untertitel-Mediendatei ('Reel')."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
-#, fuzzy, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+#: src/wx/verify_dcp_result_panel.cc:387
+#, c-format
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-"Das DCP hat Untertitel, aber mindestens ein Akt ('Reel') hat keine "
-"Untertitel-Mediendatei ('Reel')."
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, fuzzy, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr "Eine Videodatei enthält eine unzulässige Bildrate!"
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -4020,11 +4038,11 @@ msgstr "Bitte warten Sie die Projektprüfung ab!"
msgid "There are no hints: everything looks good!"
msgstr "Keine Warnungen: Alles sieht gut aus!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -4049,16 +4067,17 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Die Mediendaten ('Assets') dieser CPL sind nicht verschlüsselt!"
-#: src/wx/verify_dcp_result_panel.cc:333
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:348
+#, fuzzy, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"Dieses DCP bezieht sich auf eine Mediendatei ('asset) %asset_id eines anderen DCP "
-"(und vielleicht weiterer DCPs), damit ist es eine Versionsdatei (VF)."
+"Dieses DCP bezieht sich auf eine Mediendatei ('asset) %asset_id eines "
+"anderen DCP (und vielleicht weiterer DCPs), damit ist es eine Versionsdatei "
+"(VF)."
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4443,7 +4462,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "DCP Integritätsprüfung"
diff --git a/src/wx/po/el_GR.po b/src/wx/po/el_GR.po
index b96578daa..41be10397 100644
--- a/src/wx/po/el_GR.po
+++ b/src/wx/po/el_GR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -232,12 +232,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -260,70 +260,76 @@ msgstr ""
msgid "A"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -332,7 +338,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr ""
@@ -342,11 +348,11 @@ msgstr ""
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -548,11 +554,11 @@ msgstr ""
msgid "Also supported by"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -599,24 +605,24 @@ msgid ""
"\n"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -840,7 +846,7 @@ msgstr ""
msgid "Click the button to set all selected content to the same value."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -985,7 +991,7 @@ msgstr ""
msgid "Could not play content"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr ""
@@ -1518,21 +1524,21 @@ msgstr ""
msgid "Format"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2114,80 +2120,80 @@ msgstr ""
msgid "Mix audio down to stereo"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2275,7 +2281,7 @@ msgstr ""
msgid "No"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2283,7 +2289,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2296,11 +2302,11 @@ msgstr ""
msgid "No content found in this folder."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2314,7 +2320,7 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2443,11 +2449,11 @@ msgstr ""
msgid "Overwrite this file with current configuration"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -2959,7 +2965,7 @@ msgstr ""
msgid "Select output file"
msgstr ""
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr ""
@@ -3127,13 +3133,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3142,7 +3148,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3225,7 +3231,7 @@ msgstr ""
msgid "Subtitle appearance"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3311,113 +3317,113 @@ msgstr ""
msgid "The 'until' time must be after the 'from' time."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3436,107 +3442,109 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3571,48 +3579,47 @@ msgid ""
"or overwrite it with your current configuration?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3621,25 +3628,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3650,75 +3657,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3730,11 +3738,11 @@ msgstr ""
msgid "There are no hints: everything looks good!"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3757,14 +3765,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4140,7 +4148,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr ""
diff --git a/src/wx/po/es_ES.po b/src/wx/po/es_ES.po
index ed00fd8f0..ad71ba8ad 100644
--- a/src/wx/po/es_ES.po
+++ b/src/wx/po/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libdcpomatic-wx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2018-02-25 14:45-0600\n"
"Last-Translator: Manuel AC <manuel.acevedo@civantos.>\n"
"Language-Team: Manuel AC <manuel.acevedo@civantos.com>\n"
@@ -235,12 +235,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -265,70 +265,76 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -337,7 +343,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr "Una nueva versión de DCP-o-matic está disponible."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr ""
@@ -347,11 +353,11 @@ msgstr ""
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -572,11 +578,11 @@ msgstr "Alpha 0"
msgid "Also supported by"
msgstr "Soportado por"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -626,24 +632,24 @@ msgstr ""
"¿Estás seguro de que quieres enviar correos a las direcciones siguientes?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -880,7 +886,7 @@ msgid "Click the button to set all selected content to the same value."
msgstr ""
"Pulsar el botón para poner todo el contenido seleccionado al mismo valor."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -1034,7 +1040,7 @@ msgstr "No se pudo importar el certificado (%s)"
msgid "Could not play content"
msgstr "No se pudo cargar la KDM."
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "No se pudo cargar la KDM."
@@ -1607,21 +1613,21 @@ msgstr ""
msgid "Format"
msgstr "Formato"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2236,80 +2242,80 @@ msgstr ""
msgid "Mix audio down to stereo"
msgstr "Mezcla de audio a estéreo"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2399,7 +2405,7 @@ msgstr ""
msgid "No"
msgstr "Ninguno"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2407,7 +2413,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr "No se ha cargado ningún DCP."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2420,11 +2426,11 @@ msgstr "No pasará audio del canal de origen %d al canal %d del DCP."
msgid "No content found in this folder."
msgstr "No se encontró contenido en esta carpeta."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2439,7 +2445,7 @@ msgstr "Estandard"
msgid "None"
msgstr "Ninguno"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2577,11 +2583,11 @@ msgstr "Velocidad de imagen"
msgid "Overwrite this file with current configuration"
msgstr "Sobreescribir este fichero con la configuración actual"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3121,7 +3127,7 @@ msgstr "Seleccionar fichero de salida"
msgid "Select output file"
msgstr "Seleccionar fichero de salida"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Seleccionar OV"
@@ -3298,13 +3304,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3313,7 +3319,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3402,7 +3408,7 @@ msgstr ""
msgid "Subtitle appearance"
msgstr "Apariencia del subtítulo"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3497,113 +3503,113 @@ msgstr "Comprobado por"
msgid "The 'until' time must be after the 'from' time."
msgstr "El tiempo ‘hasta’ debe ser posterior al tiempo ‘desde’."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3622,107 +3628,109 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3760,48 +3768,47 @@ msgstr ""
"El fichero %s ya existe. ¿Quiere usarlo como su nueva configuración o "
"sobreescribirlo con su configuración actual?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3810,25 +3817,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3839,75 +3846,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3920,11 +3928,11 @@ msgstr "No hay recomendaciones: ¡todo parece bien!"
msgid "There are no hints: everything looks good!"
msgstr "No hay recomendaciones: ¡todo parece bien!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3948,14 +3956,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "El contenido del CPL no está encriptado."
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4344,7 +4352,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "Certificado"
diff --git a/src/wx/po/fa_IR.po b/src/wx/po/fa_IR.po
index d1673e206..a2fd9c52c 100644
--- a/src/wx/po/fa_IR.po
+++ b/src/wx/po/fa_IR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2024-10-05 17:45+0330\n"
"Last-Translator: Soleyman Rahmani Aghdam <Soleyman.rahmani@gmail.com>\n"
"Language-Team: \n"
@@ -238,12 +238,12 @@ msgstr "96 هزار هرتز"
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr "<IssueDate> یک مقدار نامعتبر دارد %issue_date"
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, fuzzy, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr "<MainSoundConfiguration> تعداد نادرست کانالها را بیان میکند(%error)"
@@ -268,70 +268,77 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr "یک ÙØ±ÛŒÙ… 2k JPEG2000 به جای 3 قطعه شامل %tile_parts قطعه است."
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, fuzzy, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "یک ÙØ±ÛŒÙ… JPEG2000 شامل نشانه POC نادرستی است(%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:527
-#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "یک ÙØ±ÛŒÙ… 2k JPEG2000 به جای 0 شامل %poc_markers نشانه(های)POC است."
-
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr "یک ÙØ±ÛŒÙ… 2k JPEG2000 به جای 1 بیت شامل %guard_bits بیت Ù…Ø­Ø§ÙØ¸ است."
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:542
+#, c-format
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr "یک ÙØ±ÛŒÙ… 2k JPEG2000 به جای 0 شامل %poc_markers نشانه(های)POC است."
+
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr "یک ÙØ±ÛŒÙ… 4k JPEG2000 به جای 6 قطعه شامل %tile_parts قطعه است."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, fuzzy, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "یک ÙØ±ÛŒÙ… JPEG2000 شامل نشانه POC نادرستی است(%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:534
-#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "یک ÙØ±ÛŒÙ… 4k JPEG2000 به جای 1 شامل %poc_markers نشانه(های)POC است."
-
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr "یک ÙØ±ÛŒÙ… 4k JPEG2000 به جای2 بیت شامل %guard_bits بیت Ù…Ø­Ø§ÙØ¸ است."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:549
+#, c-format
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr "یک ÙØ±ÛŒÙ… 4k JPEG2000 به جای 1 شامل %poc_markers نشانه(های)POC است."
+
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "یک ÙØ±ÛŒÙ… JPEG2000 شامل یک نشانه POC در محل نادرستی است."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "یک ÙØ±ÛŒÙ… JPEG2000 شامل نشانه POC نادرستی است(%n)."
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
-msgstr "یک ÙØ±ÛŒÙ… JPEG2000 به جای 32 یک بلوک-کد با Ø§Ø±ØªÙØ§Ø¹ %code_block_height دارد."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgstr ""
+"یک ÙØ±ÛŒÙ… JPEG2000 به جای 32 یک بلوک-کد با Ø§Ø±ØªÙØ§Ø¹ %code_block_height دارد."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr "یک ÙØ±ÛŒÙ… JPEG2000 به جای 32 یک بلوک-کد با عرض %code_block_width دارد."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "یک ÙØ±ÛŒÙ… JPEG2000 نشانه TLM ندارد."
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr "اندازه یک قطعه JPEG2000 با اندازه تصویر مطابقت ندارد."
@@ -340,7 +347,7 @@ msgstr "اندازه یک قطعه JPEG2000 با اندازه تصویر مطاØ
msgid "A new version of %s is available."
msgstr "یک نسخه جدید از %s در دسترس است."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "یک ÙØ±ÛŒÙ… تصویر دارای یک رشته کد نامعتبر JPEG2000 است (%error)."
@@ -350,11 +357,11 @@ msgstr "یک ÙØ±ÛŒÙ… تصویر دارای یک رشته کد نامعتبر JP
msgid "A problem occurred when looking for hints (%s)"
msgstr "هنگام جستجوی نکات خطایی رخ داد (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "یک زیرنویس طولانی تر از حلقه Ùیلمش است."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -564,11 +571,11 @@ msgstr "Ø¢Ù„ÙØ§ 0"
msgid "Also supported by"
msgstr "همچنین پشتیبانی شده توسط"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "یکی از محتواها دارای یک مسیر خالی در ÙØ§ÛŒÙ„ ASSETMAP است."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr "یک ContentKind> %content_kind> نا معتبر Ø§Ø³ØªÙØ§Ø¯Ù‡ شده است."
@@ -617,25 +624,25 @@ msgstr ""
"آیا از ارسال ایمیل به آدرس های زیر اطمینان دارید؟ \n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr "حداقل یک گره<Text> در یک زیرنویس زبان یا زیرنویس Ùیلم خالی است."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr "حداقل یک محتوا در یک حلقه مدت زمان مساوی با دیگران ندارد."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr "حداقل یک Ø¬ÙØª زیرنویس توسط کمتر از 2 ÙØ±ÛŒÙ… از هم جدا شده اند."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
#, fuzzy
msgid "At least one subtitle has zero or negative duration."
msgstr "حداقل یک زیرنویس با زمان کمتر از 15 ÙØ±ÛŒÙ… است."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "حداقل یک زیرنویس با زمان کمتر از 15 ÙØ±ÛŒÙ… است."
@@ -860,7 +867,7 @@ msgstr "ÙØ§ÛŒÙ„ پایگاه داده سینما Ùˆ سالن"
msgid "Click the button to set all selected content to the same value."
msgstr "روی دکمه کلیک کنید تا تمام محتوای انتخاب شده روی یک مقدار تنظیم شود."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr "محتوای ÙØ§ÛŒÙ„ زیرنویس Ùیلم %asset_id یک غیر ØµÙØ± دارد <EntryPoint>."
@@ -1006,7 +1013,7 @@ msgstr "گواهی نامه بارگذاری نشد (%s)"
msgid "Could not play content"
msgstr "محتوا پلی نشد"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr "نمیتوان دی سی پی (%error) را خواند"
@@ -1555,7 +1562,7 @@ msgstr "نشان گذاری ویدیو از نظر قانونی"
msgid "Format"
msgstr "ÙØ±Ù…ت"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1564,7 +1571,7 @@ msgstr ""
"ÙØ±ÛŒÙ… %f (تایم کد %ti) از ÙØ§ÛŒÙ„ ویدیوی %f دارای یک حهش آنی نرخ بیت نزدیک به "
"مرز 250 مگا بیت بر ثانیه است."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1573,7 +1580,7 @@ msgstr ""
"ÙØ±ÛŒÙ… %f (تایم کد %ti) از ÙØ§ÛŒÙ„ ویدیوی %f دارای یک حهش آنی نرخ بیت بالاتر از "
"مرز 250 مگا بیت بر ثانیه است."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2187,84 +2194,84 @@ msgstr "متا دیتا..."
msgid "Mix audio down to stereo"
msgstr "میکس صدا به استریو"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"ÙØ±ÛŒÙ… های 2k JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل تعداد قطعات غلط تشکیل دهنده "
"هستند."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"ÙØ±ÛŒÙ… های 2k JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل تعداد نامعتبر بیتهای Ù…Ø­Ø§ÙØ¸ "
"هستند."
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
"ÙØ±ÛŒÙ… های 2k JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل نشانه های بسیار زیاد POC "
"هستند."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"ÙØ±ÛŒÙ… های 4k JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل تعداد نامعتبر بیتهای Ù…Ø­Ø§ÙØ¸ "
"هستند."
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
"ÙØ±ÛŒÙ… های 4k JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل نشانه های بسیار زیاد POC "
"هستند."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
"ÙØ±ÛŒÙ… های JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل نشانه های POC در محلهای "
"نامعتبر هستند."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
"ÙØ±ÛŒÙ… های JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل نشانه های نامعتبر POC هستند."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
"ÙØ±ÛŒÙ… های JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل نشانه های نامعتبر POC هستند."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"ÙØ±ÛŒÙ… های JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل تعداد غلطی از قطعات هستند."
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
"ÙØ±ÛŒÙ… های JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل Ø§Ø±ØªÙØ§Ø¹ بلوک-کد نامعتبرهستند."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
"ÙØ±ÛŒÙ… های JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل عرض بلوک-کد نامعتبرهستند."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "ÙØ±ÛŒÙ… های JPEG2000 بیشتری(Ú©Ù‡ Ùهرست نشدند) نشانه TLM ندارند."
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
"اندازه قطعه های JPEG2000 (Ú©Ù‡ Ùهرست نشدند) بیشتری با اندازه تصویر مطابقت "
"ندارند."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
@@ -2272,7 +2279,7 @@ msgstr ""
"ÙØ±ÛŒÙ… های بیشتری(Ú©Ù‡ Ùهرست نشدند)نرخ بیت آنی نزدیک به 250 مگابیت بر ثانیه "
"دارند."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
@@ -2280,11 +2287,11 @@ msgstr ""
"ÙØ±ÛŒÙ… های بیشتری(Ú©Ù‡ Ùهرست نشدند)نرخ بیت آنی بالاتر از 250 مگابیت بر ثانیه "
"دارند."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr "ÙØ±ÛŒÙ… های بیشتری(Ú©Ù‡ Ùهرست نشدند) دارای اجزاء تصویر بسیار بزرگ هستند."
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
"ÙØ±ÛŒÙ… های تصویر بیشتری(Ú©Ù‡ Ùهرست نشدند) شامل رشته کدهای نامعتبر JPEG2000 هستند."
@@ -2375,7 +2382,7 @@ msgstr "بعد"
msgid "No"
msgstr "هیچکدام"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "هیچ ÙØ§ÛŒÙ„ ASSETMAP یا ASSETMAP.xml پیدا نشد."
@@ -2383,7 +2390,7 @@ msgstr "هیچ ÙØ§ÛŒÙ„ ASSETMAP یا ASSETMAP.xml پیدا نشد."
msgid "No DCP loaded."
msgstr "دی سی پی بارگذاری نشد."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "هیچ خطای SMPTE Bv2/1پیدا نشد."
@@ -2396,11 +2403,11 @@ msgstr "هیچ صدایی از %s کانال '%s' به %s کانال '%s' منØ
msgid "No content found in this folder."
msgstr "هیچ محتوایی در این پوشه ÛŒØ§ÙØª نشد."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "هیچ خطایی ÛŒØ§ÙØª نشد."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "هیچ هشداری ÛŒØ§ÙØª نشد."
@@ -2414,7 +2421,7 @@ msgstr "غیر استاندارد"
msgid "None"
msgstr "هیچکدام"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr "همه ÙØ§ÛŒÙ„های زیرنویس برچسب مشابه <Language> را مشخص نمیکنند."
@@ -2543,11 +2550,11 @@ msgstr "نرخ ویدیوی شناسایی شده را نادیده بگیر"
msgid "Overwrite this file with current configuration"
msgstr "این ÙØ§ÛŒÙ„ را با پیکربندی ÙØ¹Ù„ÛŒ بازنویسی کنید"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr "بخشی از دی سی پی قابل بررسی نیست چون کلید آن در دسترس نبود."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3065,7 +3072,7 @@ msgstr "انتخاب ÙØ§ÛŒÙ„ گزارش اشکال زدایی"
msgid "Select output file"
msgstr "انتخاب ÙØ§ÛŒÙ„ خروجی"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr "انتخاب..."
@@ -3235,14 +3242,14 @@ msgstr ""
"برخی از کلیدها دارای مدت زمان اعتباری هستند که خارج از مدت زمان اعتبار "
"گواهینامه گیرنده است. میخوای چیکار کنی؟"
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
"برخی از <Text> یا <Image> در راستای عمودی Ù…ØªÙØ§ÙˆØªÛŒ با یک <Subtitle> هستند."
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr "برخی از زیرنویس‌ها به ترتیب موقعیت عمودی Ùهرست نشده‌اند."
@@ -3251,7 +3258,7 @@ msgstr "برخی از زیرنویس‌ها به ترتیب موقعیت عموØ
msgid "Sound"
msgstr "صدا"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr "ÙØ§ÛŒÙ„های صدا همه تعداد کانال یکسانی ندارند."
@@ -3334,7 +3341,7 @@ msgstr "مشترکین"
msgid "Subtitle appearance"
msgstr "ظاهر زیرنویس"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "محتوای زیرنویس %asset_id یک غیر ØµÙØ± در <EntryPoint> دارد."
@@ -3420,29 +3427,30 @@ msgstr "آزمایش شده توسط"
msgid "The 'until' time must be after the 'from' time."
msgstr "زمان 'تا' باید بعد از زمان 'از' باشد."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr "مقدار <LabelText> در یک <ContentVersion> در سی پی ال %c خالی است"
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr "مقدار<MainPictureActiveArea> یا ضریب 2 نیست یا از محتوا بیشتر است."
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
-msgstr "در ÙØ§ÛŒÙ„ ASSETMAP بنام %asset_map_id بیش از یک محتوا با شتاسه مشابه وجود دارد."
+msgstr ""
+"در ÙØ§ÛŒÙ„ ASSETMAP بنام %asset_map_id بیش از یک محتوا با شتاسه مشابه وجود دارد."
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr "شناسه محتوا در متن زمان‌بندی‌شده MXF همان شناسه منبع یا XML موجود است."
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
@@ -3451,92 +3459,92 @@ msgstr ""
"قایل سی پی ال %c شامل یک <AnnotationText> است که مشابه <ContentTitleText> اش "
"نیست."
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "این سی Ù¾ÛŒ ال %c دارای یک ÙØ¶Ø§ÛŒ نام نامعتبر است %xml_namespace"
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "ÙØ§ÛŒÙ„ سی Ù¾ÛŒ ال %c محتوای رمزگذاری شده دارد اما امضا نشده."
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "ÙØ§ÛŒÙ„ سی Ù¾ÛŒ ال %c برچسب <AnnotationText> ندارد."
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "ÙØ§ÛŒÙ„ سی Ù¾ÛŒ ال %c برچسب <AnnotationText> ندارد"
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "ÙØ§ÛŒÙ„ سی Ù¾ÛŒ ال %c برچسب متادیتای پسوند سی Ù¾ÛŒ ال ندارد."
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "ÙØ§ÛŒÙ„ سی Ù¾ÛŒ ال %c برچسب متادیتای سی Ù¾ÛŒ ال ندارد."
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "ÙØ§ÛŒÙ„ سی Ù¾ÛŒ ال %c برچسب شماره نسخه متادیتای سی Ù¾ÛŒ ال ندارد."
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
"ÙØ§ÛŒÙ„ سی Ù¾ÛŒ ال %f دارای یک برچسب متادیتای پسوند سی Ù¾ÛŒ ال نامعتبر است (%error)"
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr "دی سی Ù¾ÛŒ به جای 1 عدد دارای %time عدد ÙØ±ÛŒÙ… اول محتوا است(FFOC)."
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
"دی سی Ù¾ÛŒ به جای مدت حلقه منهای یک، دارای (LFOC )نشانگر ÙØ±ÛŒÙ… آخر محتوای %time "
"است."
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
"دی سی پی زیرنویس دارد اما همه حلقه ها تعداد محتوای زیرنویس یکسانی ندارند."
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
"دی سی پی دارای محتوای رمزگذاری شده است، اما همه محتواهای آن رمزگذاری شده "
"نیستند."
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "دی سی Ù¾ÛŒ ÙØ§Ù‚د نشانه در اولین ÙØ±ÛŒÙ… محتوا است(FFOC ندارد)."
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "دی سی Ù¾ÛŒ ÙØ§Ù‚د نشانه در آخرین ÙØ±ÛŒÙ… محتوا است(LFOC ندارد)."
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr "دی سی پی دارای زیرنویس است اما دست کم یک حلقه آن محتوای زیرنویس ندارد."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
"این دی سی Ù¾ÛŒ یک Ùیلم بلند است اما نشانه اولین ÙØ±ÛŒÙ… تیتراژ پایانی(FFEC) را "
"ندارد."
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3562,12 +3570,12 @@ msgstr ""
"تاریخ شروع اعتبار این کلید قبل از(یا خیلی نزدیک به) شروع مدت اعتبار "
"گواهینامه دستگاه است. تاریخ شروع اعتبار کلید را دیرتر انتخاب کنید."
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "این ÙØ§ÛŒÙ„ %f دارای ÙØ¶Ø§ÛŒ نام نامعتبر است %xml_namespace"
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
@@ -3576,33 +3584,35 @@ msgstr ""
"Ùهرست پکیج (PKL) بنام: %pkl دارای یک <AnnotationText> است Ú©Ù‡ با "
"<ContentTitleText> موجود در ترکیب پلی لیست (CPL) مطابقت ندارد."
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
-msgstr "Ùهرست پکیج(PKL) بنام: %pkl دارای محتوای رمزگذاری شده است اما امضا ندارد."
+msgstr ""
+"Ùهرست پکیج(PKL) بنام: %pkl دارای محتوای رمزگذاری شده است اما امضا ندارد."
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
-msgstr "Ùهرست پکیج (PKL) بنام: %pkl_id دارای بیش از یک محتوا با شناسه مشابه است."
+msgstr ""
+"Ùهرست پکیج (PKL) بنام: %pkl_id دارای بیش از یک محتوا با شناسه مشابه است."
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr "هش های سی پی ال و پی کی ال برای محتوای تصویر %f مخال٠هم هستند."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr "هش های سی پی ال و پی کی ال برای محتوای صدای %f مخال٠هم هستند."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr "شناسه منبع در متن زمان‌بندی‌شده MXF با شناسه XML موجود مطابقت ندارد."
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
@@ -3610,66 +3620,68 @@ msgstr ""
"ÙØ§ÛŒÙ„ زیرنویس اس ام Ù¾ÛŒ تی ای %asset_id یک گره <Text> دارد اما گره <LoadFont> "
"ندارد"
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "ÙØ§ÛŒÙ„ XML در %f نادرست است (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "کدهای XML در %f نادرست هستند در خط (%error)%i."
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-"حجم ÙØ§ÛŒÙ„ XML زیرنویس %f بیش از %size_in_bytes بایت است Ú©Ù‡ خارج از حد مجاز 256 کیلو بایت "
-"است."
+"حجم ÙØ§ÛŒÙ„ XML زیرنویس %f بیش از %size_in_bytes بایت است Ú©Ù‡ خارج از حد مجاز "
+"256 کیلو بایت است."
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr "این XML ÙØ§ÛŒÙ„ زیرنویس %asset_id بیش از یک اعلان ÙØ¶Ø§ÛŒ نام دارد."
-#: src/wx/verify_dcp_result_panel.cc:336
-#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr ""
-"ÙØ§ÛŒÙ„ %f سه بعدی است اما ÙØ§ÛŒÙ„ MXF آن به عنوان دو بعدی علامت زده شده است."
-
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is missing."
-msgstr "ÙØ§ÛŒÙ„ %f موجود نیست."
-
-#: src/wx/verify_dcp_result_panel.cc:316
-#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr "مدت ÙØ§ÛŒÙ„ %asset_id کمتر از یک ثانیه است Ú©Ù‡ معتبر نیست."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr "مدت زمان حقیقی ÙØ§ÛŒÙ„ %asset_id کمتر از یک ثانیه است Ú©Ù‡ معتبر نیست."
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "ÙØ§ÛŒÙ„ %asset_id در سی Ù¾ÛŒ ال ÙØ§Ù‚د <Hash> است."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr ""
+"ÙØ§ÛŒÙ„ %f سه بعدی است اما ÙØ§ÛŒÙ„ MXF آن به عنوان دو بعدی علامت زده شده است."
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "ÙØ§ÛŒÙ„ %f موجود نیست."
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr "ÙØ§ÛŒÙ„ با شناسه %asset_id در ASSETMAP در واقع شناسه %other_asset_id دارد"
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr "ÙØ§ÛŒÙ„ زیرنویس %asset_id ÙØ§Ù‚د برچسب <EntryPoint> است."
@@ -3713,30 +3725,30 @@ msgstr ""
"ÙØ§ÛŒÙ„ %s وجود دارد. آیا Ù…ÛŒ خواهید به عنوان پیکربندی جدید Ø§Ø³ØªÙØ§Ø¯Ù‡ شود یا "
"پیکربندی ÙØ¹Ù„ÛŒ را بر روی آن بنویسید؟"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr "اولین زیرنویس 4 ثانیه قبل از شروع حلقه اول Ùیلم است."
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-"ÙØ§ÛŒÙ„ Ùونت برای Ùونت با شناسه \"%load_font_id\" موجود نیست Ùˆ یا در ÙØ§ÛŒÙ„ ASSETMAP به آن "
-"ارجاع نشده است."
+"ÙØ§ÛŒÙ„ Ùونت برای Ùونت با شناسه \"%load_font_id\" موجود نیست Ùˆ یا در ÙØ§ÛŒÙ„ "
+"ASSETMAP به آن ارجاع نشده است."
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-"Ùونتهای ÙØ§ÛŒÙ„ زیرنویس %f بیش از %size_in_bytes بایت هستند Ú©Ù‡ بیش از حجم مجاز 10 مگابایت "
-"است."
+"Ùونتهای ÙØ§ÛŒÙ„ زیرنویس %f بیش از %size_in_bytes بایت هستند Ú©Ù‡ بیش از حجم مجاز "
+"10 مگابایت است."
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3745,7 +3757,7 @@ msgstr ""
"هش(%calculated_hash) محتوای تصویر%f با ÙØ§ÛŒÙ„ PKL(%reference_hash) مطابقت "
"ندارد. این احتمال وجود دارد Ú©Ù‡ اصل ÙØ§ÛŒÙ„ دچار مشکل باشد."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3754,7 +3766,7 @@ msgstr ""
"هش(%calculated_hash) محتوای صدای %f با ÙØ§ÛŒÙ„ PKL(%reference_hash) مطابقت "
"ندارد. این احتمال وجود دارد Ú©Ù‡ اصل ÙØ§ÛŒÙ„ دچار مشکل باشد."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
@@ -3764,8 +3776,7 @@ msgstr ""
"cpl(%calculated_hash) مطابقت ندارد. این احتمال وجود دارد Ú©Ù‡ اصل ÙØ§ÛŒÙ„ دچار "
"مشکل باشد."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "برچسب زبان %language مورد Ø§Ø³ØªÙØ§Ø¯Ù‡ نادرست است."
@@ -3774,27 +3785,27 @@ msgstr "برچسب زبان %language مورد Ø§Ø³ØªÙØ§Ø¯Ù‡ نادرست اسØ
msgid "The language that the film's title (\"%s\") is in"
msgstr "عنوان Ùیلم (\"%s \") به این زبان است"
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr "این تصویردر یک حلقه نرخ ÙØ±ÛŒÙ… آن %frame_rate است Ú©Ù‡ معتبر نیست."
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-"مدت زمان حلقه (%other_duration ) Ùیلم مربوط به برخی زیرنویسها با ContainerDuration آن "
-"(%duration) در ÙØ§ÛŒÙ„ MXF یکسان نیست."
+"مدت زمان حلقه (%other_duration ) Ùیلم مربوط به برخی زیرنویسها با "
+"ContainerDuration آن (%duration) در ÙØ§ÛŒÙ„ MXF یکسان نیست."
-#: src/wx/verify_dcp_result_panel.cc:408
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:423
+#, fuzzy, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "ÙØ§ÛŒÙ„ صدای %f دارای عمق بیت نامعتبر %bit_depth است."
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "ÙØ§ÛŒÙ„ صدای %f دارای نرخ ÙØ±ÛŒÙ… نامعتبر %frame_rate است."
@@ -3807,39 +3818,41 @@ msgstr ""
"استانداردی Ú©Ù‡ دی سی Ù¾ÛŒ باید از آن Ø§Ø³ØªÙØ§Ø¯Ù‡ کند. اینروپ قدیمی است Ùˆ SMPTE "
"استاندارد جدید. اگر شک دارید، \"اس ام پی تی ای\" را انتخاب کنید"
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "ÙØ§ÛŒÙ„ زیرنویس %asset_id ÙØ§Ù‚د متن زیرنویس است."
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "ÙØ§ÛŒÙ„ زیرنویس %asset_id برچسب <EntryPoint> ندارد."
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "ÙØ§ÛŒÙ„ زیرنویس %f برچسب <Language> ندارد."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "ÙØ§ÛŒÙ„ زیرنویس %f برچسب <StartTime> ندارد."
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr "ÙØ§ÛŒÙ„ زیرنویس %f یک <StartTime> دارد Ú©Ù‡ ØµÙØ± نیست."
-#: src/wx/verify_dcp_result_panel.cc:643
-#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "ÙØ§ÛŒÙ„ زیرنویس %asset_id ÙØ§Ù‚د متن زیرنویس است."
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "ÙØ§ÛŒÙ„ زیرنویس %asset_id برچسب <EntryPoint> ندارد."
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-"ÙØ§ÛŒÙ„ زیرنویس %f بیش از %size_in_bytes بایت حجم دارد Ú©Ù‡ بیش از حجم مجاز 115 مگابایت است."
+"ÙØ§ÛŒÙ„ زیرنویس %f بیش از %size_in_bytes بایت حجم دارد Ú©Ù‡ بیش از حجم مجاز 115 "
+"مگابایت است."
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
@@ -3847,39 +3860,39 @@ msgid ""
msgstr ""
"ÙØ§ÛŒÙ„ ویدیوی %f نرخ ÙØ±ÛŒÙ… %frame_rate دارد Ú©Ù‡ برای ویدیوی 4k درست نیست."
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr "ÙØ§ÛŒÙ„ ویدیوی %f از نرخ ÙØ±ÛŒÙ… نادرست %frame_rate Ø§Ø³ØªÙØ§Ø¯Ù‡ میکند."
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr "ÙØ§ÛŒÙ„ ویدیوی %f از اندازه تصویرنادرست %size_in_pixels Ø§Ø³ØªÙØ§Ø¯Ù‡ میکند."
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
#, fuzzy
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
"ÙØ§ÛŒÙ„ ویدیوی %f نرخ ÙØ±ÛŒÙ… %frame_rate دارد Ú©Ù‡ برای تصویر سه بعدی درست نیست."
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "حداقل در یک محل بیش از سه خط زیرنویس وجود دارد."
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "حداقل در یک محل بیش از سه خط زیرنویس وجود دارد."
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr "حداقل در یک خط زیرنویس بیش از 32 کاراکتر وجود دارد."
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "حداقل در یک خط زیرنویس بیش از 52 کاراکتر وجود دارد."
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr "حداقل در یک خط زیرنویس بیش از 79 کاراکتر وجود دارد."
@@ -3891,11 +3904,11 @@ msgstr "هنوز هیچ نکته ای وجود ندارد: بررسی پروژه
msgid "There are no hints: everything looks good!"
msgstr "نکته ای وجود ندارد: همه چیز درست به نظر میرسد!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr "یک برچسب <Duration> در داخل یک <MainMarkers> است."
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr "یک برچسب <EntryPoint> در داخل یک <MainMarkers> است."
@@ -3920,16 +3933,16 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "این سی پی ال محتوای رمزگذاری شده ندارد."
-#: src/wx/verify_dcp_result_panel.cc:333
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:348
+#, fuzzy, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"این دی سی Ù¾ÛŒ در ASSETMAPÙØ§ÛŒÙ„ %asset_id به دی سی Ù¾ÛŒ دیگری اشاره دارد، بنابر این یک "
-"\"نسخه ÙØ§ÛŒÙ„\"(VF) است"
+"این دی سی Ù¾ÛŒ در ASSETMAPÙØ§ÛŒÙ„ %asset_id به دی سی Ù¾ÛŒ دیگری اشاره دارد، بنابر "
+"این یک \"نسخه ÙØ§ÛŒÙ„\"(VF) است"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
"این دی سی Ù¾ÛŒ از استاندارد اینتروپ Ø§Ø³ØªÙØ§Ø¯Ù‡ میکند اما باید با استاندارد اس ام "
@@ -4333,7 +4346,7 @@ msgstr "معتبر تا"
msgid "Vendor"
msgstr "ÙØ±ÙˆØ´Ù†Ø¯Ù‡"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr "گزارش صحت سنجی"
diff --git a/src/wx/po/fr_FR.po b/src/wx/po/fr_FR.po
index 95cdc740b..db6eecfb2 100644
--- a/src/wx/po/fr_FR.po
+++ b/src/wx/po/fr_FR.po
@@ -7,15 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic FRENCH\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
-"PO-Revision-Date: 2025-09-28 15:33+0200\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
+"PO-Revision-Date: 2026-04-22 09:15+0200\n"
"Last-Translator: Dan Cohen <thedan.cohen@protonmail.com>\n"
"Language-Team: \n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 3.7\n"
+"X-Generator: Poedit 3.9\n"
#: src/wx/player_information.cc:111
#, c-format
@@ -98,9 +98,9 @@ msgstr ""
"film."
#: src/wx/audio_dialog.cc:175
-#, fuzzy, c-format
+#, c-format
msgid "%s audio"
-msgstr "Audio %s - %s"
+msgstr "Audio %s"
#: src/wx/audio_dialog.cc:171 src/wx/audio_dialog.cc:173
#, c-format
@@ -113,12 +113,11 @@ msgid "%s test email"
msgstr "e-mail de test %s"
#: src/wx/about_dialog.cc:95
-#, fuzzy
msgid ""
"(C) 2012-2026 Carl Hetherington, Terrence Meiczinger\n"
"Aaron Boxer"
msgstr ""
-"(C) 2012-2025 Carl Hetherington, Terrence Meiczinger\n"
+"(C) 2012-2026 Carl Hetherington, Terrence Meiczinger\n"
"Aaron Boxer"
#: src/wx/full_config_dialog.cc:1227 src/wx/player_config_dialog.cc:131
@@ -237,12 +236,12 @@ msgstr "96kHz"
msgid ":1"
msgstr ":1"
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr "<IssueDate> a une valeur %issue_date invalide"
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr "<MainSoundConfiguration> est invalide (%error)"
@@ -268,75 +267,89 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-"Une image JPEG2000 2K contient %tile_parts parties de tuile (tile parts) au lieu de 3."
+"Une image JPEG2000 2K contient %tile_parts parties de tuile (tile parts) au "
+"lieu de 3."
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-"Une image JPEG2000 2K contient une valeur Rsiz (capacités) invalide de %capabilities"
+"Une image JPEG2000 2K contient une valeur Rsiz (capacités) invalide de "
+"%capabilities"
-#: src/wx/verify_dcp_result_panel.cc:527
-#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "Une image JPEG2000 2K a %poc_markers marqueur(s) POC au lieu de 0."
-
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr "Une image JPEG2000 2K a %guard_bits bits de garde au lieu de 1."
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
-msgstr ""
-"Une image JPEG2000 2K contient %tile_parts parties de tuile (tile parts) au lieu de 6."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr "Une image JPEG2000 2K a %poc_markers marqueur(s) POC au lieu de 0."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-"Une image JPEG2000 4K contient une valeur Rsiz (capacités) invalide de %capabilities"
+"Une image JPEG2000 2K contient %tile_parts parties de tuile (tile parts) au "
+"lieu de 6."
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "Une image JPEG2000 4K a %poc_markers marqueur(s) POC au lieu de 1."
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
+msgstr ""
+"Une image JPEG2000 4K contient une valeur Rsiz (capacités) invalide de "
+"%capabilities"
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr "Une image JPEG2000 4K a %guard_bits bits de garde au lieu de 2."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:549
+#, c-format
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr "Une image JPEG2000 4K a %poc_markers marqueur(s) POC au lieu de 1."
+
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
"Une image JPEG2000 contient un marqueur POC à un emplacement non valide."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "Une image JPEG2000 contient un marqueur POC invalide (%n)."
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
-msgstr "Une image JPEG2000 a une hauteur de bloc de code de %code_block_height au lieu de 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgstr ""
+"Une image JPEG2000 a une hauteur de bloc de code de %code_block_height au "
+"lieu de 32."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
-msgstr "Une image JPEG2000 a une largeur de bloc de code de %code_block_width au lieu de 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgstr ""
+"Une image JPEG2000 a une largeur de bloc de code de %code_block_width au "
+"lieu de 32."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "Une image JPEG2000 n'a pas de marqueur TLM."
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
"La taille d'une tuile JPEG2000 ne correspond pas à la taille de l'image."
@@ -346,7 +359,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr "Une nouvelle version de %s est disponible."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "Une image a un codestream JPEG2000 invalide (%error)."
@@ -356,12 +369,12 @@ msgstr "Une image a un codestream JPEG2000 invalide (%error)."
msgid "A problem occurred when looking for hints (%s)"
msgstr "Un problème est survenu lors de la recherche de conseils (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
"Un sous-titre dure plus longtemps que la bobine dans laquelle il se trouve."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -556,9 +569,8 @@ msgid "Allow mapping to all audio channels"
msgstr "Autoriser le mappage à tous les canaux audio"
#: src/wx/full_config_dialog.cc:1079
-#, fuzzy
msgid "Allow use of MPEG2 Interop"
-msgstr "Activer l'utilisation de la norme SMPTE Bv2.0"
+msgstr "Autoriser l’utilisation du MPEG2 Interop"
#: src/wx/full_config_dialog.cc:1077
msgid "Allow use of SMPTE Bv2.0"
@@ -572,11 +584,11 @@ msgstr "Alpha 0"
msgid "Also supported by"
msgstr "Aussi soutenu par"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "Une ressource a un chemin vide dans ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr "Un <ContentKind> %content_kind invalide a été utilisé."
@@ -625,25 +637,25 @@ msgstr ""
"Êtes-vous sûr·e de vouloir envoyer des e-mails aux adresses suivantes ?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr "Au moins un nœud <Text> dans un sous-titre est vide."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
"Au moins une ressource d'une bobine n'a pas la même durée que les autres."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr "Au moins une paire de sous-titres est séparée par moins de 2 images."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr "Au moins un sous-titre a une durée nulle ou négative."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "Au moins un sous-titre dure moins de 15 images."
@@ -825,9 +837,8 @@ msgid "Check for updates on startup"
msgstr "Rechercher les mises à jour au démarrage"
#: src/wx/content_menu.cc:116
-#, fuzzy
msgid "Choose CPL"
-msgstr "Choisir une CPL..."
+msgstr "Choisir une CPL"
#: src/wx/content_panel.cc:677
msgid "Choose a DCP folder"
@@ -871,7 +882,7 @@ msgstr ""
"Cliquer sur ce bouton pour régler tous les contenus sélectionnés à la même "
"valeur."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr "La ressource de sous-titres codés %asset_id a un <EntryPoint> non nul."
@@ -1016,7 +1027,7 @@ msgstr "Impossible de charger le certificat (%s)"
msgid "Could not play content"
msgstr "Impossible de lire le contenu"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr "Impossible de lire le DCP (%error)"
@@ -1039,9 +1050,10 @@ msgid "Could not read certificate file."
msgstr "Impossible de lire le fichier de certificat."
#: src/wx/certificate_chain_editor.cc:195
-#, fuzzy
msgid "Could not read certificate file. Make sure it is in PEM format."
-msgstr "Impossible de lire le fichier de certificat."
+msgstr ""
+"Impossible de lire le fichier de certificat. Assurez-vous qu’il soit au "
+"format PEM."
#: src/wx/qube_certificate_panel.cc:55
msgid "Could not read certificates from Qube server."
@@ -1143,9 +1155,8 @@ msgid "Debug: audio analysis"
msgstr "Débogage : analyse audio"
#: src/wx/full_config_dialog.cc:1322
-#, fuzzy
msgid "Debug: butler"
-msgstr "Débogage : lecteur"
+msgstr "Débogage: lecteur"
#: src/wx/full_config_dialog.cc:1314 src/wx/kdm_config_dialog.cc:142
msgid "Debug: email sending"
@@ -1364,33 +1375,28 @@ msgid "Encoding Servers"
msgstr "Serveurs d'encodage"
#: src/wx/encryption_settings_dialog.cc:33
-#, fuzzy
msgid "Encrypt picture"
-msgstr "Crypté"
+msgstr "Chiffrer l’image"
#: src/wx/encryption_settings_dialog.cc:34
-#, fuzzy
msgid "Encrypt sound"
-msgstr "Crypté"
+msgstr "Chiffrer le son"
#: src/wx/encryption_settings_dialog.cc:35
-#, fuzzy
msgid "Encrypt text"
-msgstr "Crypté"
+msgstr "Chiffrer le texte"
#: src/wx/dcp_panel.cc:106 src/wx/spl_entry_dialog.cc:51
msgid "Encrypted"
-msgstr "Crypté"
+msgstr "Chiffré"
#: src/wx/encryption_settings_dialog.cc:31
-#, fuzzy
msgid "Encryption settings"
-msgstr "Exporter tous les paramètres de décryptage de KDM..."
+msgstr "Paramètres de chiffrement"
#: src/wx/dcp_panel.cc:107
-#, fuzzy
msgid "Encryption settings..."
-msgstr "Exporter tous les paramètres de décryptage de KDM..."
+msgstr "Paramètres de chiffrement…"
#: src/wx/text_view.cc:68
msgid "End"
@@ -1513,29 +1519,24 @@ msgid "Finding the colours in these subtitles..."
msgstr "Trouver les couleurs dans ces sous-titres..."
#: src/wx/markers.cc:39
-#, fuzzy
msgid "First frame of end credits (FFEC)"
-msgstr "Première image du générique de fin"
+msgstr "Première image du générique de fin (FFEC)"
#: src/wx/markers.cc:37
-#, fuzzy
msgid "First frame of intermission (FFOI)"
-msgstr "Première image de l'entracte"
+msgstr "Première image de l'entracte (FFOI)"
#: src/wx/markers.cc:41
-#, fuzzy
msgid "First frame of moving credits (FFMC)"
-msgstr "Première image du générique en mouvement"
+msgstr "Première image du générique en mouvement (FFMC)"
#: src/wx/markers.cc:33
-#, fuzzy
msgid "First frame of ratings band (FFOB)"
-msgstr "Première image du carton de classification"
+msgstr "Première image du carton de classification (FFOB)"
#: src/wx/markers.cc:35
-#, fuzzy
msgid "First frame of title credits (FFTC)"
-msgstr "Première image du générique de titre"
+msgstr "Première image du générique de titre (FFTC)"
#: src/wx/short_kdm_output_panel.cc:115 src/wx/tall_kdm_output_panel.cc:84
msgid "Folder / ZIP name format"
@@ -1565,7 +1566,7 @@ msgstr "Appliquer un marquage de traçabilité sur la vidéo"
msgid "Format"
msgstr "Format"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1574,7 +1575,7 @@ msgstr ""
"L'image %frame (timecode %timecode) dans la ressource %f a un débit "
"instantané proche de la limite de 250MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1583,7 +1584,7 @@ msgstr ""
"L'image %frame (timecode %timecode) dans la ressource %f a un débit "
"instantané supérieur à la limite de 250MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -1972,29 +1973,24 @@ msgid "Language used for any sign language video track"
msgstr "Langue utilisée pour toute piste vidéo en langue des signes"
#: src/wx/markers.cc:40
-#, fuzzy
msgid "Last frame of end credits (LFEC)"
-msgstr "Dernière image du générique de fin"
+msgstr "Dernière image du générique de fin (LFEC)"
#: src/wx/markers.cc:38
-#, fuzzy
msgid "Last frame of intermission (LFOI)"
-msgstr "Dernière image de l'entracte"
+msgstr "Dernière image de l'entracte (LFOI)"
#: src/wx/markers.cc:42
-#, fuzzy
msgid "Last frame of moving credits (LFMC)"
-msgstr "Dernière image du générique en mouvement"
+msgstr "Dernière image du générique en mouvement (LFMC)"
#: src/wx/markers.cc:34
-#, fuzzy
msgid "Last frame of ratings band (LFOB)"
-msgstr "Dernière image du carton de classification"
+msgstr "Dernière image du carton de classification (LFOB)"
#: src/wx/markers.cc:36
-#, fuzzy
msgid "Last frame of title credits (LFTC)"
-msgstr "Dernière image du générique de titre"
+msgstr "Dernière image du générique de titre (LFTC)"
#: src/wx/content_panel.cc:292
msgid "Later"
@@ -2111,9 +2107,8 @@ msgid "MPEG2 Interop"
msgstr "Interop MPEG2"
#: src/wx/export_subtitles_dialog.cc:48
-#, fuzzy
msgid "MXF (SMPTE)"
-msgstr "SMPTE"
+msgstr "MXF (SMPTE)"
#. TRANSLATORS: Main and Additional here are a choice for whether a set of subtitles is in the "main" language of the
#. film or an "additional" language.
@@ -2206,84 +2201,84 @@ msgstr "Métadonnées..."
msgid "Mix audio down to stereo"
msgstr "Mixer l'audio en stéréo"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"D'autres images JPEG2000 2K (non listées) contiennent un nombre incorrect de "
"parties de tuile (tile parts)."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"D'autres images JPEG2000 2K (non listées) ont un nombre invalide de bits de "
"garde."
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr "D'autres images JPEG2000 2K (non listées) ont trop de marqueurs POC."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"D'autres images JPEG2000 4K (non listées) ont un nombre invalide de bits de "
"garde."
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr "D'autres images JPEG2000 4K (non listées) ont trop de marqueurs POC."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
"D'autres images JPEG2000 (non listées) contiennent des marqueurs POC à des "
"emplacements invalides."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
"D'autres images JPEG2000 (non listées) contiennent des marqueurs POC "
"invalides."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
"D'autres images JPEG2000 (non listées) contiennent des valeurs Rsiz "
"invalides."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"D'autres images JPEG2000 (non listées) contiennent un nombre incorrect de "
"parties de tuile (tile parts)."
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
"D'autres images JPEG2000 (non listées) ont une hauteur de bloc codé (code-"
"block) invalide."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
"D'autres images JPEG2000 (non listées) ont une largeur de bloc codé (code-"
"block) invalide."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "D'autres images JPEG2000 (non listées) n'ont pas de marqueur TLM."
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
"D'autres images JPEG2000 (non listées) ne correspondent pas à la taille de "
"l'image."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
@@ -2291,7 +2286,7 @@ msgstr ""
"D'autres images (non listées) ont un débit instantané proche de la limite de "
"250Mbit/s."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
@@ -2299,11 +2294,11 @@ msgstr ""
"D'autres images (non listées) ont un débit instantané qui dépasse la limite "
"de 250Mbit/s."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr "D'autres images (non listées) ont des composantes trop grandes."
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr "D'autres images (non listées) ont des codestreams JPEG2000 invalides."
@@ -2391,7 +2386,7 @@ msgstr "Suivant"
msgid "No"
msgstr "Non"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "Aucun fichier ASSETMAP ou ASSETMAP.xml n'a été trouvé."
@@ -2399,7 +2394,7 @@ msgstr "Aucun fichier ASSETMAP ou ASSETMAP.xml n'a été trouvé."
msgid "No DCP loaded."
msgstr "Aucun DCP chargé."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "Aucune erreur SMPTE Bv2.1 trouvée."
@@ -2412,11 +2407,11 @@ msgstr "Aucun signal audio ne sera transmis du %s canal '%s' au %s canal '%s'."
msgid "No content found in this folder."
msgstr "Aucun contenu trouvé dans ce dossier."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "Aucune erreur n'a été trouvée."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "Aucun avertissement n'a été trouvé."
@@ -2430,7 +2425,7 @@ msgstr "Non-standard"
msgid "None"
msgstr "Aucun"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
"Toutes les ressources de sous-titres ne spécifient pas la même balise "
@@ -2563,12 +2558,12 @@ msgstr "Remplacer la fréquence d'images vidéo détectée"
msgid "Overwrite this file with current configuration"
msgstr "Écraser ce fichier avec la nouvelle configuration"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
"Une partie du DCP n'a pas pu être vérifiée car aucun KDM n'était disponible."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3082,7 +3077,7 @@ msgstr "Sélectionner le fichier rapport de débogage"
msgid "Select output file"
msgstr "Sélectionner le fichier de sortie"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr "Selectionner..."
@@ -3252,7 +3247,7 @@ msgstr ""
"Certains KDMs auront des dates de validité au-delà de celles du certificat "
"ciblé. Que voulez-vous faire ?"
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
@@ -3260,7 +3255,7 @@ msgstr ""
"Certains nœuds <Text> ou <Image> fermés ont des alignements verticaux "
"différents au sein d'un <Subtitle>."
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3271,7 +3266,7 @@ msgstr ""
msgid "Sound"
msgstr "Son"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr "Les ressources audio n'ont pas toutes le même nombre de canaux."
@@ -3354,7 +3349,7 @@ msgstr "Abonnés"
msgid "Subtitle appearance"
msgstr "Apparence de sous-titre"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "La ressource de sous-titres %asset_id a un <EntryPoint> non nul."
@@ -3440,12 +3435,12 @@ msgstr "Testé par"
msgid "The 'until' time must be after the 'from' time."
msgstr "L'heure 'jusqu'à' doit être postérieure à l'heure 'de'."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr "Le <LabelText> d'un <ContentVersion> dans la CPL %cpl est vide"
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
@@ -3453,12 +3448,12 @@ msgstr ""
"<MainPictureActiveArea> n'est pas un multiple de 2, ou bien est plus grand "
"qu'une ressource."
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr "L'ASSETMAP %asset_map_id a plusieurs ressources avec un même ID."
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
@@ -3466,64 +3461,65 @@ msgstr ""
"L'Asset ID d'un sous-titre MXF est le même que le Resource ID ou que celui "
"du XML encapsulé."
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr "La CPL %cpl a un <AnnotationText> différent du <ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "La CPL %cpl a un namespace %xml_namespace invalide"
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "La CPL %cpl a un contenu crypté mais n'est pas signée."
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "La CPL %cpl n'a pas de balise <AnnotationText>."
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "La CPL %cpl n'a pas de balise <ContentVersion>"
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "La CPL %cpl n'a pas de balise de métadonnées d'extension CPL."
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "La CPL %cpl n'a pas de balise de métadonnées CPL."
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "La CPL %cpl n'a pas de balise de numéro de version de métadonnées CPL."
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
-msgstr "La CPL %f a une balise de métadonnées d'extension CPL invalide (%error)"
+msgstr ""
+"La CPL %f a une balise de métadonnées d'extension CPL invalide (%error)"
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr "Le DCP a un FFOC de %time au lieu de 1."
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr "Le DCP a un LFOC de %time au lieu de la durée de la bobine moins un."
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
@@ -3531,32 +3527,32 @@ msgstr ""
"Le DCP a des sous-titres codés mais chaque bobine n'a pas le même nombre de "
"sous-titres codés."
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
"Le PDC a du contenu crypté, mais toutes ses ressources ne sont pas cryptées."
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "Le DCP n'a pas de marqueur FFOC (first frame of content)."
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "Le DCP n'a pas de marqueur LFOC (last frame of content)."
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
"Le DCP a des sous-titres mais au moins une bobine n'a pas de sous-titre."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
"Le DCP est un long métrage mais ne comporte pas de marqueur FFEC (première "
"image du générique de fin)."
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3583,52 +3579,52 @@ msgstr ""
"La validité du KDM débute avant (ou juste après) la validité du certificat "
"de signature. Utilisez une date de début plus tardive pour ce KDM."
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "La PKL %f a un namespace %xml_namespace invalide"
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-"La PKL %pkl a un <AnnotationText> qui ne correspond pas au <ContentTitleText> "
-"de sa CPL."
+"La PKL %pkl a un <AnnotationText> qui ne correspond pas au "
+"<ContentTitleText> de sa CPL."
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr "La PKL %pkl a un contenu crypté mais n'est pas signée."
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr "La PKL %pkl_id a un contenu crypté mais n'est pas signée."
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
"La PKL et la CPL renseignent des sommes de calcul différentes pour la "
"ressource vidéo %f."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
"La PKL et la CPL renseignent des sommes de calcul différentes pour la "
"ressource vidéo %f."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
"La Resource ID d'un sous-titre MXF ne correspond pas à l'ID du XML encapsulé."
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
@@ -3636,63 +3632,66 @@ msgstr ""
"Le sous-titre SMPTE %asset_id contient des nœuds <Text>, mais pas de nœud "
"<LoadFont>"
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "Le XML dans %f est malformé (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "Le XML dans %f est malformé à la ligne %l (%error)."
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-"Le XML de la ressource de sous-titres codés %f occupe %size_in_bytes octets, ce qui "
-"dépasse la limite de 256KB."
+"Le XML de la ressource de sous-titres codés %f occupe %size_in_bytes octets, "
+"ce qui dépasse la limite de 256KB."
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
"Le XML de la ressource sous-titre %asset_id contient plus d'une déclaration "
"d'namespace."
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr "La ressource %f est en 3D mais son MXF est marqué comme étant en 2D."
-
-#: src/wx/verify_dcp_result_panel.cc:295
-#, c-format
-msgid "The asset %f is missing."
-msgstr "La ressource %f est manquante."
-
-#: src/wx/verify_dcp_result_panel.cc:316
-#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-"La ressource %asset_id a une durée inférieure à 1 seconde, ce qui n'est pas valide."
+"La ressource %asset_id a une durée inférieure à 1 seconde, ce qui n'est pas "
+"valide."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-"La ressource %asset_id a une durée intrinsèque inférieure à 1 seconde, ce qui n'est "
-"pas valide."
+"La ressource %asset_id a une durée intrinsèque inférieure à 1 seconde, ce "
+"qui n'est pas valide."
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "La ressource %asset_id n'a pas de <Hash> dans la CPL."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr "La ressource %f est en 3D mais son MXF est marqué comme étant en 2D."
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "La ressource %f est manquante."
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
@@ -3701,10 +3700,11 @@ msgstr ""
"La ressource dont l'ID est %asset_id dans l'ASSETMAP a en fait un ID de "
"%other_asset_id"
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
-msgstr "La ressource de sous-titres codés %asset_id n'a pas de balise <EntryPoint>."
+msgstr ""
+"La ressource de sous-titres codés %asset_id n'a pas de balise <EntryPoint>."
#: src/wx/film_name_location_dialog.cc:146
#, c-format
@@ -3748,32 +3748,32 @@ msgstr ""
"Ce fichier %s existe déjà. Souhaitez-vous l'utiliser comme nouvelle "
"configuration ou l'écraser avec la configuration en cours ?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
"Le premier sous-titre ou sous-titre codé apparaît avant les 4 premières "
"secondes de la première bobine."
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-"Le fichier police pour l'ID \"%load_font_id\" est introuvable, ou n'a pas été renseigné "
-"dans l'ASSETMAP."
+"Le fichier police pour l'ID \"%load_font_id\" est introuvable, ou n'a pas "
+"été renseigné dans l'ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-"Les polices de la ressource de texte minuté %f occupent %size_in_bytes octets, ce qui "
-"dépasse la limite de 10MB."
+"Les polices de la ressource de texte minuté %f occupent %size_in_bytes "
+"octets, ce qui dépasse la limite de 10MB."
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3783,7 +3783,7 @@ msgstr ""
"pas à celle renseignée dans la PKL (%reference_hash). Le fichier vidéo est "
"probablement corrompu."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3793,7 +3793,7 @@ msgstr ""
"pas à celle renseignée dans la PKL (%reference_hash). Le fichier est "
"probablement corrompu."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
@@ -3803,8 +3803,7 @@ msgstr ""
"celle renseignée dans la PKL (%reference_hash). Le fichier CPL est "
"probablement corrompu."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "La balise de langue non valide %language a été utilisée."
@@ -3813,7 +3812,7 @@ msgstr "La balise de langue non valide %language a été utilisée."
msgid "The language that the film's title (\"%s\") is in"
msgstr "La langue dans laquelle le titre du film (\"%s\") est écrit"
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
@@ -3821,21 +3820,23 @@ msgstr ""
"L'image dans une bobine a une fréquence d'images de %frame_rate, ce qui "
"n'est pas valide."
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-"La durée de la bobine (%other_duration) d'un texte minuté n'est pas la même que la "
-"ContainerDuration (%duration) de son MXF."
+"La durée de la bobine (%other_duration) d'un texte minuté n'est pas la même "
+"que la ContainerDuration (%duration) de son MXF."
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
-msgstr "La ressource sonore %f a nombre de bits par échantillon %bit_depth invalide."
+msgstr ""
+"La ressource sonore %f a nombre de bits par échantillon invalide de "
+"%bit_depth."
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3849,40 +3850,41 @@ msgstr ""
"Le standard qu'un DCP devrait utiliser. Interop est plus ancien et SMPTE "
"est plus récent et est le standard actuel. Dans le doute, choisissez SMPTE."
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "La ressource de sous-titres %asset_id ne contient pas de sous-titres."
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "La ressource de sous-titre %asset_id n'a pas de balise <EntryPoint>."
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "La ressource de sous-titres %f ne contient pas de balise <Language>."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "La ressource de sous-titres %f ne contient pas de balise <StartTime>."
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr "La ressource de sous-titres %f a un <StartTime> qui n'est pas zéro."
-#: src/wx/verify_dcp_result_panel.cc:643
-#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "La ressource de sous-titres %asset_id ne contient pas de sous-titres."
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "La ressource de sous-titre %asset_id n'a pas de balise <EntryPoint>."
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-"La ressource texte minuté %f occupe %size_in_bytes octets, ce qui dépasse la limite de "
-"115MB."
+"La ressource texte minuté %f occupe %size_in_bytes octets, ce qui dépasse la "
+"limite de 115MB."
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
@@ -3891,42 +3893,41 @@ msgstr ""
"La ressource vidéo %f utilise la fréquence d'images %frame_rate qui n'est "
"pas valide pour la vidéo 4K."
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
"La ressource vidéo %f utilise la fréquence d'images invalide %frame_rate."
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
-msgstr "La ressource vidéo %f utilise la taille d'image invalide %size_in_pixels."
+msgstr ""
+"La ressource vidéo %f utilise la taille d'image invalide %size_in_pixels."
-#: src/wx/verify_dcp_result_panel.cc:354
-#, fuzzy
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-"La ressource vidéo %f utilise la fréquence d'images %frame_rate qui n'est "
-"pas valide pour la vidéo 3D."
+"La ressource vidéo est en 4K ce qui n’est pas autorisé pour les vidéos 3D."
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "Il y a plus de 3 lignes de sous-titres codés à au moins un endroit."
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "Il y a plus de 3 lignes de sous-titres à au moins un endroit."
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
"Il y a plus de 32 caractères dans au moins une ligne de sous-titres codés."
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "Il y a plus de 52 caractères dans au moins une ligne de sous-titre."
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr "Il y a plus de 79 caractères dans au moins une ligne de sous-titres."
@@ -3938,11 +3939,11 @@ msgstr "Il n'y a encore aucun conseil : vérification du projet en cours."
msgid "There are no hints: everything looks good!"
msgstr "Il n'y a aucun conseil : tout semble correct !"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr "Il y a une balise <Duration> à l'intérieur d'un <MainMarkers>."
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr "Il y a une balise <EntryPoint> à l'intérieur d'un <MainMarkers>."
@@ -3967,16 +3968,16 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Cette CPL ne contient aucun contenu crypté."
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"Ce DCP fait référence à la ressource %asset_id dans un autre DCP (et peut-être "
-"d'autres), il s'agit donc d'un \"fichier de version\" (VF)."
+"Ce DCP fait référence à la ressource %asset_id dans un autre DCP (et peut-"
+"être d'autres), il s'agit donc d'un \"fichier de version\" (VF)"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
"Ce DCP utilise la norme Interop, mais il devrait être créé avec la norme "
@@ -4387,7 +4388,7 @@ msgstr "Valide jusque"
msgid "Vendor"
msgstr "Fournisseur"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr "Rapport de vérification"
@@ -4396,18 +4397,16 @@ msgid "Verify"
msgstr "Vérifier"
#: src/wx/content_menu.cc:425
-#, fuzzy
msgid "Verify DCP"
-msgstr "Vérifier"
+msgstr "Vérifier le DCP"
#: src/wx/verify_dcp_dialog.cc:94
msgid "Verify picture asset details"
msgstr "Vérifier les caractéristiques des ressources vidéo"
#: src/wx/content_menu.cc:107
-#, fuzzy
msgid "Verify..."
-msgstr "Vérifier"
+msgstr "Vérifier…"
#: src/wx/smpte_metadata_dialog.cc:109 src/wx/system_information_dialog.cc:67
msgid "Version"
@@ -4524,9 +4523,8 @@ msgid "X"
msgstr "X"
#: src/wx/export_subtitles_dialog.cc:47
-#, fuzzy
msgid "XML (Interop)"
-msgstr "Interop"
+msgstr "XML (Interop)"
#: src/wx/text_panel.cc:93
msgid "Y"
diff --git a/src/wx/po/hu_HU.po b/src/wx/po/hu_HU.po
index 8ade7a55a..e5143e134 100644
--- a/src/wx/po/hu_HU.po
+++ b/src/wx/po/hu_HU.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -232,12 +232,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -260,70 +260,76 @@ msgstr ""
msgid "A"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -332,7 +338,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr ""
@@ -342,11 +348,11 @@ msgstr ""
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -548,11 +554,11 @@ msgstr ""
msgid "Also supported by"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -599,24 +605,24 @@ msgid ""
"\n"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -840,7 +846,7 @@ msgstr ""
msgid "Click the button to set all selected content to the same value."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -986,7 +992,7 @@ msgstr ""
msgid "Could not play content"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr ""
@@ -1523,21 +1529,21 @@ msgstr ""
msgid "Format"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2119,80 +2125,80 @@ msgstr "Metaadatok..."
msgid "Mix audio down to stereo"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2281,7 +2287,7 @@ msgstr ""
msgid "No"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2289,7 +2295,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2302,11 +2308,11 @@ msgstr ""
msgid "No content found in this folder."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2320,7 +2326,7 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2449,11 +2455,11 @@ msgstr ""
msgid "Overwrite this file with current configuration"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -2965,7 +2971,7 @@ msgstr ""
msgid "Select output file"
msgstr ""
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr ""
@@ -3133,13 +3139,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3148,7 +3154,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3231,7 +3237,7 @@ msgstr ""
msgid "Subtitle appearance"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3317,113 +3323,113 @@ msgstr ""
msgid "The 'until' time must be after the 'from' time."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3442,107 +3448,109 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3577,48 +3585,47 @@ msgid ""
"or overwrite it with your current configuration?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3627,25 +3634,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3656,75 +3663,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3736,11 +3744,11 @@ msgstr ""
msgid "There are no hints: everything looks good!"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3763,14 +3771,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4146,7 +4154,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr ""
diff --git a/src/wx/po/it_IT.po b/src/wx/po/it_IT.po
index 5872a4a36..9dc23c048 100644
--- a/src/wx/po/it_IT.po
+++ b/src/wx/po/it_IT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: IT VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2018-09-30 18:21+0200\n"
"Last-Translator: William Fanelli <william.f@impronte.com>\n"
"Language-Team: \n"
@@ -235,12 +235,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -265,70 +265,76 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -337,7 +343,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr "Una nuova versione di DCP-o-MATIC è disponibile."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr ""
@@ -347,11 +353,11 @@ msgstr ""
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -572,11 +578,11 @@ msgstr "Alpha 0"
msgid "Also supported by"
msgstr "Supportato da"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -626,24 +632,24 @@ msgstr ""
"Sei sicuro di voler inviare email ai seguenti indirizzi?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -881,7 +887,7 @@ msgid "Click the button to set all selected content to the same value."
msgstr ""
"Clicca sul pulsante per impostare tutti i contenuti allo stesso valore."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -1033,7 +1039,7 @@ msgstr "Impossibile importare il file del certificato (%s)"
msgid "Could not play content"
msgstr "Impossibile caricare la KDM (%s)"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Impossibile caricare la KDM (%s)"
@@ -1605,21 +1611,21 @@ msgstr ""
msgid "Format"
msgstr "Formato"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2230,80 +2236,80 @@ msgstr ""
msgid "Mix audio down to stereo"
msgstr "Mixa l'uscita audio in stereo"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2395,7 +2401,7 @@ msgstr ""
msgid "No"
msgstr "Nessuno"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2403,7 +2409,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr "Nessun DCP caricato."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2416,11 +2422,11 @@ msgstr "Nessun audio sarà passato dal canale %d sorgente al canale %d del DCP"
msgid "No content found in this folder."
msgstr "Nessun contenuto trovato in questa cartella."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2435,7 +2441,7 @@ msgstr "Standard"
msgid "None"
msgstr "Nessuno"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2572,11 +2578,11 @@ msgstr "Frequenza fotogrammi del video"
msgid "Overwrite this file with current configuration"
msgstr "Sovrascrivi questo file con la configurazione corrente"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3111,7 +3117,7 @@ msgstr "Seleziona il file di uscita"
msgid "Select output file"
msgstr "Seleziona il file di uscita"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Seleziona OV"
@@ -3288,13 +3294,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3303,7 +3309,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3392,7 +3398,7 @@ msgstr ""
msgid "Subtitle appearance"
msgstr "Aspetto dei sottotitoli"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3487,113 +3493,113 @@ msgstr "Testato da"
msgid "The 'until' time must be after the 'from' time."
msgstr "Il tempo finale deve essere successivo a quello iniziale."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3612,107 +3618,109 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3749,48 +3757,47 @@ msgstr ""
"Il file%s esiste già. Vuoi usarlo come nuova configurazione o sovrascriverlo "
"con la tua configurazione attuale?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3799,25 +3806,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3828,75 +3835,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3909,11 +3917,11 @@ msgstr "Non ci sono suggerimenti: tutto sembra a posto!"
msgid "There are no hints: everything looks good!"
msgstr "Non ci sono suggerimenti: tutto sembra a posto!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3937,14 +3945,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Il contenuto del CPL non è crittografato."
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4329,7 +4337,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "Verifica DCP"
diff --git a/src/wx/po/ja_JP.po b/src/wx/po/ja_JP.po
index d734ef575..ea0ad5a02 100644
--- a/src/wx/po/ja_JP.po
+++ b/src/wx/po/ja_JP.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-15 21:03+0100\n"
-"PO-Revision-Date: 2026-04-01 21:46+0900\n"
+"PO-Revision-Date: 2026-05-04 22:09+0900\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ja_JP\n"
@@ -169,7 +169,7 @@ msgstr "12 - 7.1/HI/VI"
#: src/wx/wx_util.cc:486
msgid "2 - stereo"
-msgstr "2 - stereo"
+msgstr "2 - ステレオ"
#: src/wx/rgba_colour_picker.cc:40
msgid "255"
@@ -193,7 +193,7 @@ msgstr "3D"
#: src/wx/video_panel.cc:192
msgid "3D alternate"
-msgstr "3D 代替"
+msgstr "3D 交互"
#: src/wx/video_panel.cc:193
msgid "3D left only"
@@ -341,7 +341,7 @@ msgid "A JPEG2000 tile size does not match the image size."
msgstr "JPEG2000 タイルã®ã‚µã‚¤ã‚ºãŒç”»åƒã®ã‚µã‚¤ã‚ºã¨ä¸€è‡´ã—ã¾ã›ã‚“。"
#: src/wx/update_dialog.cc:45
-#, fuzzy, c-format
+#, c-format
msgid "A new version of %s is available."
msgstr "%s ã®æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚"
@@ -463,7 +463,6 @@ msgid "Add recipient"
msgstr "å—信者を追加"
#: src/wx/dcp_timeline.cc:173
-#, fuzzy
msgid "Add reel boundary"
msgstr "リール境界を追加"
@@ -591,7 +590,6 @@ msgid "An unknown exception occurred."
msgstr "䏿˜Žãªä¾‹å¤–ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚"
#: src/wx/short_kdm_output_panel.cc:100 src/wx/tall_kdm_output_panel.cc:81
-#, fuzzy
msgid "Annotation text"
msgstr "注釈テキスト"
@@ -967,7 +965,7 @@ msgstr "コントラスト"
#: src/wx/text_panel.cc:101
msgid "Coord|Y"
-msgstr ""
+msgstr "調整|Y"
#: src/wx/dcp_panel.cc:93
msgid "Copy as name"
@@ -1493,7 +1491,6 @@ msgid "Filename format"
msgstr "ファイルåフォーマット"
#: src/wx/film_name_location_dialog.cc:48
-#, fuzzy
msgid "Film name"
msgstr "プロジェクトå"
@@ -1521,8 +1518,9 @@ msgid "Find missing..."
msgstr "紛失物を探ã™"
#: src/wx/subtitle_appearance_dialog.cc:130
+#, fuzzy
msgid "Finding the colours in these subtitles..."
-msgstr ""
+msgstr "ã“れらã®å­—幕ã®è‰²ã‚’見ã¤ã‘ã‚‹"
#: src/wx/markers.cc:39
msgid "First frame of end credits (FFEC)"
@@ -1578,6 +1576,8 @@ msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
+"%f 内㮠%frame フレーム(タイムコード %timecode)ã®çž¬é–“ビットレートã¯250Mbit/"
+"s ã®åˆ¶é™å€¤ã«è¿‘ã„値ã§ã™ã€‚"
#: src/wx/verify_dcp_result_panel.cc:312
#, c-format
@@ -1585,6 +1585,8 @@ msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
+"%f 内㮠%frame フレーム(タイムコード %timecode)ã®çž¬é–“ビットレートã¯250Mbit/"
+"s ã®åˆ¶é™å€¤ã‚’è¶…ãˆã¦ã„ã¾ã™ã€‚"
#: src/wx/verify_dcp_result_panel.cc:651
#, c-format
@@ -1620,7 +1622,6 @@ msgid "From address"
msgstr "é€ä¿¡å…ˆãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹"
#: src/wx/film_name_location_dialog.cc:66
-#, fuzzy
msgid "From template"
msgstr "テンプレート元"
@@ -2022,7 +2023,6 @@ msgid "Length"
msgstr "é•·ã•"
#: src/wx/player_information.cc:181
-#, fuzzy
msgid "Length: {} ({} frames)"
msgstr "é•·ã•: {} ({} フレーム)"
@@ -2290,7 +2290,7 @@ msgstr ""
#: src/wx/markers_panel.cc:278
#, c-format
msgid "Move %s marker to current position"
-msgstr ""
+msgstr "マーカー%sã‚’ç¾åœ¨ä½ç½®ã«ç§»å‹•ã—ã¾ã™"
#: src/wx/config_move_dialog.cc:31
msgid "Move configuration"
@@ -2792,7 +2792,7 @@ msgstr "公開地域"
#: src/wx/metadata_dialog.cc:213
msgid "Release territory for this DCP"
-msgstr ""
+msgstr "ã“ã®DCPã®å…¬é–‹åœ°åŸŸ"
#: src/wx/certificate_chain_editor.cc:91 src/wx/content_menu.cc:120
#: src/wx/content_panel.cc:284 src/wx/full_language_tag_dialog.cc:71
@@ -4582,7 +4582,7 @@ msgstr "f"
#: src/wx/dkdm_output_panel.cc:67 src/wx/kdm_output_panel.cc:142
msgid "film name"
-msgstr "プロジェクトåç§°"
+msgstr "プロジェクトå"
#: src/wx/metadata_dialog.cc:335
msgid "foot lambert"
diff --git a/src/wx/po/ko_KR.po b/src/wx/po/ko_KR.po
index 42f39fb20..ddeaed261 100644
--- a/src/wx/po/ko_KR.po
+++ b/src/wx/po/ko_KR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2026-03-10 20:52+0900\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -236,12 +236,12 @@ msgstr "96kHz"
msgid ":1"
msgstr ":1"
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr "<IssueDate>ì— ìœ íš¨í•˜ì§€ ì•Šì€ ê°’ %issue_dateì´(ê°€) 있습니다"
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr "<MainSoundConfiguration>ì´ ìœ íš¨í•˜ì§€ 않습니다 (%error)"
@@ -266,74 +266,82 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
-msgstr "2K JPEG2000 í”„ë ˆìž„ì´ 3ê°œ 대신 %tile_partsê°œì˜ íƒ€ì¼ íŒŒíŠ¸ë¥¼ í¬í•¨í•˜ê³  있습니다."
-
-#: src/wx/verify_dcp_result_panel.cc:569
-#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
msgstr ""
-"2K JPEG2000 í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ Rsiz(capabilities) ê°’ %capabilitiesì´(ê°€) í¬í•¨ë˜ì–´ 있"
-"습니다"
+"2K JPEG2000 í”„ë ˆìž„ì´ 3ê°œ 대신 %tile_partsê°œì˜ íƒ€ì¼ íŒŒíŠ¸ë¥¼ í¬í•¨í•˜ê³  있습니다."
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "2K JPEG2000 í”„ë ˆìž„ì— 0ê°œ 대신 %poc_markersê°œì˜ POC 마커가 있습니다."
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
+msgstr ""
+"2K JPEG2000 í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ Rsiz(capabilities) ê°’ %capabilitiesì´(ê°€) "
+"í¬í•¨ë˜ì–´ 있습니다"
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr "2K JPEG2000 í”„ë ˆìž„ì— 1ê°œ 대신 %guard_bitsê°œì˜ ê°€ë“œ 비트가 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
-msgstr "4K JPEG2000 í”„ë ˆìž„ì´ 6ê°œ 대신 %tile_partsê°œì˜ íƒ€ì¼ íŒŒíŠ¸ë¥¼ í¬í•¨í•˜ê³  있습니다."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr "2K JPEG2000 í”„ë ˆìž„ì— 0ê°œ 대신 %poc_markersê°œì˜ POC 마커가 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-"4K JPEG2000 í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ Rsiz(capabilities) ê°’ %capabilitiesì´(ê°€) í¬í•¨ë˜ì–´ 있"
-"습니다"
+"4K JPEG2000 í”„ë ˆìž„ì´ 6ê°œ 대신 %tile_partsê°œì˜ íƒ€ì¼ íŒŒíŠ¸ë¥¼ í¬í•¨í•˜ê³  있습니다."
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "4K JPEG2000 í”„ë ˆìž„ì— 1ê°œ 대신 %poc_markersê°œì˜ POC 마커가 있습니다."
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
+msgstr ""
+"4K JPEG2000 í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ Rsiz(capabilities) ê°’ %capabilitiesì´(ê°€) "
+"í¬í•¨ë˜ì–´ 있습니다"
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr "4K JPEG2000 í”„ë ˆìž„ì— 2ê°œ 대신 %guard_bitsê°œì˜ ê°€ë“œ 비트가 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:549
+#, c-format
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr "4K JPEG2000 í”„ë ˆìž„ì— 1ê°œ 대신 %poc_markersê°œì˜ POC 마커가 있습니다."
+
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "JPEG2000 í”„ë ˆìž„ì˜ ìœ íš¨í•˜ì§€ ì•Šì€ ìœ„ì¹˜ì— POC 마커가 í¬í•¨ë˜ì–´ 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "JPEG2000 í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ POC 마커(%n)ê°€ í¬í•¨ë˜ì–´ 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr "JPEG2000 í”„ë ˆìž„ì˜ ì½”ë“œ ë¸”ë¡ ë†’ì´ê°€ 32 대신 %code_block_height입니다."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr "JPEG2000 í”„ë ˆìž„ì˜ ì½”ë“œ ë¸”ë¡ ë„ˆë¹„ê°€ 32 대신 %code_block_width입니다."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "JPEG2000 í”„ë ˆìž„ì— TLM 마커가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr "JPEG2000 íƒ€ì¼ í¬ê¸°ê°€ ì´ë¯¸ì§€ í¬ê¸°ì™€ ì¼ì¹˜í•˜ì§€ 않습니다."
@@ -342,7 +350,7 @@ msgstr "JPEG2000 íƒ€ì¼ í¬ê¸°ê°€ ì´ë¯¸ì§€ í¬ê¸°ì™€ ì¼ì¹˜í•˜ì§€ 않습니다.
msgid "A new version of %s is available."
msgstr "%sì˜ ìƒˆ ë²„ì „ì´ ìžˆìŠµë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "ì˜ìƒ í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ JPEG2000 코드스트림(%error)ì´ ìžˆìŠµë‹ˆë‹¤."
@@ -352,11 +360,11 @@ msgstr "ì˜ìƒ í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ JPEG2000 코드스트림(%error)
msgid "A problem occurred when looking for hints (%s)"
msgstr "힌트를 찾는 중 문제가 ë°œìƒí–ˆìŠµë‹ˆë‹¤ (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "ìžë§‰ì´ 해당 릴보다 ë” ì˜¤ëž˜ ì§€ì†ë©ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -572,11 +580,11 @@ msgstr "알파 0"
msgid "Also supported by"
msgstr "ë„움 주신 분들"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "ASSETMAPì— ê²½ë¡œê°€ 비어 있는 ì—ì…‹ì´ ìžˆìŠµë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr "유효하지 ì•Šì€ <ContentKind> %content_kindì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹¤."
@@ -626,25 +634,25 @@ msgstr ""
"ë‹¤ìŒ ì£¼ì†Œë¡œ ì´ë©”ì¼ì„ 보내시겠습니까?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr "ìžë§‰ ë˜ëŠ” ìº¡ì…˜ì— í•˜ë‚˜ ì´ìƒì˜ <Text> 노드가 비어 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr "ë¦´ì˜ í•˜ë‚˜ ì´ìƒì˜ ì—ì…‹ì´ ë‹¤ë¥¸ ì—ì…‹ê³¼ ìž¬ìƒ ì‹œê°„ì´ ë‹¤ë¦…ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
#, fuzzy
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr "하나 ì´ìƒì˜ ìžë§‰ê°„ ê°„ê²©ì´ 2프레임 미만입니다."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr "하나 ì´ìƒì˜ ìžë§‰ ìž¬ìƒ ì‹œê°„ì´ 0ì´ê±°ë‚˜ ìŒìˆ˜ìž…니다."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "하나 ì´ìƒì˜ ìžë§‰ì´ 15프레임 미만으로 ì§€ì†ë©ë‹ˆë‹¤."
@@ -873,7 +881,7 @@ msgstr "ì˜í™”ê´€ ë° ìŠ¤í¬ë¦° ë°ì´í„°ë² ì´ìФ 파ì¼"
msgid "Click the button to set all selected content to the same value."
msgstr "ì„ íƒí•œ 모든 콘í…츠를 ë™ì¼í•œ 값으로 설정하려면 ë²„íŠ¼ì„ í´ë¦­í•˜ì„¸ìš”."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr "캡션 ì—ì…‹ %asset_idì— 0ì´ ì•„ë‹Œ <EntryPoint>ê°€ 있습니다."
@@ -1020,7 +1028,7 @@ msgstr "ì¸ì¦ì„œë¥¼ 불러올 수 없습니다 (%s)"
msgid "Could not play content"
msgstr "콘í…츠를 재ìƒí•  수 없습니다"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr "DCP를 ì½ì„ 수 없습니다 (%error)"
@@ -1563,7 +1571,7 @@ msgstr "ë¹„ë””ì˜¤ì— í¬ë Œì‹ 마킹 ì ìš©"
msgid "Format"
msgstr "í¬ë§·"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1572,7 +1580,7 @@ msgstr ""
"ì—ì…‹ %fì˜ í”„ë ˆìž„ %frame(타임코드 %timecode)ì˜ ìˆœê°„ 비트레ì´íŠ¸ê°€ ì œí•œì¹˜ì¸ "
"250Mbit/sì— ê·¼ì ‘í•©ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1581,7 +1589,7 @@ msgstr ""
"ì—ì…‹ %fì˜ í”„ë ˆìž„ %frame(타임코드 %timecode)ì˜ ìˆœê°„ 비트레ì´íŠ¸ê°€ ì œí•œì¹˜ì¸ "
"250Mbit/s를 초과했습니다."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2192,7 +2200,7 @@ msgstr "메타ë°ì´í„°â€¦"
msgid "Mix audio down to stereo"
msgstr "오디오를 스테레오로 믹스다운"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
#, fuzzy
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
@@ -2200,7 +2208,7 @@ msgstr ""
"ë” ë§Žì€ 2K JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ìž˜ëª»ëœ ìˆ˜ì˜ íƒ€ì¼ íŒŒíŠ¸ê°€ í¬í•¨ë˜ì–´ 있"
"습니다."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
#, fuzzy
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
@@ -2208,13 +2216,13 @@ msgstr ""
"ë” ë§Žì€ 2K JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ìœ íš¨í•˜ì§€ ì•Šì€ ìˆ˜ì˜ ê°€ë“œ 비트가 있습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
#, fuzzy
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
"ë” ë§Žì€ 2K JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ë„ˆë¬´ ë§Žì€ POC 마커가 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
#, fuzzy
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
@@ -2222,13 +2230,13 @@ msgstr ""
"ë” ë§Žì€ 4K JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ìœ íš¨í•˜ì§€ ì•Šì€ ìˆ˜ì˜ ê°€ë“œ 비트가 있습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
#, fuzzy
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
"ë” ë§Žì€ 4K JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ë„ˆë¬´ ë§Žì€ POC 마커가 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
#, fuzzy
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
@@ -2236,21 +2244,21 @@ msgstr ""
"ë” ë§Žì€ JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì˜ ìœ íš¨í•˜ì§€ ì•Šì€ ìœ„ì¹˜ì— POC 마커가 í¬í•¨ë˜"
"어 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
"ë” ë§Žì€ JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ìœ íš¨í•˜ì§€ ì•Šì€ POC 마커가 í¬í•¨ë˜ì–´ 있습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
"ë” ë§Žì€ JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ìœ íš¨í•˜ì§€ ì•Šì€ Rsiz ê°’ì´ í¬í•¨ë˜ì–´ 있습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
#, fuzzy
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
@@ -2258,32 +2266,32 @@ msgstr ""
"ë” ë§Žì€ JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ìž˜ëª»ëœ ìˆ˜ì˜ íƒ€ì¼ íŒŒíŠ¸ê°€ í¬í•¨ë˜ì–´ 있습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
"ë” ë§Žì€ JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ìœ íš¨í•˜ì§€ ì•Šì€ ì½”ë“œ ë¸”ë¡ ë†’ì´ê°€ 있습니"
"다."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
"ë” ë§Žì€ JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— ìœ íš¨í•˜ì§€ ì•Šì€ ì½”ë“œ ë¸”ë¡ ë„ˆë¹„ê°€ 있습니"
"다."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
#, fuzzy
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "ë” ë§Žì€ JPEG2000 프레임(목ë¡ì— ì—†ìŒ)ì— TLM 마커가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
#, fuzzy
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
"ë” ë§Žì€ JPEG2000 íƒ€ì¼ í¬ê¸°(목ë¡ì— ì—†ìŒ)ê°€ ì´ë¯¸ì§€ í¬ê¸°ì™€ ì¼ì¹˜í•˜ì§€ 않습니다."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
@@ -2292,7 +2300,7 @@ msgstr ""
"ë” ë§Žì€ í”„ë ˆìž„(목ë¡ì— ì—†ìŒ)ì˜ ìˆœê°„ 비트레ì´íŠ¸ê°€ ì œí•œì¹˜ì¸ 250Mbit/sì— ê·¼ì ‘í•©ë‹ˆ"
"다."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
@@ -2301,12 +2309,12 @@ msgstr ""
"ë” ë§Žì€ í”„ë ˆìž„(목ë¡ì— ì—†ìŒ)ì˜ ìˆœê°„ 비트레ì´íŠ¸ê°€ ì œí•œì¹˜ì¸ 250Mbit/s를 초과했습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
#, fuzzy
msgid "More frames (not listed) have image components that are too large."
msgstr "ë” ë§Žì€ í”„ë ˆìž„(목ë¡ì— ì—†ìŒ)ì˜ ì´ë¯¸ì§€ ì»´í¬ë„ŒíЏ í¬ê¸°ê°€ 너무 í½ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
#, fuzzy
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2398,7 +2406,7 @@ msgstr "다ìŒ"
msgid "No"
msgstr "아니오"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "ASSETMAP ë˜ëŠ” ASSETMAP.xml 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다."
@@ -2406,7 +2414,7 @@ msgstr "ASSETMAP ë˜ëŠ” ASSETMAP.xml 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다."
msgid "No DCP loaded."
msgstr "ë¡œë“œëœ DCPê°€ 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "SMPTE Bv2.1 오류가 발견ë˜ì§€ 않았습니다."
@@ -2419,11 +2427,11 @@ msgstr "%s ì±„ë„ '%s'ì—서 %s ì±„ë„ '%s'(으)로 ì „ë‹¬ë  ì˜¤ë””ì˜¤ê°€ ì—†ìŠ
msgid "No content found in this folder."
msgstr "ì´ í´ë”ì— ì½˜í…츠가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "오류가 발견ë˜ì§€ 않았습니다."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "경고가 발견ë˜ì§€ 않았습니다."
@@ -2437,7 +2445,7 @@ msgstr "비표준"
msgid "None"
msgstr "ì—†ìŒ"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr "모든 ìžë§‰ ì—ì…‹ì´ ë™ì¼í•œ <Language> 태그를 지정하지 않았습니다."
@@ -2568,11 +2576,11 @@ msgstr "ê°ì§€ëœ 비디오 프레임 ë ˆì´íЏ 무시"
msgid "Overwrite this file with current configuration"
msgstr "현재 설정으로 ì´ íŒŒì¼ì„ ë®ì–´ì“°ê¸°"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr "KDMì„ ì‚¬ìš©í•  수 없어서 DCPì˜ ì¼ë¶€ë¥¼ 확ì¸í•˜ì§€ 못했습니다."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3087,7 +3095,7 @@ msgstr "디버그 로그 íŒŒì¼ ì„ íƒ"
msgid "Select output file"
msgstr "출력 íŒŒì¼ ì„ íƒ"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr "ì„ íƒâ€¦"
@@ -3258,7 +3266,7 @@ msgstr ""
"ì¼ë¶€ KDMì˜ ìœ íš¨ ê¸°ê°„ì´ ìˆ˜ì‹ ìž ì¸ì¦ì„œì˜ 유효 ê¸°ê°„ì„ ë²—ì–´ë‚©ë‹ˆë‹¤. 어떻게 하시겠"
"습니까?"
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
@@ -3266,7 +3274,7 @@ msgstr ""
"ì¼ë¶€ í´ë¡œì¦ˆë“œ <Text> ë˜ëŠ” <Image> 노드가 한 <Subtitle> ë‚´ì—서 서로 다른 ìˆ˜ì§ "
"ì •ë ¬ì„ ê°€ì§€ê³  있습니다."
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr "ì¼ë¶€ í´ë¡œì¦ˆë“œ ìº¡ì…˜ì´ ìˆ˜ì§ ìœ„ì¹˜ 순서대로 나열ë˜ì§€ 않았습니다."
@@ -3275,7 +3283,7 @@ msgstr "ì¼ë¶€ í´ë¡œì¦ˆë“œ ìº¡ì…˜ì´ ìˆ˜ì§ ìœ„ì¹˜ 순서대로 나열ë˜ì§€ ì•
msgid "Sound"
msgstr "사운드"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr "모든 사운드 ì—ì…‹ì˜ ì±„ë„ ìˆ˜ê°€ ë™ì¼í•˜ì§€ 않습니다."
@@ -3361,7 +3369,7 @@ msgstr "구ë…ìž"
msgid "Subtitle appearance"
msgstr "ìžë§‰ 모양새"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "ìžë§‰ ì—ì…‹ %asset_idì— 0ì´ ì•„ë‹Œ <EntryPoint>ê°€ 있습니다."
@@ -3447,23 +3455,23 @@ msgstr "테스트한 사람 "
msgid "The 'until' time must be after the 'from' time."
msgstr "'종료' ì‹œê°„ì€ '시작' 시간보다 늦어야 합니다."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr "CPL %cplì˜ <ContentVersion> ë‚´ <LabelText>ê°€ 비어 있습니다"
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr "<MainPictureActiveArea>ê°€ 2ì˜ ë°°ìˆ˜ê°€ 아니거나 ì—셋보다 í½ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr "ASSETMAP %asset_map_idì— ë™ì¼í•œ ID를 가진 ì—ì…‹ì´ ë‘˜ ì´ìƒ 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
#, fuzzy
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
@@ -3471,64 +3479,64 @@ msgid ""
msgstr ""
"Timed Text MXFì˜ ì—ì…‹ IDê°€ 리소스 ID ë˜ëŠ” í¬í•¨ëœ XMLì˜ ID와 ë™ì¼í•©ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr "CPL %cplì˜ <AnnotationText>ê°€ <ContentTitleText>와 다릅니다."
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "CPL %cplì— ìœ íš¨í•˜ì§€ ì•Šì€ ë„¤ìž„ìŠ¤íŽ˜ì´ìФ %xml_namespaceì´(ê°€) 있습니다"
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "CPL %cplì— ì•”í˜¸í™”ëœ ì½˜í…츠가 있지만 서명ë˜ì§€ 않았습니다."
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "CPL %cplì— <AnnotationText> 태그가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "CPL %cplì— <ContentVersion> 태그가 없습니다"
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "CPL %cplì— CPL 확장 메타ë°ì´í„° 태그가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "CPL %cplì— CPL 메타ë°ì´í„° 태그가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "CPL %cplì— CPL 메타ë°ì´í„° 버전 번호 태그가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr "CPL %fì— ìœ íš¨í•˜ì§€ ì•Šì€ CPL 확장 메타ë°ì´í„° 태그(%error)ê°€ 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr "DCPì˜ FFOCê°€ 1ì´ ì•„ë‹Œ %time입니다."
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr "DCPì˜ LFOCê°€ (릴 ê¸¸ì´ - 1)ì´ ì•„ë‹Œ %time입니다."
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
@@ -3536,28 +3544,28 @@ msgstr ""
"DCPì— í´ë¡œì¦ˆë“œ ìº¡ì…˜ì´ ìžˆì§€ë§Œ, 모든 ë¦´ì˜ í´ë¡œì¦ˆë“œ 캡션 ì—ì…‹ 수가 ë™ì¼í•˜ì§€ 않습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr "DCPì— ì•”í˜¸í™”ëœ ì½˜í…츠가 있지만, 모든 ì—ì…‹ì´ ì•”í˜¸í™”ë˜ì§€ëŠ” 않았습니다."
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "DCPì— FFOC(콘í…츠 첫 프레임) 마커가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "DCPì— LFOC(콘í…츠 마지막 프레임) 마커가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr "DCPì— ìžë§‰ì´ 있지만, 최소 하나 ì´ìƒì˜ ë¦´ì— ìžë§‰ ì—ì…‹ì´ ì—†ìŠµë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr "본편 DCPìž„ì—ë„ FFEC(엔드 í¬ë ˆë”§ 첫 프레임) 마커가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr "본편 DCPìž„ì—ë„ FFMC(ë¡¤ë§ í¬ë ˆë”§ 첫 프레임) 마커가 없습니다."
@@ -3580,12 +3588,12 @@ msgstr ""
"KDM 시작 ê¸°ê°„ì´ ì„œëª… ì¸ì¦ì„œì˜ 유효 기간 시작 ì „(ë˜ëŠ” ì§ì „)입니다. ì´ KDMì˜ ì‹œ"
"ìž‘ ì‹œê°„ì„ ë” ëŠ¦ì¶°ì£¼ì‹­ì‹œì˜¤."
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "PKL %fì— ìœ íš¨í•˜ì§€ ì•Šì€ ë„¤ìž„ìŠ¤íŽ˜ì´ìФ %xml_namespaceì´(ê°€) 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
@@ -3594,89 +3602,94 @@ msgstr ""
"PKL %pklì˜ <AnnotationText>ê°€ 해당 CPLì˜ <ContentTitleText>와 ì¼ì¹˜í•˜ì§€ 않습니"
"다."
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr "PKL %pklì— ì•”í˜¸í™”ëœ ì½˜í…츠가 í¬í•¨ë˜ì–´ 있지만 서명ë˜ì§€ 않았습니다."
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr "PKL %pkl_idì— ë™ì¼í•œ ID를 가진 ì—ì…‹ì´ ë‘˜ ì´ìƒ 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr "ì˜ìƒ ì—ì…‹ %fì— ëŒ€í•œ PKLê³¼ CPLì˜ í•´ì‹œê°’ì´ ì¼ì¹˜í•˜ì§€ 않습니다."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr "사운드 ì—ì…‹ %fì— ëŒ€í•œ PKLê³¼ CPLì˜ í•´ì‹œê°’ì´ ì¼ì¹˜í•˜ì§€ 않습니다."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr "타임드 í…스트 MXFì˜ ë¦¬ì†ŒìŠ¤ IDê°€ í¬í•¨ëœ XMLì˜ ID와 ì¼ì¹˜í•˜ì§€ 않습니다."
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
"SMPTE ìžë§‰ ì—ì…‹ %asset_idì— <Text> 노드는 있지만 <LoadFont> 노드가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "%fì˜ XML 형ì‹ì´ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤ (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "%fì˜ XML 형ì‹ì´ %l번째 줄ì—서 잘못ë˜ì—ˆìŠµë‹ˆë‹¤ (%error)."
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
-msgstr "캡션 ì—ì…‹ %fì˜ XML ìš©ëŸ‰ì´ %size_in_bytes ë°”ì´íŠ¸ë¡œ, ì œí•œì¹˜ì¸ 256KB를 초과했습니다."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
+msgstr ""
+"캡션 ì—ì…‹ %fì˜ XML ìš©ëŸ‰ì´ %size_in_bytes ë°”ì´íŠ¸ë¡œ, ì œí•œì¹˜ì¸ 256KB를 초과했습"
+"니다."
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr "ìžë§‰ ì—ì…‹ %asset_idì˜ XMLì— ë‘˜ ì´ìƒì˜ 네임스페ì´ìФ ì„ ì–¸ì´ ìžˆìŠµë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr "ì—ì…‹ %f는 3Dì´ì§€ë§Œ 해당 MXF는 2D로 표시ë˜ì–´ 있습니다."
-
-#: src/wx/verify_dcp_result_panel.cc:295
-#, c-format
-msgid "The asset %f is missing."
-msgstr "ì—ì…‹ %fì´(ê°€) 누ë½ë˜ì—ˆìŠµë‹ˆë‹¤."
-
-#: src/wx/verify_dcp_result_panel.cc:316
-#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr "ì—ì…‹ %asset_idì˜ ìž¬ìƒ ì‹œê°„ì´ 1ì´ˆ 미만ì´ë©°, ì´ëŠ” 유효하지 않습니다."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
-msgstr "ì—ì…‹ %asset_idì˜ ê³ ìœ  ìž¬ìƒ ì‹œê°„ì´ 1ì´ˆ 미만ì´ë©°, ì´ëŠ” 유효하지 않습니다."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
+msgstr ""
+"ì—ì…‹ %asset_idì˜ ê³ ìœ  ìž¬ìƒ ì‹œê°„ì´ 1ì´ˆ 미만ì´ë©°, ì´ëŠ” 유효하지 않습니다."
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "ì—ì…‹ %asset_idì— ëŒ€í•œ <Hash>ê°€ CPLì— ì—†ìŠµë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr "ì—ì…‹ %f는 3Dì´ì§€ë§Œ 해당 MXF는 2D로 표시ë˜ì–´ 있습니다."
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "ì—ì…‹ %fì´(ê°€) 누ë½ë˜ì—ˆìŠµë‹ˆë‹¤."
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
@@ -3685,7 +3698,7 @@ msgstr ""
"ì—ì…‹ ë§µì˜ ID %asset_idì¸ ì—ì…‹ì´ ì‹¤ì œë¡œëŠ” %other_asset_idë¼ëŠ” ID를 가지고 있습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr "캡션 ì—ì…‹ %asset_idì— <EntryPoint> 태그가 없습니다."
@@ -3730,30 +3743,30 @@ msgstr ""
"%s 파ì¼ì´ ì´ë¯¸ 존재합니다. ì´ íŒŒì¼ì„ 새 설정으로 사용하시겠습니까, 아니면 현"
"재 설정으로 ë®ì–´ì“°ì‹œê² ìŠµë‹ˆê¹Œ?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr "첫 번째 ìžë§‰ ë˜ëŠ” ìº¡ì…˜ì´ ì²« 번째 ë¦´ì˜ ì‹œìž‘ 후 4ì´ˆ ì´ì „ì— ë‚˜íƒ€ë‚©ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-"í°íЏ ID \\\"%load_font_id\\\"ì— ëŒ€í•œ í°íЏ 파ì¼ì„ ì°¾ì„ ìˆ˜ 없거나 ASSETMAPì—서 참조ë˜ì§€ 않"
-"았습니다."
+"í°íЏ ID \\\"%load_font_id\\\"ì— ëŒ€í•œ í°íЏ 파ì¼ì„ ì°¾ì„ ìˆ˜ 없거나 ASSETMAPì—서 "
+"참조ë˜ì§€ 않았습니다."
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-"타임드 í…스트 ì—ì…‹ %fì˜ í°íЏ ìš©ëŸ‰ì´ %size_in_bytes ë°”ì´íŠ¸ë¡œ, ì œí•œì¹˜ì¸ 10MB를 초과했습니"
-"다."
+"타임드 í…스트 ì—ì…‹ %fì˜ í°íЏ ìš©ëŸ‰ì´ %size_in_bytes ë°”ì´íŠ¸ë¡œ, ì œí•œì¹˜ì¸ 10MB를 "
+"초과했습니다."
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3762,7 +3775,7 @@ msgstr ""
"ì˜ìƒ ì—ì…‹ %fì˜ í•´ì‹œê°’(%calculated_hash)ì´ PKL 파ì¼(%reference_hash)ê³¼ ì¼ì¹˜í•˜"
"ì§€ 않습니다. ì—ì…‹ 파ì¼ì´ ì†ìƒë˜ì—ˆì„ ê°€ëŠ¥ì„±ì´ ìžˆìŠµë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3771,7 +3784,7 @@ msgstr ""
"사운드 ì—ì…‹ %fì˜ í•´ì‹œê°’(%calculated_hash)ì´ PKL 파ì¼(%reference_hash)ê³¼ ì¼ì¹˜"
"하지 않습니다. ì—ì…‹ 파ì¼ì´ ì†ìƒë˜ì—ˆì„ ê°€ëŠ¥ì„±ì´ ìžˆìŠµë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
@@ -3780,8 +3793,7 @@ msgstr ""
"PKL ë‚´ CPL %cplì˜ í•´ì‹œê°’(%reference_hash)ì´ CPL 파ì¼(%calculated_hash)ê³¼ ì¼ì¹˜"
"하지 않습니다. CPL 파ì¼ì´ ì†ìƒë˜ì—ˆì„ ê°€ëŠ¥ì„±ì´ ìžˆìŠµë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "유효하지 ì•Šì€ ì–¸ì–´ 태그 %languageì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹¤."
@@ -3790,27 +3802,27 @@ msgstr "유효하지 ì•Šì€ ì–¸ì–´ 태그 %languageì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹
msgid "The language that the film's title (\"%s\") is in"
msgstr "필름 제목(\\\"%s\\\")ì— ì‚¬ìš©ëœ ì–¸ì–´"
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr "릴 ë‚´ ì˜ìƒì˜ 프레임 ë ˆì´íЏ %frame_rateì€(는) 유효하지 않습니다."
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-"ì¼ë¶€ 타임드 í…ìŠ¤íŠ¸ì˜ ë¦´ ìž¬ìƒ ì‹œê°„(%other_duration)ì´ í•´ë‹¹ MXFì˜ ì»¨í…Œì´ë„ˆ ìž¬ìƒ ì‹œê°„(%duration)ê³¼ "
-"다릅니다."
+"ì¼ë¶€ 타임드 í…ìŠ¤íŠ¸ì˜ ë¦´ ìž¬ìƒ ì‹œê°„(%other_duration)ì´ í•´ë‹¹ MXFì˜ ì»¨í…Œì´ë„ˆ 재"
+"ìƒ ì‹œê°„(%duration)ê³¼ 다릅니다."
-#: src/wx/verify_dcp_result_panel.cc:408
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:423
+#, fuzzy, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "사운드 ì—ì…‹ %fì˜ ë¹„íŠ¸ ì‹¬ë„ %bit_depthì€(는) 유효하지 않습니다."
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "사운드 ì—ì…‹ %fì˜ í”„ë ˆìž„ ë ˆì´íЏ %frame_rateì€(는) 유효하지 않습니다."
@@ -3823,39 +3835,41 @@ msgstr ""
"DCPê°€ 사용할 표준입니다. Interopì€ ì˜ˆì „ ë°©ì‹ì´ë©°, SMPTE는 최신(현재) 표준입"
"니다. 잘 모르시겠다면 'SMPTE'를 ì„ íƒí•˜ì‹­ì‹œì˜¤."
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "ìžë§‰ ì—ì…‹ %asset_idì— ìžë§‰ì´ 없습니다."
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "ìžë§‰ ì—ì…‹ %asset_idì— <EntryPoint> 태그가 없습니다."
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "ìžë§‰ ì—ì…‹ %fì— <Language> 태그가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "ìžë§‰ ì—ì…‹ %fì— <StartTime> 태그가 없습니다."
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr "ìžë§‰ ì—ì…‹ %fì˜ <StartTime>ì´ 0ì´ ì•„ë‹™ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:643
-#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "ìžë§‰ ì—ì…‹ %asset_idì— ìžë§‰ì´ 없습니다."
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "ìžë§‰ ì—ì…‹ %asset_idì— <EntryPoint> 태그가 없습니다."
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-"타임드 í…스트 ì—ì…‹ %fì˜ ìš©ëŸ‰ì´ %size_in_bytes ë°”ì´íŠ¸ë¡œ, ì œí•œì¹˜ì¸ 115MB를 초과했습니다."
+"타임드 í…스트 ì—ì…‹ %fì˜ ìš©ëŸ‰ì´ %size_in_bytes ë°”ì´íŠ¸ë¡œ, ì œí•œì¹˜ì¸ 115MB를 초과"
+"했습니다."
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
@@ -3864,41 +3878,43 @@ msgstr ""
"ì˜ìƒ ì—ì…‹ %fì— ì‚¬ìš©ëœ í”„ë ˆìž„ ë ˆì´íЏ %frame_rateì€(는) 4K ì˜ìƒì— 유효하지 않습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
"ì˜ìƒ ì—ì…‹ %fì— ìœ íš¨í•˜ì§€ ì•Šì€ í”„ë ˆìž„ ë ˆì´íЏ %frame_rateì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
-msgstr "ì˜ìƒ ì—ì…‹ %fì— ìœ íš¨í•˜ì§€ ì•Šì€ ì´ë¯¸ì§€ í¬ê¸° %size_in_pixelsì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹¤."
+msgstr ""
+"ì˜ìƒ ì—ì…‹ %fì— ìœ íš¨í•˜ì§€ ì•Šì€ ì´ë¯¸ì§€ í¬ê¸° %size_in_pixelsì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆ"
+"다."
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
#, fuzzy
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
"ì˜ìƒ ì—ì…‹ %fì— ì‚¬ìš©ëœ í”„ë ˆìž„ ë ˆì´íЏ %frame_rateì€(는) 3D ì˜ìƒì— 유효하지 않습"
"니다."
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "최소 한 ê³³ì—서 í´ë¡œì¦ˆë“œ ìº¡ì…˜ì´ 3ì¤„ì„ ì´ˆê³¼í•©ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "최소 한 ê³³ì—서 ìžë§‰ì´ 3ì¤„ì„ ì´ˆê³¼í•©ë‹ˆë‹¤."
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr "최소 한 ì¤„ì˜ í´ë¡œì¦ˆë“œ ìº¡ì…˜ì´ 32글ìžë¥¼ 초과합니다."
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "최소 한 ì¤„ì˜ ìžë§‰ì´ 52글ìžë¥¼ 초과합니다."
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr "최소 한 ì¤„ì˜ ìžë§‰ì´ 79글ìžë¥¼ 초과합니다."
@@ -3910,11 +3926,11 @@ msgstr "ì•„ì§ ížŒíŠ¸ê°€ 없습니다. 프로ì íЏ 검사가 ì§„í–‰ 중입니ë‹
msgid "There are no hints: everything looks good!"
msgstr "힌트가 없습니다. 모든 ê²ƒì´ ì™„ë²½í•©ë‹ˆë‹¤!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr "<MainMarkers> ì•ˆì— <Duration> 태그가 있습니다."
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr "<MainMarkers> ì•ˆì— <EntryPoint> 태그가 있습니다."
@@ -3939,15 +3955,16 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "ì´ CPLì—는 ì•”í˜¸í™”ëœ ì—ì…‹ì´ í¬í•¨ë˜ì–´ 있지 않습니다."
-#: src/wx/verify_dcp_result_panel.cc:333
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:348
+#, fuzzy, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"ì´ DCP는 다른 DCP(ë˜ëŠ” ê·¸ 외)ì˜ ì—ì…‹ %asset_idì„ ì°¸ì¡°í•˜ë¯€ë¡œ \"버전 파ì¼\"(VF)입니다"
+"ì´ DCP는 다른 DCP(ë˜ëŠ” ê·¸ 외)ì˜ ì—ì…‹ %asset_idì„ ì°¸ì¡°í•˜ë¯€ë¡œ \"버전 파ì¼\"(VF)"
+"입니다"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr "ì´ DCP는 Interop í‘œì¤€ì„ ì‚¬ìš©í•˜ì§€ë§Œ, SMPTE로 제작ë˜ì–´ì•¼ 합니다."
@@ -4343,7 +4360,7 @@ msgstr "유효 기간 종료"
msgid "Vendor"
msgstr "제조사"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr "ê²€ì¦ ë³´ê³ ì„œ"
diff --git a/src/wx/po/nl_NL.po b/src/wx/po/nl_NL.po
index e32baabcd..0242e90bf 100644
--- a/src/wx/po/nl_NL.po
+++ b/src/wx/po/nl_NL.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
-"PO-Revision-Date: 2026-03-23 13:16+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
+"PO-Revision-Date: 2026-04-21 18:13+0200\n"
"Last-Translator: Rob van Nieuwkerk <dcpomatic-translations@berrymount.nl>\n"
"Language-Team: Rob van Nieuwkerk <dcpomatic-translations@berrymount.nl>\n"
"Language: nl_NL\n"
@@ -236,12 +236,12 @@ msgstr "96kHz"
msgid ":1"
msgstr ":1"
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr "<IssueDate> heeft een ongeldige waarde %issue_date"
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr "<MainSoundConfiguration> is ongeldig (%error)"
@@ -266,74 +266,86 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr "Een 2K JPEG2000-frame bevat %tile_parts tile parts in plaats van 3."
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-"Een 2K JPEG2000-frame bevat een ongeldige Rsiz (capabilities) waarde van %capabilities"
-
-#: src/wx/verify_dcp_result_panel.cc:527
-#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "Een 2K JPEG2000-frame heeft %poc_markers POC marker(s) in plaats van 0."
+"Een 2K JPEG2000-frame bevat een ongeldige Rsiz (capabilities) waarde van "
+"%capabilities"
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr "Een 2K JPEG2000-frame heeft %guard_bits guard bits in plaats van 1."
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:542
+#, c-format
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr ""
+"Een 2K JPEG2000-frame heeft %poc_markers POC marker(s) in plaats van 0."
+
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr "Een 4K JPEG2000-frame bevat %tile_parts tile parts in plaats van 6."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-"Een 4K JPEG2000-frame bevat een ongeldige Rsiz (capabilities) waarde van %capabilities"
-
-#: src/wx/verify_dcp_result_panel.cc:534
-#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "Een 4K JPEG2000-frame heeft %poc_markers POC marker(s) in plaats van 1."
+"Een 4K JPEG2000-frame bevat een ongeldige Rsiz (capabilities) waarde van "
+"%capabilities"
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr "Een 4K JPEG2000-frame heeft %guard_bits guard bits in plaats van 2."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:549
+#, c-format
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr ""
+"Een 4K JPEG2000-frame heeft %poc_markers POC marker(s) in plaats van 1."
+
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "Een JPEG2000-frame bevat een POC marker op een ongeldige locatie."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "Een JPEG2000-frame bevat een ongeldige POC marker (%n)."
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-"Een JPEG2000-frame heeft een code-block hoogte van %code_block_height in plaats van 32."
+"Een JPEG2000-frame heeft een code-block hoogte van %code_block_height in "
+"plaats van 32."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-"Een JPEG2000-frame heeft een code-block breedte van %code_block_width in plaats van 32."
+"Een JPEG2000-frame heeft een code-block breedte van %code_block_width in "
+"plaats van 32."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "Een JPEG2000-frame heeft geen TLM marker."
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr "Een JPEG2000 tile-grootte komt niet overeen met de beeldgrootte."
@@ -342,7 +354,7 @@ msgstr "Een JPEG2000 tile-grootte komt niet overeen met de beeldgrootte."
msgid "A new version of %s is available."
msgstr "Er is een nieuwe versie van %s beschikbaar."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "Een picture frame heeft een ongeldige JPEG2000 codestream (%error)."
@@ -352,11 +364,11 @@ msgstr "Een picture frame heeft een ongeldige JPEG2000 codestream (%error)."
msgid "A problem occurred when looking for hints (%s)"
msgstr "Er is een probleem opgetreden tijdens het zoeken naar hints (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "Een ondertitel duurt langer dan de reel waarin hij zit."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -566,11 +578,11 @@ msgstr "Alpha 0"
msgid "Also supported by"
msgstr "Ook ondersteund door"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "Een asset heeft een leeg pad in de ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr "Er is een ongeldige <ContentKind> %content_kind gebruikt."
@@ -619,28 +631,28 @@ msgstr ""
"Weet u zeker dat u e-mails naar de volgende adressen wilt verzenden?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
"Ten minste één <Text> node in een ondertitel of closed caption is leeg."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
"Ten minste één asset in een reel heeft niet dezelfde duration als de andere."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
"Ten minste één paar ondertitels wordt gescheiden door minder dan 2 frames."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
"Ten minste één ondertitel heeft een duur van nul of een negatieve duur."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "Ten minste één ondertitel duurt minder dan 15 frames."
@@ -869,7 +881,7 @@ msgstr ""
"Klik op de knop om alle geselecteerde content op dezelfde waarde in te "
"stellen."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr "Closed caption asset %asset_id heeft een <EntryPoint> dat niet nul is."
@@ -1015,7 +1027,7 @@ msgstr "Kan certificaat niet laden (%s)"
msgid "Could not play content"
msgstr "Kan content niet afspelen"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr "Kan DCP niet lezen (%error)"
@@ -1552,7 +1564,7 @@ msgstr "Markeer video forensisch"
msgid "Format"
msgstr "Formaat"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1561,7 +1573,7 @@ msgstr ""
"Frame %frame (tijdcode %timecode) in asset %f heeft een momentane bit rate "
"die dicht bij de limiet van 250 Mbit/s zit."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1570,7 +1582,7 @@ msgstr ""
"Frame %frame (tijdcode %timecode) in asset %f heeft een momentane bit rate "
"die boven de limiet van 250 Mbit/s zit."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2182,73 +2194,73 @@ msgstr "Metadata..."
msgid "Mix audio down to stereo"
msgstr "Mix audio down naar stereo"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"Meer 2K JPEG2000-frames (niet vermeld) hebben een verkeerd aantal tile parts."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"Meer 2K JPEG2000-frames (niet vermeld) hebben een ongeldig aantal guard bits."
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr "Meer 2K JPEG2000-frames (niet vermeld) hebben te veel POC markers."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"Meer 4K JPEG2000-frames (niet vermeld) hebben een ongeldig aantal guard bits."
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr "Meer 4K JPEG2000-frames (niet vermeld) hebben te veel POC markers."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
"Meer JPEG2000-frames (niet vermeld) hebben POC markers op ongeldige locaties."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr "Meer JPEG2000-frames (niet vermeld) hebben ongeldige POC markers."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr "Meer JPEG2000-frames (niet vermeld) hebben ongeldige Rsiz waarden."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"Meer JPEG2000-frames (niet vermeld) hebben een verkeerd aantal tile parts."
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
"Meer JPEG2000-frames (niet vermeld) hebben een ongeldige code-block hoogte."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
"Meer JPEG2000-frames (niet vermeld) hebben een ongeldige code-block breedte."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "Meer JPEG2000-frames (niet vermeld) hebben geen TLM marker."
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
"Meer JPEG2000 tile-groottes (niet vermeld) komen niet overeen met de "
"beeldgrootte."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
@@ -2256,7 +2268,7 @@ msgstr ""
"Meer frames (niet vermeld) hebben een momentane bit rate die dicht bij de "
"limiet van 250 Mbit/s zit."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
@@ -2264,11 +2276,11 @@ msgstr ""
"Meer frames (niet vermeld) hebben een momentane bit rate die boven de limiet "
"van 250 Mbit/s zit."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr "Meer frames (niet vermeld) hebben te grote beeldcomponenten."
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr "Meer picture frames hebben ongeldige JPEG2000 codestreams."
@@ -2356,7 +2368,7 @@ msgstr "Volgende"
msgid "No"
msgstr "Nee"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "Er is geen ASSETMAP of ASSETMAP.xml bestand gevonden."
@@ -2364,7 +2376,7 @@ msgstr "Er is geen ASSETMAP of ASSETMAP.xml bestand gevonden."
msgid "No DCP loaded."
msgstr "Geen DCP geladen."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "Geen SMPTE Bv2.1-fouten gevonden."
@@ -2378,11 +2390,11 @@ msgstr ""
msgid "No content found in this folder."
msgstr "Geen content gevonden in deze map."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "Geen fouten gevonden."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "Geen waarschuwingen gevonden."
@@ -2396,7 +2408,7 @@ msgstr "Niet-standaard"
msgid "None"
msgstr "Geen"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr "Niet alle subtitle assets specificeren dezelfde <Language> tag."
@@ -2526,13 +2538,13 @@ msgstr "Overschrijf gedetecteerde video frame rate"
msgid "Overwrite this file with current configuration"
msgstr "Overschrijf dit bestand met huidige configuratie"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
"Een deel van de DCP kon niet worden gecontroleerd omdat er geen KDM "
"beschikbaar was."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3046,7 +3058,7 @@ msgstr "Selecteer debug-logbestand"
msgid "Select output file"
msgstr "Selecteer output-bestand"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr "Selecteer..."
@@ -3216,7 +3228,7 @@ msgstr ""
"Sommige KDM's zouden geldigheidsduren hebben die buiten de certificaatduren "
"van de ontvanger vallen. Wat wilt u doen?"
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
@@ -3224,7 +3236,7 @@ msgstr ""
"Sommige closed <Text> of <Image> nodes hebben verschillende verticale "
"uitlijningen binnen een <Subtitle>."
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3234,7 +3246,7 @@ msgstr ""
msgid "Sound"
msgstr "Audio"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr "Sound assets hebben niet allemaal hetzelfde aantal kanalen."
@@ -3319,7 +3331,7 @@ msgstr "Abonnees"
msgid "Subtitle appearance"
msgstr "Ondertitel-uiterlijk"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "Subtitle asset %asset_id heeft een <EntryPoint> dat niet nul is."
@@ -3405,24 +3417,24 @@ msgstr "Getest door"
msgid "The 'until' time must be after the 'from' time."
msgstr "De 'tot'-tijd moet na de 'van'-tijd zijn."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr "De <LabelText> in een <ContentVersion> in CPL %cpl is leeg"
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
"De <MainPictureActiveArea> is geen veelvoud van 2 of is groter dan een asset."
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr "De ASSETMAP %asset_map_id heeft meer dan één asset met dezelfde ID."
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
@@ -3430,7 +3442,7 @@ msgstr ""
"De Asset ID in een timed text MXF is hetzelfde als de Resource ID of die van "
"de ingesloten XML."
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
@@ -3439,59 +3451,60 @@ msgstr ""
"De CPL %cpl heeft een <AnnotationText> die niet hetzelfde is als zijn "
"<ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "De CPL %cpl heeft een ongeldige namespace %xml_namespace"
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "De CPL %cpl heeft versleutelde content maar is niet ondertekend."
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "De CPL %cpl heeft geen <AnnotationText> tag."
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "De CPL %cpl heeft geen <ContentVersion> tag"
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "De CPL %cpl heeft geen CPL extension metadata tag."
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "De CPL %cpl heeft geen CPL metadata tag."
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "De CPL %cpl heeft geen CPL metadata version number tag."
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr "De CPL %f heeft een ongeldige CPL extension metadata tag (%error)"
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
-msgstr "De DCP heeft een FFOC (first frame of content) van %time in plaats van 1."
+msgstr ""
+"De DCP heeft een FFOC (first frame of content) van %time in plaats van 1."
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-"De DCP heeft een LFOC (last frame of content) van %time in plaats van de reel "
-"duration min één."
+"De DCP heeft een LFOC (last frame of content) van %time in plaats van de "
+"reel duration min één."
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
@@ -3499,32 +3512,32 @@ msgstr ""
"De DCP heeft closed captions, maar niet elke reel heeft hetzelfde aantal "
"closed caption assets."
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
"De DCP heeft versleutelde content, maar niet al zijn assets zijn versleuteld."
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "De DCP heeft geen FFOC (first frame of content) marker."
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "De DCP heeft geen LFOC (last frame of content) marker."
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
"De DCP heeft ondertitels, maar ten minste één reel heeft geen subtitle asset."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
"De DCP is een feature maar heeft geen FFEC (first frame of end credits) "
"marker."
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3550,12 +3563,12 @@ msgstr ""
"De KDM-starttijd is voor (of nabij) het begin van de geldigheidsduur van het "
"ondertekenings-certificaat. Gebruik een latere starttijd voor deze KDM."
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "De PKL %f heeft een ongeldige namespace %xml_namespace"
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
@@ -3564,27 +3577,27 @@ msgstr ""
"De PKL %pkl heeft een <AnnotationText> die niet overeenkomt met de "
"<ContentTitleText> van zijn CPL."
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr "De PKL %pkl heeft versleutelde content, maar is niet ondertekend."
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr "De PKL %pkl_id heeft meer dan één asset met dezelfde ID."
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr "De PKL-hash en CPL-hash van picture asset %f komen niet overeen."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr "De PKL-hash en CPL-hash van sound asset %f komen niet overeen."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
@@ -3592,7 +3605,7 @@ msgstr ""
"De Resource ID in een timed text MXF is niet hetzelfde als de ID van de "
"ingesloten XML."
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
@@ -3600,62 +3613,66 @@ msgstr ""
"De SMPTE subtitle asset %asset_id heeft <Text> nodes maar geen <LoadFont> "
"node"
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "De XML in %f is onjuist (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "De XML in %f is onjuist op regel %l (%error)."
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-"De XML in de closed caption asset %f neemt %size_in_bytes bytes in beslag, wat de limiet "
-"van 256 KB overschrijdt."
+"De XML in de closed caption asset %f neemt %size_in_bytes bytes in beslag, "
+"wat de limiet van 256 KB overschrijdt."
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-"De XML in de subtitle asset %asset_id heeft meer dan één namespace declaratie."
-
-#: src/wx/verify_dcp_result_panel.cc:336
-#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr "De asset %f is 3D, maar zijn MXF is gemarkeerd als 2D."
-
-#: src/wx/verify_dcp_result_panel.cc:295
-#, c-format
-msgid "The asset %f is missing."
-msgstr "De asset %f ontbreekt."
+"De XML in de subtitle asset %asset_id heeft meer dan één namespace "
+"declaratie."
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-"De asset %asset_id heeft een duration van minder dan 1 seconde, wat ongeldig is."
+"De asset %asset_id heeft een duration van minder dan 1 seconde, wat ongeldig "
+"is."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-"De asset %asset_id heeft een intrinsic duration van minder dan 1 seconde, wat "
-"ongeldig is."
+"De asset %asset_id heeft een intrinsic duration van minder dan 1 seconde, "
+"wat ongeldig is."
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "De asset %asset_id heeft geen <Hash> in de CPL."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr "De asset %f is 3D, maar zijn MXF is gemarkeerd als 2D."
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "De asset %f ontbreekt."
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
@@ -3664,7 +3681,7 @@ msgstr ""
"De asset met ID %asset_id in de asset map heeft in werkelijkheid een ID "
"%other_asset_id"
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr "De closed caption asset %asset_id heeft geen <EntryPoint> tag."
@@ -3708,32 +3725,32 @@ msgstr ""
"Het bestand %s bestaat al. Wilt u het als uw nieuwe configuratie gebruiken "
"of wilt u het met uw huidige configuratie overschrijven?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
"De eerste ondertitel of closed caption vindt plaats vóór 4 seconden in de "
"eerste reel."
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-"Het font-bestand voor font ID \"%load_font_id\" is niet gevonden of er wordt niet aan "
-"gerefereerd in de ASSETMAP."
+"Het font-bestand voor font ID \"%load_font_id\" is niet gevonden of er wordt "
+"niet aan gerefereerd in de ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-"De fonts in de timed text asset %f nemen %size_in_bytes bytes in beslag, wat de limiet "
-"van 10 MB overschrijdt."
+"De fonts in de timed text asset %f nemen %size_in_bytes bytes in beslag, wat "
+"de limiet van 10 MB overschrijdt."
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3743,7 +3760,7 @@ msgstr ""
"in het PKL-bestand (%reference_hash). Dit betekent waarschijnlijk dat het "
"asset-bestand beschadigd is."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3753,7 +3770,7 @@ msgstr ""
"in het PKL-bestand (%reference_hash). Dit betekent waarschijnlijk dat het "
"asset-bestand beschadigd is."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
@@ -3763,8 +3780,7 @@ msgstr ""
"die van het CPL-bestand (%calculated_hash). Dit betekent waarschijnlijk dat "
"het CPL-bestand beschadigd is."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "De ongeldige language tag %language wordt gebruikt."
@@ -3773,7 +3789,7 @@ msgstr "De ongeldige language tag %language wordt gebruikt."
msgid "The language that the film's title (\"%s\") is in"
msgstr "De taal van de filmtitel (\"%s\")"
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
@@ -3781,21 +3797,21 @@ msgstr ""
"De video in een reel heeft een frame rate van %frame_rate, wat niet geldig "
"is."
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-"De reel duration (%other_duration) van sommige timed text is niet hetzelfde als de "
-"ContainerDuration (%duration) van zijn MXF."
+"De reel duration (%other_duration) van sommige timed text is niet hetzelfde "
+"als de ContainerDuration (%duration) van zijn MXF."
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "De sound asset %f heeft een ongeldige bit depth van %bit_depth."
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "De sound asset %f heeft een ongeldige frame rate van %frame_rate."
@@ -3808,40 +3824,41 @@ msgstr ""
"Welke standaard de DCP moet gebruiken. Interop is ouder en SMPTE is de "
"nieuwere (huidige) standaard. Kies bij twijfel voor 'SMPTE'."
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "De subtitle asset %asset_id bevat geen ondertitels."
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "De subtitle asset %asset_id heeft geen <EntryPoint> tag."
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "De subtitle asset %f bevat geen <Language> tag."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "De subtitle asset %f bevat geen <StartTime> tag."
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr "De subtitle asset %f heeft een <StartTime> die niet nul is."
-#: src/wx/verify_dcp_result_panel.cc:643
-#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "De subtitle asset %asset_id bevat geen ondertitels."
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "De subtitle asset %asset_id heeft geen <EntryPoint> tag."
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-"De timed text asset %f neemt %size_in_bytes bytes in beslag, wat de limiet van 115 MB "
-"overschrijdt."
+"De timed text asset %f neemt %size_in_bytes bytes in beslag, wat de limiet "
+"van 115 MB overschrijdt."
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
@@ -3850,37 +3867,37 @@ msgstr ""
"De video asset %f gebruikt de frame rate %frame_rate, wat ongeldig is voor "
"4K video."
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr "De video asset %f heeft een ongeldige frame rate van %frame_rate."
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr "De video asset %f gebruikt de ongeldige beeldgrootte %size_in_pixels."
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr "De video asset is 4K, wat ongeldig is voor 3D-video."
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "Er zijn meer dan drie closed caption regels op ten minste één plaats."
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "Er zijn meer dan drie ondertitel-regels op ten minste één plaats."
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr "Er zitten meer dan 32 tekens in ten minste één closed caption regel."
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "Er zitten meer dan 52 tekens in ten minste één ondertitel-regel."
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr "Er zitten meer dan 79 tekens in ten minste één ondertitel-regel."
@@ -3892,11 +3909,11 @@ msgstr "Er zijn nog geen hints: projectcontrole is bezig."
msgid "There are no hints: everything looks good!"
msgstr "Er zijn geen hints, alles ziet er goed uit!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr "Er staat een <Duration> tag binnen een <MainMarkers>."
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr "Er staat een <EntryPoint> tag binnen een <MainMarkers>."
@@ -3921,16 +3938,16 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Deze CPL bevat geen versleutelde assets."
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"Deze DCP refereert aan de asset %asset_id in een andere DCP (en misschien andere), "
-"dus het is een \"Version File\" (VF)"
+"Deze DCP refereert aan de asset %asset_id in een andere DCP (en misschien "
+"andere), dus het is een \"Version File\" (VF)"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
"Deze DCP gebruikt de Interop-standaard, maar moet met SMPTE worden gemaakt."
@@ -4336,7 +4353,7 @@ msgstr "Geldig tot"
msgid "Vendor"
msgstr "Vendor"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr "Verificatierapport"
diff --git a/src/wx/po/pl_PL.po b/src/wx/po/pl_PL.po
index 127068d77..e4106671f 100644
--- a/src/wx/po/pl_PL.po
+++ b/src/wx/po/pl_PL.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2022-05-10 18:14+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -237,12 +237,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -267,80 +267,94 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-"Klatka obrazu 2K JPEG2000 zawiera %tile_parts informacji o kolorze zamiast wymaganych "
-"3."
+"Klatka obrazu 2K JPEG2000 zawiera %tile_parts informacji o kolorze zamiast "
+"wymaganych 3."
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, fuzzy, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
-msgstr "Klatka obrazu JPEG2000 zawiera nieprawidłowy znacznik POC (%capabilities)."
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
+msgstr ""
+"Klatka obrazu JPEG2000 zawiera nieprawidłowy znacznik POC (%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "Klatka obrazu 2K JPEG2000 zawiera %poc_markers znacznik(ów) POC zamiast 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgstr ""
+"Klatka obrazu 2K JPEG2000 zawiera %guard_bits bitów ochronnych (guard bits) "
+"zamiast 1."
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-"Klatka obrazu 2K JPEG2000 zawiera %guard_bits bitów ochronnych (guard bits) zamiast 1."
+"Klatka obrazu 2K JPEG2000 zawiera %poc_markers znacznik(ów) POC zamiast 0."
# Shouldn't be here 4K JPEG2000 frame?
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-"Klatka obrazu 4K JPEG2000 zawiera %tile_parts informacji o kolorze zamiast wymaganych "
-"6."
+"Klatka obrazu 4K JPEG2000 zawiera %tile_parts informacji o kolorze zamiast "
+"wymaganych 6."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, fuzzy, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
-msgstr "Klatka obrazu JPEG2000 zawiera nieprawidłowy znacznik POC (%capabilities)."
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
+msgstr ""
+"Klatka obrazu JPEG2000 zawiera nieprawidłowy znacznik POC (%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "Klatka obrazu 4K JPEG2000 zawiera %poc_markers znacznik(ów) POC zamiast 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgstr ""
+"Klatka obrazu 4K JPEG2000 zawiera %guard_bits bitów ochronnych (guard bits) "
+"zamiast 2."
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-"Klatka obrazu 4K JPEG2000 zawiera %guard_bits bitów ochronnych (guard bits) zamiast 2."
+"Klatka obrazu 4K JPEG2000 zawiera %poc_markers znacznik(ów) POC zamiast 1."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
#, fuzzy
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "Znacznik POC w klatce obrazu JPEG2000 jest na złej pozycji."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "Klatka obrazu JPEG2000 zawiera nieprawidłowy znacznik POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-"Wysokość bloku w klatce obrazu JPEG2000 wynosi %code_block_height zamiast wymaganych 32."
+"Wysokość bloku w klatce obrazu JPEG2000 wynosi %code_block_height zamiast "
+"wymaganych 32."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-"Szerokość bloku w klatce obrazu JPEG2000 wynosi %code_block_width zamiast wymaganych 32."
+"Szerokość bloku w klatce obrazu JPEG2000 wynosi %code_block_width zamiast "
+"wymaganych 32."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "Klatka obrazu JPEG2000 nie ma znacznika TLM."
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
"Wielkość bloku informacyjnego klatki obrazu JPEG2000 nie równa się wielkości "
@@ -351,7 +365,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr "Nowa wersja DCP-o-matic jest dostępna."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, fuzzy, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "Klatka obrazu ma nieprawidłowy strumień kodowy JPEG2000 (%error)"
@@ -361,11 +375,11 @@ msgstr "Klatka obrazu ma nieprawidłowy strumień kodowy JPEG2000 (%error)"
msgid "A problem occurred when looking for hints (%s)"
msgstr "Wystąpił problem w trakcie szukania wskazówek (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "Napis trwa dłużej niż długość rolki, na której się znajduje."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -578,11 +592,11 @@ msgstr "Alfa 0"
msgid "Also supported by"
msgstr "Program wsparli także"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "Materiał ma pustą ścieżkę w pliku ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -632,27 +646,27 @@ msgstr ""
"Jesteś pewien, że chcesz wysłać emaile pod te adresy?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
"Co najmniej jeden węzeł <Text> w pliku z napisami lub napisami kodowanymi "
"jest pusty."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr "Co najmniej jeden materiał w rolce ma inną długość od pozostałych."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr "Co najmniej jedną parę napisów dzieli mniej niż 2 klatki obrazu."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
#, fuzzy
msgid "At least one subtitle has zero or negative duration."
msgstr "Co najmniej jeden napis trwa krócej niż 15 klatek obrazu."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "Co najmniej jeden napis trwa krócej niż 15 klatek obrazu."
@@ -890,7 +904,7 @@ msgstr "Plik bazy Kin i Sal"
msgid "Click the button to set all selected content to the same value."
msgstr "Kliknij, by ustawić zaznaczone pliki do tej samej wartości."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr "Plik z napisami %asset_id zawiera niezerowy <EntryPoint>."
@@ -1038,7 +1052,7 @@ msgstr "Nie udało się załadować certyfikatu (%s)"
msgid "Could not play content"
msgstr "Nie udało się załadować KDM"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Nie udało się odczytać DCP: %s"
@@ -1602,7 +1616,7 @@ msgstr "Wstaw znaczniki wideo automatycznie"
msgid "Format"
msgstr "Format"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1610,7 +1624,7 @@ msgid ""
msgstr ""
"Co najmniej jedna klatka materiału video %f ma bitrate bliski 250MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1618,7 +1632,7 @@ msgid ""
msgstr ""
"Co najmniej jedna klatka materiału video %f ma bitrate bliski 250MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2248,7 +2262,7 @@ msgstr "Metadane..."
msgid "Mix audio down to stereo"
msgstr "Zmiksuj audio do stereo"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
#, fuzzy
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
@@ -2256,70 +2270,70 @@ msgstr ""
"Klatka obrazu 2K JPEG2000 zawiera %n informacji o kolorze zamiast wymaganych "
"3."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
#, fuzzy
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr "Klatka obrazu JPEG2000 zawiera nieprawidłowy znacznik POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
#, fuzzy
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr "Klatka obrazu JPEG2000 zawiera nieprawidłowy znacznik POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
#, fuzzy
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr "Znacznik POC w klatce obrazu JPEG2000 jest na złej pozycji."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr "Klatka obrazu JPEG2000 zawiera nieprawidłowy znacznik POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr "Klatka obrazu JPEG2000 zawiera nieprawidłowy znacznik POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr "Znacznik POC w klatce obrazu JPEG2000 jest na złej pozycji."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr "Znacznik POC w klatce obrazu JPEG2000 jest na złej pozycji."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
#, fuzzy
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "Klatka obrazu JPEG2000 nie ma znacznika TLM."
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
#, fuzzy
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
"Wielkość bloku informacyjnego klatki obrazu JPEG2000 nie równa się wielkości "
"obrazu."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
@@ -2327,7 +2341,7 @@ msgid ""
msgstr ""
"Co najmniej jedna klatka materiału video %f ma bitrate bliski 250MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
@@ -2335,11 +2349,11 @@ msgid ""
msgstr ""
"Co najmniej jedna klatka materiału video %f ma bitrate bliski 250MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
#, fuzzy
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr "Klatka obrazu ma nieprawidłowy strumień kodowy JPEG2000 (%n)"
@@ -2430,7 +2444,7 @@ msgstr ""
msgid "No"
msgstr "Brak"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "Nie znaleziono ASSETMAP ani pliku ASSETMAP.xml."
@@ -2438,7 +2452,7 @@ msgstr "Nie znaleziono ASSETMAP ani pliku ASSETMAP.xml."
msgid "No DCP loaded."
msgstr "Nie załadowano DCP."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "Nie znaleziono błędów SMPTE Bv2.1."
@@ -2452,11 +2466,11 @@ msgstr ""
msgid "No content found in this folder."
msgstr "W tym folderze nie ma materiałów."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "Nie znaleziono błędów."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "Brak ostrzeżeń."
@@ -2471,7 +2485,7 @@ msgstr "Standard"
msgid "None"
msgstr "Brak"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr "Pliki napisów mają różny znacznik <Language>."
@@ -2601,12 +2615,12 @@ msgstr "Zmień wykrytą liczbę klatek/s"
msgid "Overwrite this file with current configuration"
msgstr "Nadpisz ten plik obecnÄ… konfiguracjÄ…"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
"Część tej paczki DCP nie mogła zostać sprawdzona, bo nie wykryto klucza KDM."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3138,7 +3152,7 @@ msgstr "Wybierz plik z dziennikiem błędów"
msgid "Select output file"
msgstr "Wybierz plik wyjściowy"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Wybierz"
@@ -3311,7 +3325,7 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
@@ -3319,7 +3333,7 @@ msgstr ""
"Niektóre zamknięte znaczniki <Text> lub <Image> mają różne ustawienia pionu "
"wewnÄ…trz znacznika <Subtitle>."
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3330,7 +3344,7 @@ msgstr ""
msgid "Sound"
msgstr "Dźwięk"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3416,7 +3430,7 @@ msgstr "Subskrybenci"
msgid "Subtitle appearance"
msgstr "Wygląd napisów"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "Plik z napisami %asset_id posiada niezerowy znacznik <EntryPoint>."
@@ -3507,23 +3521,23 @@ msgstr "Testerzy"
msgid "The 'until' time must be after the 'from' time."
msgstr "Czas 'do' musi być później niż 'od'."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
@@ -3531,7 +3545,7 @@ msgstr ""
"Identyfikator materiału (Asset) w pliku MXF kodowanych napisów jest taki sam "
"co identyfikator zawartości (Resource) albo wewnątrz XML."
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, fuzzy, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
@@ -3540,60 +3554,61 @@ msgstr ""
"Plik CPL %n posiada znacznik <AnnotationText>, który nie odpowiada "
"znacznikowi <ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, fuzzy, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
-msgstr "Plik z dźwiękiem %f posiada nieprawidłową liczbę klatek: %xml_namespace."
+msgstr ""
+"Plik z dźwiękiem %f posiada nieprawidłową liczbę klatek: %xml_namespace."
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, fuzzy, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "Plik CPL %n posiada zaszyfrowaną zawartość, która nie jest podpisana."
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, fuzzy, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "Plik CPL %n nie ma żadnego znacznika <AnnotationText>."
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, fuzzy, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "Plik CPL %n nie ma żadnego znacznika <AnnotationText>."
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, fuzzy, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "Plik CPL %n nie ma żadnego tagu rozszerzenia metadanych CPL."
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, fuzzy, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "Plik CPL %n nie ma tagu metadanych CPL."
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, fuzzy, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "Plik CPL %n nie ma tagu numeru wersji metadanych CPL."
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr "Plik CPL %f ma nieprawidłowy tag rozszerzenia metadanych CPL (%error)"
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
"DCP ma %time znaczników pierwszej klatki materiału (FFOC) zamiast jednego."
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
"DCP ma %time znaczników ostatniej klatki materiału (LFOC) zamiast długości "
"rolki minus jeden."
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
@@ -3601,32 +3616,32 @@ msgstr ""
"DCP posiada napisy kodowane, ale nie każda rolka ma tyle samo materiałów z "
"napisami."
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
"DCP posiada zaszyfrowaną zawartość, ale nie wszystkie materiały w paczce są "
"zaszyfrowane."
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "DCP nie ma znacznika FFOC (Pierwsza klatka materiału)."
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "DCP nie ma znacznika LFOC (Ostatnia klatka materiału)."
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr "DCP posiada napisy, ale przynajmniej jedna rolka nie ma napisów."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
"Paczka DCP jest oznaczona jako pełen metraż, ale nie posiada znacznika FFEC "
"(Pierwsza klatka napisów końcowych)."
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3652,41 +3667,43 @@ msgstr ""
"Okres ważności klucza KDM zaczyna się przed (lub blisko) początku okresu "
"ważności certyfikatów. Ustaw późniejszą datę ważności tego klucza."
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, fuzzy, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
-msgstr "Plik z dźwiękiem %f posiada nieprawidłową liczbę klatek: %xml_namespace."
+msgstr ""
+"Plik z dźwiękiem %f posiada nieprawidłową liczbę klatek: %xml_namespace."
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-"Plik PKL %pkl zawiera znacznik <AnnotationText>, który nie odpowiada wartości "
-"znacznika <ContentTitleText> w pliku CPL."
+"Plik PKL %pkl zawiera znacznik <AnnotationText>, który nie odpowiada "
+"wartości znacznika <ContentTitleText> w pliku CPL."
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr "Plik PKL %pkl posiada zaszyfrowaną zawartość, ale nie jest podpisany."
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, fuzzy, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
-msgstr "Plik PKL %pkl_id posiada zaszyfrowaną zawartość, ale nie jest podpisany."
+msgstr ""
+"Plik PKL %pkl_id posiada zaszyfrowaną zawartość, ale nie jest podpisany."
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr "Hasze plików PKL i CPL nie są zgodne dla materiału wideo %f."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr "Hasze plików PKL i CPL nie są zgodne dla materiału audio %f."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
@@ -3694,75 +3711,79 @@ msgstr ""
"Identyfikator zawartości w pliku MXF kodowanych napisów nie jest zgodny z "
"identyfikatorem zawartym w pliku XML."
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "Plik XML w %f zawiera błędy (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "Plik XML w %f zawiera błędy w linii %l (%error)."
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-"Plik XML z napisami kodowanymi %f zawiera %size_in_bytes bajtów i przekracza limit 256KB."
+"Plik XML z napisami kodowanymi %f zawiera %size_in_bytes bajtów i przekracza "
+"limit 256KB."
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
-#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr "Zawartość %f jest w formacie 3D, ale plik MXF jest oznaczony jako 2D."
-
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is missing."
-msgstr "Nie mogę znaleźć zawartości %f."
-
-#: src/wx/verify_dcp_result_panel.cc:316
-#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr "Zawartość %asset_id trwa krócej niż 1 sekunda, co jest nieprawidłowe."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
"Rzeczywista długość materiału %asset_id jest krótsza od 1 sekundy, co jest "
"nieprawidłowe."
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "Zawartość %asset_id nie ma znacznika <Hash> w pliku CPL."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr "Zawartość %f jest w formacie 3D, ale plik MXF jest oznaczony jako 2D."
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "Nie mogę znaleźć zawartości %f."
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
-msgstr "Materiał z napisami kodowanymi %asset_id nie ma znacznika <EntryPoint>."
+msgstr ""
+"Materiał z napisami kodowanymi %asset_id nie ma znacznika <EntryPoint>."
#: src/wx/film_name_location_dialog.cc:146
#, fuzzy, c-format
@@ -3802,30 +3823,30 @@ msgstr ""
"Plik %s już istnieje. Chcesz użyć go jako nowej konfiguracji lub nadpisać "
"nim obecne ustawienia?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
"Pierwszy napis lub napis kodowany pojawia siÄ™ w 4 poczÄ…tkowych sekundach "
"pierwszej rolki."
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-"Czcionki w materiale %f z napisami kodowanymi zabierają %size_in_bytes bajtów, co "
-"przekracza limit 10MB."
+"Czcionki w materiale %f z napisami kodowanymi zabierajÄ… %size_in_bytes "
+"bajtów, co przekracza limit 10MB."
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
@@ -3835,7 +3856,7 @@ msgstr ""
"Hasz materiału wideo %f nie zgadza się z haszem zawartym w pliku PKL. To "
"prawdopodobnie oznacza, że plik jest uszkodzony."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
@@ -3845,7 +3866,7 @@ msgstr ""
"Hasz materiału audio %f nie zgadza się z haszem zawartym w pliku PKL. To "
"prawdopodobnie oznacza, że plik jest uszkodzony."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
#, fuzzy
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
@@ -3855,8 +3876,7 @@ msgstr ""
"Hasz pliku CPL %n w pliku PKL nie zgadza siÄ™ z haszem pliku CPL. To "
"prawdopodobnie oznacza, że plik CPL jest uszkodzony."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "Użyto nieprawidłowego oznaczenia języka %language."
@@ -3865,28 +3885,28 @@ msgstr "Użyto nieprawidłowego oznaczenia języka %language."
msgid "The language that the film's title (\"%s\") is in"
msgstr "Język użyty w tytule filmu (\"%s\") znajduje się w"
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
"Obraz w rolce posiada liczbę klatek/s: %frame_rate, która jest nieprawidłowa."
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-"Długość rolki (%other_duration) zawarta w niektórych napisach jest inna od długości "
-"materiału (%duration) pliku MXF."
+"Długość rolki (%other_duration) zawarta w niektórych napisach jest inna od "
+"długości materiału (%duration) pliku MXF."
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, fuzzy, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "Plik z dźwiękiem %f posiada nieprawidłową liczbę klatek: %bit_depth."
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "Plik z dźwiękiem %f posiada nieprawidłową liczbę klatek: %frame_rate."
@@ -3897,38 +3917,40 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, fuzzy, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "Plik z napisami %f nie zawiera znacznika <StartTime>."
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "Plik z napisami %asset_id nie ma znacznika <EntryPoint>."
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "Plik z napisami %f nie zawiera znacznika <Language>."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "Plik z napisami %f nie zawiera znacznika <StartTime>."
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr "Plik z napisami %f zawiera znacznik <StartTime> z niezerową wartością."
-#: src/wx/verify_dcp_result_panel.cc:643
-#, fuzzy, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "Plik z napisami %f nie zawiera znacznika <StartTime>."
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "Plik z napisami %asset_id nie ma znacznika <EntryPoint>."
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
-msgstr "Plik z napisami %f zajmuje %size_in_bytes bajtów, co przekracza limit 115MB."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
+msgstr ""
+"Plik z napisami %f zajmuje %size_in_bytes bajtów, co przekracza limit 115MB."
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
@@ -3937,40 +3959,40 @@ msgstr ""
"Liczba klatek/s materiału wideo %f wynosi %frame_rate, co jest nieprawidłowe "
"dla formatu 4K."
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr "Materiał wideo %f ma nieprawidłową liczbę klatek/s: %frame_rate."
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr "Materiał wideo %f ma nieprawidłową rozdzielczość: %size_in_pixels."
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
#, fuzzy
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
"Liczba klatek/s materiału wideo %f wynosi %frame_rate, co jest nieprawidłowe "
"dla formatu 3D."
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "W jednym momencie wyświetlają się ponad 3 linie podpisów."
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "W jednym momencie wyświetlają się ponad 3 linie napisów."
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr "Co najmniej jedna linia podpisów zawiera ponad 32 znaki."
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "Co najmniej jedna linia napisów zawiera ponad 52 znaki."
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr "Co najmniej jedna linia napisów zawiera ponad 79 znaków."
@@ -3982,11 +4004,11 @@ msgstr "Brak wskazówek: sprawdzanie Projektu w toku."
msgid "There are no hints: everything looks good!"
msgstr "Brak wskazówek: wszystko wygląda świetnie!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -4011,16 +4033,16 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Plik CPL nie zawiera zaszyfrowanych materiałów."
-#: src/wx/verify_dcp_result_panel.cc:333
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:348
+#, fuzzy, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"To DCP odnosi się do materiału %asset_id z innej paczki DCP (albo wielu paczek), "
-"dlatego powinno być oznaczone jako \"version file\" (VF)"
+"To DCP odnosi się do materiału %asset_id z innej paczki DCP (albo wielu "
+"paczek), dlatego powinno być oznaczone jako \"version file\" (VF)"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
"Ta paczka DCP korzysta ze standardu Interop, ale powinna być przygotowana "
@@ -4425,7 +4447,7 @@ msgstr ""
msgid "Vendor"
msgstr "Sprzedawca"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "Weryfikacja DCP"
diff --git a/src/wx/po/pt_BR.po b/src/wx/po/pt_BR.po
index 0f0ee6297..c33ef79af 100644
--- a/src/wx/po/pt_BR.po
+++ b/src/wx/po/pt_BR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2018-01-15 18:18-0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -236,12 +236,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -266,70 +266,76 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -338,7 +344,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr "Há uma nova versão de DCP-o-matic disponível."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr ""
@@ -348,11 +354,11 @@ msgstr ""
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -573,11 +579,11 @@ msgstr "Alpha 0"
msgid "Also supported by"
msgstr "Apoiado por"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -627,24 +633,24 @@ msgstr ""
"Tem certeza que deseja enviar e-mails para os seguintes endereços?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -884,7 +890,7 @@ msgid "Click the button to set all selected content to the same value."
msgstr ""
"Clique no botão para aplicar a todos os vídeos selecionados o mesmo valor."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -1038,7 +1044,7 @@ msgstr "Não foi possível importar o certificado (%s)"
msgid "Could not play content"
msgstr "Não foi possível carregar o KDM."
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Não foi possível carregar o KDM."
@@ -1609,21 +1615,21 @@ msgstr ""
msgid "Format"
msgstr "Formato"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2238,80 +2244,80 @@ msgstr ""
msgid "Mix audio down to stereo"
msgstr "Mixar áudio para stereo 2.0"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2401,7 +2407,7 @@ msgstr ""
msgid "No"
msgstr "Nenhum"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2409,7 +2415,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr "Nenhum DCP carregado."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2422,11 +2428,11 @@ msgstr "Nenhum áudio será passado do canal %d do vídeo para o canal %d do DCP
msgid "No content found in this folder."
msgstr "Nenhum conteúdo encontrado nesta pasta."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2441,7 +2447,7 @@ msgstr "Padrão"
msgid "None"
msgstr "Nenhum"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2579,11 +2585,11 @@ msgstr "Taxa de quadros do vídeo"
msgid "Overwrite this file with current configuration"
msgstr "Sobrescrever este arquivo com a configuração atual"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3123,7 +3129,7 @@ msgstr "Selecionar arquivo de saída"
msgid "Select output file"
msgstr "Selecionar arquivo de saída"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Selecionar OV"
@@ -3299,13 +3305,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3314,7 +3320,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3403,7 +3409,7 @@ msgstr ""
msgid "Subtitle appearance"
msgstr "Aparência da legenda"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3500,113 +3506,113 @@ msgstr "Testado por"
msgid "The 'until' time must be after the 'from' time."
msgstr "O tempo 'Até' deve vir depois do tempo 'De'."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3625,107 +3631,109 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3763,48 +3771,47 @@ msgstr ""
"O arquivo %s já existe. Você deseja utilizá-lo como sua configuração, ou "
"deseja sobrescrevê-lo com suas configurações atuais?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3813,25 +3820,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3842,75 +3849,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3923,11 +3931,11 @@ msgstr "Não há dicas: tudo parece perfeito!"
msgid "There are no hints: everything looks good!"
msgstr "Não há dicas: tudo parece perfeito!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3951,14 +3959,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "O conteúdo do CPL não está encriptado."
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4348,7 +4356,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "Fazer cadeia de certificado"
diff --git a/src/wx/po/pt_PT.po b/src/wx/po/pt_PT.po
index 1f7f6f730..a1f543c77 100644
--- a/src/wx/po/pt_PT.po
+++ b/src/wx/po/pt_PT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic PORTUGUESE (Portugal)\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2016-03-19 13:56+0000\n"
"Last-Translator: Tiago Casal Ribeiro <tiago@casalribeiro.com>\n"
"Language-Team: \n"
@@ -236,12 +236,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -264,70 +264,76 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -336,7 +342,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr "Nova versão do DCP-o-matic disponível."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr ""
@@ -346,11 +352,11 @@ msgstr ""
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -571,11 +577,11 @@ msgstr "Alfa O"
msgid "Also supported by"
msgstr "Apoiado por "
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -623,24 +629,24 @@ msgid ""
"\n"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -880,7 +886,7 @@ msgid "Click the button to set all selected content to the same value."
msgstr ""
"Clique no botão para definir o mesmo valor para todo o conteúdo seleccionado."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -1034,7 +1040,7 @@ msgstr "Não foi possível ler o ficheiro do certificado (%s)"
msgid "Could not play content"
msgstr "Não foi possível carregar a KDM (%s)"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Não foi possível carregar a KDM (%s)"
@@ -1612,21 +1618,21 @@ msgstr ""
msgid "Format"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2233,80 +2239,80 @@ msgstr ""
msgid "Mix audio down to stereo"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2404,7 +2410,7 @@ msgstr ""
msgid "No"
msgstr "Nenhum"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2413,7 +2419,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr "Nenhum DCP seleccionado."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2426,11 +2432,11 @@ msgstr "Não será passado audio do canal de conteúdo %d para o canal DCP %d."
msgid "No content found in this folder."
msgstr "Não foi encontrado conteúdo nesta pasta."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2445,7 +2451,7 @@ msgstr "Norma"
msgid "None"
msgstr "Nenhum"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2583,11 +2589,11 @@ msgstr "Cadência de fotogramas de vídeo"
msgid "Overwrite this file with current configuration"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3136,7 +3142,7 @@ msgstr "Seleccionar Ficheiro do Certificado"
msgid "Select output file"
msgstr "Seleccionar Ficheiro do Certificado"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Seleccionar KDM"
@@ -3315,13 +3321,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3330,7 +3336,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3419,7 +3425,7 @@ msgstr ""
msgid "Subtitle appearance"
msgstr "Aparência da legenda"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3514,113 +3520,113 @@ msgstr "Testado por"
msgid "The 'until' time must be after the 'from' time."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3639,107 +3645,109 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3774,48 +3782,47 @@ msgid ""
"or overwrite it with your current configuration?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3824,25 +3831,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3853,75 +3860,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3934,11 +3942,11 @@ msgstr "Não há sugestões: Tudo parece bem!"
msgid "There are no hints: everything looks good!"
msgstr "Não há sugestões: Tudo parece bem!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3961,14 +3969,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4355,7 +4363,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "Criar cadeia de certificados"
diff --git a/src/wx/po/ru_RU.po b/src/wx/po/ru_RU.po
index dc5c0c121..43fb8e942 100644
--- a/src/wx/po/ru_RU.po
+++ b/src/wx/po/ru_RU.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2025-06-08 21:02+0300\n"
"Last-Translator: Mikhail Epshteyn <virus-2006@yandex.ru>\n"
"Language-Team: Russian\n"
@@ -234,12 +234,12 @@ msgstr "96kHz"
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr "<IssueDate> имеет недопуÑтимое значение %issue_date"
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr "<MainSoundConfiguration> недопуÑтима (%error)"
@@ -264,72 +264,80 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr "Кадр 2K JPEG2000 Ñодержит %tile_parts чаÑти(ей) тайла вмеÑто 3."
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-"Кадр 2K JPEG2000 Ñодержит недопуÑтимое значение Rsiz (возможноÑти), равное %capabilities"
+"Кадр 2K JPEG2000 Ñодержит недопуÑтимое значение Rsiz (возможноÑти), равное "
+"%capabilities"
-#: src/wx/verify_dcp_result_panel.cc:527
-#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "Кадр 2K JPEG2000 Ñодержит %poc_markers маркера(ов) POC вмеÑто 0."
-
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr "Кадр 2K JPEG2000 Ñодержит %guard_bits защитных разрÑда(ов) вмеÑто 1."
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:542
+#, c-format
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr "Кадр 2K JPEG2000 Ñодержит %poc_markers маркера(ов) POC вмеÑто 0."
+
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr "Кадр 4K JPEG2000 Ñодержит %tile_parts чаÑти(ей) тайла вмеÑто 6."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-"Кадр 4K JPEG2000 Ñодержит недопуÑтимое значение Rsiz (возможноÑти), равное %capabilities"
-
-#: src/wx/verify_dcp_result_panel.cc:534
-#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "Кадр 4K JPEG2000 Ñодержит %poc_markers маркера(ов) POC вмеÑто 1."
+"Кадр 4K JPEG2000 Ñодержит недопуÑтимое значение Rsiz (возможноÑти), равное "
+"%capabilities"
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr "Кадр 4K JPEG2000 Ñодержит %guard_bits защитных разрÑда(ов) вмеÑто 2."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:549
+#, c-format
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr "Кадр 4K JPEG2000 Ñодержит %poc_markers маркера(ов) POC вмеÑто 1."
+
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "Кадр JPEG2000 Ñодержит маркер POC в некорректном меÑте."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "Кадр JPEG2000 Ñодержит некорректный маркер POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr "Кадр JPEG2000 имеет выÑоту кода блока %code_block_height вмеÑто 32."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr "Кадр JPEG2000 имеет ширину кода блока %code_block_width вмеÑто 32."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "Кадр JPEG2000 не Ñодержит маркер TLM."
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr "Размер тайла JPEG2000 не ÑоответÑтвует размеру изображениÑ."
@@ -338,7 +346,7 @@ msgstr "Размер тайла JPEG2000 не ÑоответÑтвует разÐ
msgid "A new version of %s is available."
msgstr "ДоÑтупна Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ %s."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "Кадр Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñодержит некорректный поток кода JPEG2000 (%error)"
@@ -348,11 +356,11 @@ msgstr "Кадр Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñодержит некорректныÐ
msgid "A problem occurred when looking for hints (%s)"
msgstr "Произошла ошибка при поиÑке подÑказок (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "Субтитр длитÑÑ Ð´Ð¾Ð»ÑŒÑˆÐµ, чем продолжительноÑть Ñтой чаÑти фильма."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -563,11 +571,11 @@ msgstr "Ðльфа 0"
msgid "Also supported by"
msgstr "Также поддерживали"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "РеÑÑƒÑ€Ñ Ñодержит пуÑтой путь в ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr "Было иÑпользовано недопуÑтимое значение <Content Kind> %content_kind."
@@ -616,25 +624,25 @@ msgstr ""
"Ð’Ñ‹ точно хотите отправить Ñлектронные пиÑьма на Ñти адреÑа?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr "ИмеетÑÑ Ð¿ÑƒÑтой узел <Text> в Ñубтитрах."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
"Ð’ чаÑти фильма имеетÑÑ Ñ€ÐµÑурÑ, длительноÑть которого отлична от оÑтальных."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr "ИмеетÑÑ Ð¿Ð°Ñ€Ð° Ñубтитров, отделённых менее, чем Ð´Ð²ÑƒÐ¼Ñ ÐºÐ°Ð´Ñ€Ð°Ð¼Ð¸."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr "ИмеетÑÑ Ñубтитр, длительноÑть которого Ð½ÑƒÐ»ÐµÐ²Ð°Ñ Ð¸Ð»Ð¸ отрицательнаÑ."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "ИмеетÑÑ Ñубтитр, длительноÑть которого менее 15 кадров."
@@ -862,10 +870,11 @@ msgstr ""
"Ðажмите кнопку, чтобы применить одинаковые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ¾ вÑему выделенному "
"контенту."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
-msgstr "РеÑурÑов Ñкрытых Ñубтитров %asset_id Ñодержит ненулевой тег <EntryPoint>."
+msgstr ""
+"РеÑурÑов Ñкрытых Ñубтитров %asset_id Ñодержит ненулевой тег <EntryPoint>."
#: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115
msgid "Closed captions"
@@ -1008,7 +1017,7 @@ msgstr "Ðе удалоÑÑŒ загрузить Ñертификат (%s)."
msgid "Could not play content"
msgstr "Ðе удалоÑÑŒ воÑпроизвеÑти Ñодержимое"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr "Ðе удалоÑÑŒ прочитать DCP (%error)"
@@ -1559,7 +1568,7 @@ msgstr "ДобавлÑть метки отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ (FMID) в видÐ
msgid "Format"
msgstr "Формат"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1568,7 +1577,7 @@ msgstr ""
"Кадр %frame (временной код %timecode) в реÑурÑе %f имеет мгновенный битрейт, "
"близкий к пределу в 250 Мбит/Ñ."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1577,7 +1586,7 @@ msgstr ""
"Кадр %frame (временной код %timecode) в реÑурÑе %f имеет мгновенный битрейт, "
"превышающий 250 Мбит/Ñ."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2199,90 +2208,90 @@ msgstr "Метаданные..."
msgid "Mix audio down to stereo"
msgstr "Микшировать аудио в Ñтерео"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"Другие кадры формата 2K JPEG2000 (не указанные в ÑпиÑке) Ñодержат "
"неправильное количеÑтво фрагментов фрагмента."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"Другие кадры формата 2K JPEG2000 (не указанные в ÑпиÑке) Ñодержат "
"недопуÑтимое количеÑтво защитных битов."
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
"Ðа большем количеÑтве кадров формата 2K JPEG2000 (не перечиÑленных в ÑпиÑке) "
"Ñлишком много POC-маркеров."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
"Другие кадры формата 4K JPEG2000 (не указанные в ÑпиÑке) Ñодержат "
"недопуÑтимое количеÑтво защитных битов."
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
"Ðа других кадрах формата 4K JPEG2000 (не перечиÑленных в ÑпиÑке) Ñлишком "
"много POC-маркеров."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
"Другие кадры формата JPEG 2000 (не указанные в ÑпиÑке) Ñодержат маркеры POC "
"в недопуÑтимых меÑтах."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
"Другие кадры JPEG2000 (не указанные в ÑпиÑке) Ñодержат недопуÑтимые маркеры "
"POC."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
"Другие кадры JPEG2000 (не указанные в ÑпиÑке) Ñодержат недопуÑтимые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ "
"Rsiz."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
"Другие кадры формата JPEG 2000 (не указанные в ÑпиÑке) Ñодержат неправильное "
"количеÑтво фрагментов фрагмента."
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
"Ð”Ð»Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ³Ð¾ количеÑтва кадров формата JPEG 2000 (не перечиÑленных в ÑпиÑке) "
"указана недопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð²Ñ‹Ñота кодового блока."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
"Другие кадры формата JPEG 2000 (не указанные в ÑпиÑке) имеют недопуÑтимую "
"ширину кодового блока."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
"Ðа других кадрах формата JPEG 2000 (не перечиÑленных в ÑпиÑке) маркер TLM "
"отÑутÑтвует."
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
"Другие размеры фрагментов JPEG2000 (не указанные в ÑпиÑке) не ÑоответÑтвуют "
"размеру изображениÑ."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
@@ -2290,7 +2299,7 @@ msgstr ""
"У большего количеÑтва кадров (не перечиÑленных в ÑпиÑке) Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð°Ñ ÑкороÑть "
"передачи данных близка к пределу в 250 Мбит/Ñ."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
@@ -2298,13 +2307,13 @@ msgstr ""
"У большего количеÑтва кадров (не перечиÑленных в ÑпиÑке) Ð¼Ð³Ð½Ð¾Ð²ÐµÐ½Ð½Ð°Ñ ÑкороÑть "
"передачи данных превышает 250 Мбит/Ñ."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
"Ð’ других кадрах (не перечиÑленных в ÑпиÑке) компоненты Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñлишком "
"велики."
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
"Другие рамки Ð´Ð»Ñ Ñ„Ð¾Ñ‚Ð¾Ð³Ñ€Ð°Ñ„Ð¸Ð¹ (не указанные в ÑпиÑке) Ñодержат недопуÑтимые "
@@ -2396,7 +2405,7 @@ msgstr "Следующий"
msgid "No"
msgstr "Ðет"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "Ðет ASSETMAP или не найден файл ASSETMAP.xml."
@@ -2404,7 +2413,7 @@ msgstr "Ðет ASSETMAP или не найден файл ASSETMAP.xml."
msgid "No DCP loaded."
msgstr "Ðет загруженных DCP."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "Ðе найдено ошибок SMPTE Bv2.1."
@@ -2417,11 +2426,11 @@ msgstr "Ðудио не будет перемещено из %s канала '%s
msgid "No content found in this folder."
msgstr "В данной папке не обнаружен контент."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "Ошибок не обнаружено."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "Замечаний не обнаружено."
@@ -2436,7 +2445,7 @@ msgstr "ÐеÑтандартный"
msgid "None"
msgstr "Ðет"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr "Ðе вÑе файлы реÑурÑов Ñубтитров Ñодержат одинаковый тег <Language>."
@@ -2567,11 +2576,11 @@ msgstr "Игнорировать обнаруженную чаÑтоту кадÑ
msgid "Overwrite this file with current configuration"
msgstr "ПерезапиÑать Ñтот файл текущей конфиграцией"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr "ЧаÑть DCP не может быть проверена, поÑкольку отÑутÑтвует ключ KDM."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3087,7 +3096,7 @@ msgstr "Выберите отладочный лог-файл"
msgid "Select output file"
msgstr "Выберите файл вывода"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr "Выбрать..."
@@ -3257,7 +3266,7 @@ msgstr ""
"У некоторых KDM могут быть Ñроки дейÑтвиÑ, которые выходÑÑ‚ за рамки Ñроков "
"дейÑÑ‚Ð²Ð¸Ñ Ñертификата получателÑ. Что вы хотите Ñделать?"
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
@@ -3265,7 +3274,7 @@ msgstr ""
"Ðекоторые закрытые теги <Text> или <Image> имеют различное выравнивание по "
"вертикали внутри <Subtitle>."
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3276,7 +3285,7 @@ msgstr ""
msgid "Sound"
msgstr "Звук"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr "Ðе вÑе звуковые реÑурÑÑ‹ имеют одинаковое количеÑтво каналов."
@@ -3361,7 +3370,7 @@ msgstr "Ðбоненты"
msgid "Subtitle appearance"
msgstr "Внешний вид Ñубтитров"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "РеÑÑƒÑ€Ñ Ñубтитров %asset_id Ñодержит ненулевой тег <EntryPoint>."
@@ -3447,25 +3456,26 @@ msgstr "ТеÑтировщики"
msgid "The 'until' time must be after the 'from' time."
msgstr "Ð’Ñ€ÐµÐ¼Ñ \"до\" должно быть поÑле времени \"от\"."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr "Поле <LabelText> в <ContentVersion> в CPL %cpl пуÑтое"
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
"Параметр <MainPictureActiveArea> либо не кратен 2, либо больше, чем реÑурÑ."
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-"Ð’ ASSETMAP %asset_map_id ÑодержитÑÑ Ð±Ð¾Ð»ÐµÐµ одного реÑурÑа Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ идентификатором."
+"Ð’ ASSETMAP %asset_map_id ÑодержитÑÑ Ð±Ð¾Ð»ÐµÐµ одного реÑурÑа Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ "
+"идентификатором."
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
@@ -3473,7 +3483,7 @@ msgstr ""
"ID реÑурÑа (asset) в файле Ñубтитров MXF Ñовпадает Ñ ID реÑурÑа (resource) "
"или такового в имеющемÑÑ XML."
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
@@ -3482,59 +3492,59 @@ msgstr ""
"CPL %cpl Ñодержит тег <AnnotationText>, который не Ñовпадает Ñ "
"<ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "CPL %cpl Ñодержит недопуÑтимое проÑтранÑтво имен %xml_namespace"
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "CPL %cpl не подпиÑан, но Ñодержит зашифрованный контент."
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "CPL %cpl не Ñодержит тег <AnnotationText>."
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "CPL %cpl не Ñодержит тег <ContentVersion>"
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "CPL %cpl не Ñодержит тег \"CPL extension metadata\"."
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "CPL %cpl не Ñодержит тег метаданных CPL."
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "CPL %cpl не Ñодержит тег верÑии метаданных CPL."
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr "CPL %f Ñодержит некорректный тег \"CPL extension metadata\" (%error)"
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr "DCP имеет маркер FFOC, равный %time вмеÑто 1."
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
"DCP имеет маркер LFOC, равный %time вмеÑто \"продолжительноÑть чаÑти фильма "
"Ð¼Ð¸Ð½ÑƒÑ 1\"."
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
@@ -3542,30 +3552,30 @@ msgstr ""
"DCP Ñодержит Ñкрытые Ñубтитры, но не ÐºÐ°Ð¶Ð´Ð°Ñ Ñ‡Ð°Ñть фильма имеет такое же "
"количеÑтво реÑурÑов Ñубтитров."
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr "DCP Ñодержит зашифрованный контент, но не вÑе данные зашифрованы."
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "DCP не имеет маркера FFOC."
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "DCP не имеет маркера LFOC."
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
"DCP Ñодержит Ñубтитры, но имеетÑÑ Ñ‡Ð°Ñть фильма, в которой нет реÑурÑов "
"Ñубтитров."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr "DCP помечен как FTR (Полнометражный фильм), но не имеет маркера FFEC."
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr "DCP помечен как FTR (Полнометражный фильм), но не имеет маркера FFMC."
@@ -3589,12 +3599,12 @@ msgstr ""
"Ðачало дейÑÑ‚Ð²Ð¸Ñ KDM ранее или близко к началу Ñрока дейÑÑ‚Ð²Ð¸Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñывающих "
"Ñертификатов. ИÑпользуйте более поздний начальный Ñрок Ñтого KDM."
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "Ð’ файле PCL %f указано недопуÑтимое проÑтранÑтво имен %xml_namespace"
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
@@ -3603,27 +3613,28 @@ msgstr ""
"PKL %pkl Ñодержит тег <AnnotationText>, который не ÑоответÑтвует тегу "
"<ContentTitleText> в CPL."
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr "PKL %pkl не подпиÑан, но Ñодержит зашифрованный контент."
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
-msgstr "Ð’ PKL %pkl_id ÑодержитÑÑ Ð±Ð¾Ð»ÐµÐµ одного реÑурÑа Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ идентификатором."
+msgstr ""
+"Ð’ PKL %pkl_id ÑодержитÑÑ Ð±Ð¾Ð»ÐµÐµ одного реÑурÑа Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ идентификатором."
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr "Ð¥Ñши PKL и CPL не ÑоглаÑован Ñ Ñ€ÐµÑурÑом изображений %f."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr "Ð¥Ñши PKL и CPL не ÑоглаÑован Ñ Ñ€ÐµÑурÑом звука %f."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
@@ -3631,66 +3642,70 @@ msgstr ""
"ID реÑурÑа (resource) в файле Ñубтитров MXF не Ñовпадает Ñ ID в имеющемÑÑ "
"XML."
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
"Ð’ реÑурÑе %asset_id Ñубтитров SMPTE еÑть узлы <Text>, но нет узла <LoadFont>"
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "XML в %f Ñодержит ошибку (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "XML в %f Ñодержит ошибку в Ñтроке %l (%error)."
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-"XML в файле реÑурÑов Ñкрытых Ñубтитров %f занимает %size_in_bytes байт, что превышает "
-"лимит 256КБ."
+"XML в файле реÑурÑов Ñкрытых Ñубтитров %f занимает %size_in_bytes байт, что "
+"превышает лимит 256КБ."
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
-msgstr "XML в Ñубтитре %asset_id Ñодержит более одного объÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÑтранÑтва имен."
-
-#: src/wx/verify_dcp_result_panel.cc:336
-#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr "РеÑÑƒÑ€Ñ %f ÑвлÑетÑÑ 3D, но его файл MXF помечен как 2D."
-
-#: src/wx/verify_dcp_result_panel.cc:295
-#, c-format
-msgid "The asset %f is missing."
-msgstr "РеÑÑƒÑ€Ñ %f отÑутÑтвует."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
+msgstr ""
+"XML в Ñубтитре %asset_id Ñодержит более одного объÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÑтранÑтва имен."
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr "ПродолжительноÑть реÑурÑа %asset_id менее 1 Ñекунды, что некорректно."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-"СобÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть реÑурÑа %asset_id менее 1 Ñекунды, что некорректно."
+"СобÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть реÑурÑа %asset_id менее 1 Ñекунды, что "
+"некорректно."
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "РеÑÑƒÑ€Ñ %asset_id не Ñодержит тег <Hash> в CPL."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr "РеÑÑƒÑ€Ñ %f ÑвлÑетÑÑ 3D, но его файл MXF помечен как 2D."
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "РеÑÑƒÑ€Ñ %f отÑутÑтвует."
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
@@ -3699,7 +3714,7 @@ msgstr ""
"РеÑÑƒÑ€Ñ Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ %asset_id в карте реÑурÑов на Ñамом деле имеет "
"идентификатор %other_asset_id"
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr "РеÑÑƒÑ€Ñ Ñкрытых Ñубтитров %asset_id не Ñодержит тег <EntryPoint>."
@@ -3744,29 +3759,30 @@ msgstr ""
"Файл %s уже ÑущеÑтвует. Ð’Ñ‹ хотите иÑпользовать его в качеÑтве новой "
"конфигурации или перезапиÑать его текущей конфигурацией?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr "Первый Ñубтитр вÑтретилÑÑ Ñ€Ð°Ð½ÐµÐµ 4-Ñ… Ñекунд в первой чаÑти фильма."
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-"Файл шрифта Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ шрифта \"%load_font_id\" не был найден или на него не "
-"было ÑÑылки в ASSETMAP."
+"Файл шрифта Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ шрифта \"%load_font_id\" не был найден или на "
+"него не было ÑÑылки в ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-"Шрифты в реÑурÑе Ñубтитров %f занимают %size_in_bytes байт, что превышает лимит в 10 МБ."
+"Шрифты в реÑурÑе Ñубтитров %f занимают %size_in_bytes байт, что превышает "
+"лимит в 10 МБ."
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3775,7 +3791,7 @@ msgstr ""
"Ð¥Ñш (%calculated_hash) Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ %f не ÑоглаÑован Ñ PKL-файлом "
"(%reference_hash). Возможно Ñто значит, что файл повреждён."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
@@ -3784,7 +3800,7 @@ msgstr ""
"Ð¥Ñш (%calculated_hash) реÑурÑа звука %f не ÑоглаÑован Ñ PKL-файлом "
"(%reference_hash). Возможно, файл реÑурÑа повреждён."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
@@ -3793,8 +3809,7 @@ msgstr ""
"Ð¥Ñш (%reference_hash) CPL %cpl в PKL неÑоглаÑован Ñ CPL-файлом "
"(%calculated_hash). Возможно Ñто значит, что CPL-файл повреждён.."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "ИÑпользуетÑÑ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ тег Ñзыка %language."
@@ -3803,28 +3818,28 @@ msgstr "ИÑпользуетÑÑ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ тег Ñзыка %lan
msgid "The language that the film's title (\"%s\") is in"
msgstr "Язык в заголовке фильма (\"%s\") - "
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
"ЧаÑть фильма Ñодержит изображение Ñ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ð¾Ð¹ чаÑтотой кадров %frame_rate."
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-"ПродолжительноÑть чаÑти фильма (%other_duration) Ð´Ð»Ñ Ñубтитров не Ñовпадает Ñ "
-"продолжительноÑть контейнера (%duration) в его MXF."
+"ПродолжительноÑть чаÑти фильма (%other_duration) Ð´Ð»Ñ Ñубтитров не Ñовпадает "
+"Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть контейнера (%duration) в его MXF."
-#: src/wx/verify_dcp_result_panel.cc:408
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:423
+#, fuzzy, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "Звуковой реÑÑƒÑ€Ñ %f имеет некорректную битовую глубину %bit_depth."
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "Звуковой реÑÑƒÑ€Ñ %f имеет некорректную чаÑтоту кадров %frame_rate."
@@ -3838,38 +3853,41 @@ msgstr ""
"Ñтарым, а SMPTE - более новым (текущим) Ñтандартом. ЕÑли вы ÑомневаетеÑÑŒ, "
"выберите \"SMPTE\""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "РеÑÑƒÑ€Ñ Ñубтитров %asset_id не Ñодержит Ñубтитров."
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "РеÑÑƒÑ€Ñ Ñубтитров %asset_id не Ñодержит тег <EntryPoint>."
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "РеÑÑƒÑ€Ñ Ñубтитров %f не Ñодержит тег <Language>."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "РеÑÑƒÑ€Ñ Ñубтитров %f не Ñодержит тег <StartTime>."
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr "РеÑÑƒÑ€Ñ Ñубтитров %f Ñодержит ненулевой тег <StartTime>."
-#: src/wx/verify_dcp_result_panel.cc:643
-#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "РеÑÑƒÑ€Ñ Ñубтитров %asset_id не Ñодержит Ñубтитров."
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "РеÑÑƒÑ€Ñ Ñубтитров %asset_id не Ñодержит тег <EntryPoint>."
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
-msgstr "РеÑÑƒÑ€Ñ Ñубтитров %f занимает %size_in_bytes байт, что превышает лимит в 115 МБ."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
+msgstr ""
+"РеÑÑƒÑ€Ñ Ñубтитров %f занимает %size_in_bytes байт, что превышает лимит в 115 "
+"МБ."
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
@@ -3877,39 +3895,39 @@ msgid ""
msgstr ""
"ВидеореÑÑƒÑ€Ñ %f имеет чаÑтоту кадров %frame_rate, что некорректно Ð´Ð»Ñ 4K."
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr "ВидеореÑÑƒÑ€Ñ %f имеет некорректную чаÑтоту кадров %frame_rate."
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr "ВидеореÑÑƒÑ€Ñ %f имеет некорректный размер Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ %size_in_pixels."
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
#, fuzzy
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
"ВидеореÑÑƒÑ€Ñ %f имеет чаÑтоту кадров %frame_rate, что некорректно Ð´Ð»Ñ 3D."
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "Ðайдены Ñкрытые Ñубтитры из более трёх Ñтрок."
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "Ðайдены Ñубтитры из более трёх Ñтрок."
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr "Ðайдены Ñкрытые Ñубтитры Ñо Ñтрокой из более 32 Ñимволов."
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "Ðайдены Ñкрытые Ñубтитры Ñо Ñтрокой из более 52 Ñимволов."
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr "Ðайдены Ñкрытые Ñубтитры Ñо Ñтрокой из более 79 Ñимволов."
@@ -3921,11 +3939,11 @@ msgstr "ПодÑказок пока нет: проект проверÑетÑÑ.
msgid "There are no hints: everything looks good!"
msgstr "Ðет подÑказок: похоже вÑÑ‘ хорошо!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr "Внутри <MainMarkers> еÑть тег <Duration>."
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr "Внутри <MainMarkers> еÑть тег <EntryPoint>."
@@ -3950,16 +3968,16 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Данный CPL не Ñодержит зашифрованных данных."
-#: src/wx/verify_dcp_result_panel.cc:333
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:348
+#, fuzzy, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
"DCP ÑÑылаетÑÑ Ð½Ð° реÑÑƒÑ€Ñ %asset_id в другом (других) DCP, поÑтому Ñто \"файл "
"вариантов\" (VF)"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr "DCP иÑпользует Ñтандарт Interop, но должен быть Ñделан как SMPTE."
@@ -4367,7 +4385,7 @@ msgstr "ДейÑтвителен до"
msgid "Vendor"
msgstr "Производитель"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr "Отчет о проверке"
diff --git a/src/wx/po/sk_SK.po b/src/wx/po/sk_SK.po
index 46aa4614b..bc8ee2ce8 100644
--- a/src/wx/po/sk_SK.po
+++ b/src/wx/po/sk_SK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2016-01-06 00:23+0100\n"
"Last-Translator: Tomáš HlaváÄ\n"
"Language-Team: DCP-o-matic translators\n"
@@ -237,12 +237,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -265,70 +265,76 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -337,7 +343,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr "Je k dispozícií nová verzia DCP-o-matic."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr ""
@@ -347,11 +353,11 @@ msgstr ""
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -576,11 +582,11 @@ msgstr ""
msgid "Also supported by"
msgstr "Podporované(ý)"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -628,24 +634,24 @@ msgid ""
"\n"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -883,7 +889,7 @@ msgstr ""
msgid "Click the button to set all selected content to the same value."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -1039,7 +1045,7 @@ msgstr "Nemôžem naÄítaÅ¥ súbor s certifikátom (%s)"
msgid "Could not play content"
msgstr "Nemôžem naÄítaÅ¥ kDM (%s)"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Nemôžem naÄítaÅ¥ kDM (%s)"
@@ -1617,21 +1623,21 @@ msgstr ""
msgid "Format"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2239,80 +2245,80 @@ msgstr "Metadata"
msgid "Mix audio down to stereo"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2407,7 +2413,7 @@ msgstr ""
msgid "No"
msgstr "Žiadny(e)"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2415,7 +2421,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2428,11 +2434,11 @@ msgstr "Žiadne audio nebude prenesený z kanálu %d do DCP kanálu %d."
msgid "No content found in this folder."
msgstr "Žiadny obsah v prieÄinku nebol nájdený."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2447,7 +2453,7 @@ msgstr "Å tandard"
msgid "None"
msgstr "Žiadny(e)"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2584,11 +2590,11 @@ msgstr "PoÄet snímok za sekundu (frame rate)"
msgid "Overwrite this file with current configuration"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3137,7 +3143,7 @@ msgstr "Select Certificate File"
msgid "Select output file"
msgstr "Select Certificate File"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Vybrať KDM"
@@ -3317,13 +3323,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3332,7 +3338,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3421,7 +3427,7 @@ msgstr ""
msgid "Subtitle appearance"
msgstr "Vzhľad titulkov"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3516,113 +3522,113 @@ msgstr "Testované"
msgid "The 'until' time must be after the 'from' time."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3641,107 +3647,109 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3776,48 +3784,47 @@ msgid ""
"or overwrite it with your current configuration?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3826,25 +3833,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3855,75 +3862,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3936,11 +3944,11 @@ msgstr "Žiadne upozornenie; všetko vyzerá dobre !"
msgid "There are no hints: everything looks good!"
msgstr "Žiadne upozornenie; všetko vyzerá dobre !"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3963,14 +3971,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4356,7 +4364,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "Zertifikat"
diff --git a/src/wx/po/sl_SI.po b/src/wx/po/sl_SI.po
index 362756bf8..ea08d0465 100644
--- a/src/wx/po/sl_SI.po
+++ b/src/wx/po/sl_SI.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2024-02-10 16:17+0100\n"
"Last-Translator: Martin Srebotnjak <miles@filmsi.net>\n"
"Language-Team: \n"
@@ -235,12 +235,12 @@ msgstr "96 kHz"
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr "<IssueDate> ima neveljavno vrednost %issue_date"
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, fuzzy, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr "<MainSoundConfiguration> opisuje nepravilno število kanalov (%error)"
@@ -265,71 +265,79 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr "SliÄica 2K JPEG2000 vsebuje %tile_parts delov tlakovcev namesto 3."
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, fuzzy, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "SliÄica JPEG2000 vsebuje neveljavno oznako POC (%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:527
-#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "SliÄica 2K JPEG2000 ima %poc_markers oznak POC namesto 0."
-
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr "SliÄica 2K JPEG2000 ima %guard_bits varovalnih bitov namesto 1."
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:542
+#, c-format
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr "SliÄica 2K JPEG2000 ima %poc_markers oznak POC namesto 0."
+
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr "SliÄica 4K JPEG2000 vsebuje %tile_parts delov tlakovcev namesto 6."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, fuzzy, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "SliÄica JPEG2000 vsebuje neveljavno oznako POC (%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:534
-#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "SliÄica 4K JPEG2000 ima %poc_markers oznak POC namesto 1."
-
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr "SliÄica 4K JPEG2000 ima %guard_bits varovalnih bitov namesto 2."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:549
+#, c-format
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr "SliÄica 4K JPEG2000 ima %poc_markers oznak POC namesto 1."
+
+#: src/wx/verify_dcp_result_panel.cc:563
#, fuzzy
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "SliÄica JPEG2000 vsebuje oznako POC na neveljavnem mestu."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "SliÄica JPEG2000 vsebuje neveljavno oznako POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
-msgstr "SliÄica JPEG2000 ima viÅ¡ino kodnega bloka %code_block_height namesto 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgstr ""
+"SliÄica JPEG2000 ima viÅ¡ino kodnega bloka %code_block_height namesto 32."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
-msgstr "SliÄica JPEG2000 ima Å¡irino kodnega bloka %code_block_width namesto 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgstr ""
+"SliÄica JPEG2000 ima Å¡irino kodnega bloka %code_block_width namesto 32."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "SliÄica JPEG2000 nima oznake TLM."
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr "Velikost tlakovcev JPEG2000 se ne ujema z velikostjo slike."
@@ -338,7 +346,7 @@ msgstr "Velikost tlakovcev JPEG2000 se ne ujema z velikostjo slike."
msgid "A new version of %s is available."
msgstr "Na voljo je nova razliÄica programa DCP-o-matic."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, fuzzy, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "SliÄica ima neveljaven kodni tok JPEG2000 (%error)"
@@ -348,11 +356,11 @@ msgstr "SliÄica ima neveljaven kodni tok JPEG2000 (%error)"
msgid "A problem occurred when looking for hints (%s)"
msgstr "Med iskanjem namigov je prišlo do težave (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "Podnaslov traja dlje, kot je dolg kolut, na katerem se nahaja."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -567,11 +575,11 @@ msgstr "Alfa 0"
msgid "Also supported by"
msgstr "Podpirajo ga tudi"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "Sredstvo ima prazno pot v ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr "Uporabljen je bil neveljaven <ContentKind> %content_kind."
@@ -621,25 +629,25 @@ msgstr ""
"Ali ste prepriÄani, da želite poÅ¡iljati e-poÅ¡tna sporoÄila na te naslove?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr "Vsaj eno vozliÅ¡Äe <Text> v podnaslovu ali zaprtem napisu je prazno."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr "Vsaj eno sredstvo v kolutu nima enakega trajanja kot ostala."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr "Vsaj en par podnaslovov je loÄen za manj kot 2 sliÄici."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
#, fuzzy
msgid "At least one subtitle has zero or negative duration."
msgstr "Vsaj en podnaslov traja manj kot 15 sliÄic."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "Vsaj en podnaslov traja manj kot 15 sliÄic."
@@ -869,11 +877,12 @@ msgstr "Datoteka zbirke podatkov kinodvoran in platen"
msgid "Click the button to set all selected content to the same value."
msgstr "Kliknite gumb, da nastavite vse izbrane vsebine na isto vrednost."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
-"Sredstvo zaprtega napisa z %asset_id ima ne-niÄelno vstopno toÄko <EntryPoint>."
+"Sredstvo zaprtega napisa z %asset_id ima ne-niÄelno vstopno toÄko "
+"<EntryPoint>."
#: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115
msgid "Closed captions"
@@ -1017,7 +1026,7 @@ msgstr "Potrdila ni bilo mogoÄe naložiti (%s)"
msgid "Could not play content"
msgstr "Vsebine ni mogoÄe predvajati"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Ni bilo mogoÄe prebrati DCP: %s"
@@ -1569,21 +1578,21 @@ msgstr "ForenziÄno oznaÄi video"
msgid "Format"
msgstr "Oblika"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr "Vsaj ena sliÄica video vsebine %f je blizu omejitve 250 MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr "Vsaj ena sliÄica video vsebine %f je blizu omejitve 250 MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2209,92 +2218,92 @@ msgstr "Metapodatki ..."
msgid "Mix audio down to stereo"
msgstr "Zmešaj zvok na manj kanalov v stereo"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
#, fuzzy
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr "SliÄica 2K JPEG2000 vsebuje %n delov tlakovcev namesto 3."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
#, fuzzy
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr "SliÄica JPEG2000 vsebuje neveljavno oznako POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
#, fuzzy
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr "SliÄica JPEG2000 vsebuje neveljavno oznako POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
#, fuzzy
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr "SliÄica JPEG2000 vsebuje oznako POC na neveljavnem mestu."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr "SliÄica JPEG2000 vsebuje neveljavno oznako POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr "SliÄica JPEG2000 vsebuje neveljavno oznako POC (%n)."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr "SliÄica JPEG2000 vsebuje oznako POC na neveljavnem mestu."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr "SliÄica JPEG2000 vsebuje oznako POC na neveljavnem mestu."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
#, fuzzy
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "SliÄica JPEG2000 nima oznake TLM."
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
#, fuzzy
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr "Velikost tlakovcev JPEG2000 se ne ujema z velikostjo slike."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr "Vsaj ena sliÄica video vsebine %f je blizu omejitve 250 MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr "Vsaj ena sliÄica video vsebine %f je blizu omejitve 250 MBit/s."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
#, fuzzy
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr "SliÄica ima neveljaven kodni tok JPEG2000 (%n)"
@@ -2385,7 +2394,7 @@ msgstr ""
msgid "No"
msgstr "Brez"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "Datoteke ASSETMAP ali ASSETMAP.xml ni mogoÄe najti."
@@ -2393,7 +2402,7 @@ msgstr "Datoteke ASSETMAP ali ASSETMAP.xml ni mogoÄe najti."
msgid "No DCP loaded."
msgstr "Noben DCP ni naložen."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "Napak SMPTE Bv2.1 ni mogoÄe najti."
@@ -2406,11 +2415,11 @@ msgstr "Noben zvok ne po preusmerjen s %s kanala »%s« na %s kanal »%s«."
msgid "No content found in this folder."
msgstr "V tej mapi ni najdene vsebine."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "Napak ni bilo mogoÄe zaznati."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "Opozorila niso bila najdena."
@@ -2424,7 +2433,7 @@ msgstr "Nestandardno"
msgid "None"
msgstr "Brez"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr "Vsa podnaslovna sredstva ne doloÄajo iste oznake <Language>."
@@ -2554,11 +2563,11 @@ msgstr "Preglasi zaznano hitrost video sliÄic"
msgid "Overwrite this file with current configuration"
msgstr "Prepiši to datoteko s trenutno prilagoditvijo"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr "Dela DCP-ja ni bilo mogoÄe preveriti, ker KDM ni bil na voljo."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3081,7 +3090,7 @@ msgstr "Izberite datoteko dnevnika odpravljanja napak"
msgid "Select output file"
msgstr "Izberite izhodno datoteko"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Izberite"
@@ -3253,7 +3262,7 @@ msgstr ""
"Nekateri KDM bi imeli obdobja veljavnosti, ki so zunaj obdobij veljavnosti "
"prejemnikovega potrdila. Kaj želite storiti?"
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
@@ -3261,7 +3270,7 @@ msgstr ""
"Nekatera zaprta vozliÅ¡Äa <Text> ali <Image> imajo razliÄne navpiÄne "
"poravnave v <Subtitle>."
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3272,7 +3281,7 @@ msgstr ""
msgid "Sound"
msgstr "Zvok"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr "Sredstva zvoka nimajo enakega števila kanalov."
@@ -3356,7 +3365,7 @@ msgstr "NaroÄniki"
msgid "Subtitle appearance"
msgstr "Videz podnaslovov"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "Enota podnaslova %asset_id ima ne-niÄelno toÄko vstopa <EntryPoint>."
@@ -3444,23 +3453,23 @@ msgstr "Preizkuševalci"
msgid "The 'until' time must be after the 'from' time."
msgstr "ÄŒas »do« mora slediti Äasu »od«."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, fuzzy, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr "<LabelText> v <ContentVersion> v CPL %cpl je prazen"
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr "<MainPictureActiveArea> ni veÄkratnik 2 ali pa je veÄji od sredstva."
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr "ASSETMAP %asset_map_id ima veÄ kot eno sredstvo z istim ID-jem."
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
@@ -3468,64 +3477,64 @@ msgstr ""
"ID sredstva v Äasovno opredeljenem besedilu MXF je enak ID-ju vira ali ID-ju "
"vsebovanega XML."
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, fuzzy, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr "CPL %n ima <AnnotationText>, ki ni enak kot njegov <ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, fuzzy, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "ZvoÄno sredstvo %f nima veveljavne hitrosti sliÄic %xml_namespace."
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, fuzzy, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "CPL %n ima šifrirano vsebino, vendar ni podpisan."
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, fuzzy, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "CPL %n nima oznake <AnnotationText>."
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, fuzzy, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "CPL %n nima oznake <AnnotationText>."
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, fuzzy, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "CPL %n nima oznake metapodatkov razširitve CPL."
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, fuzzy, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "CPL %n nima oznake metapodatkov CPL."
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, fuzzy, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "CPL %n nima oznake Å¡tevilke razliÄice metapodatkov CPL."
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr "CPL %f ima neveljavno oznako metapodatkov CPL razširitve (%error)"
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr "DCP ima FFOC %time namesto 1."
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr "DCP ima LFOC %time namesto trajanja koluta manj 1."
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
@@ -3533,29 +3542,29 @@ msgstr ""
"DCP ima zaprte napise, vendar nima vsak kolut enako število sredstev zaprtih "
"napisov."
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr "DCP ima šifrirano vsebino, vendar vsa sredstva niso šifrirana."
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "DCP nima oznake FFOC (prva sliÄica vsebine)."
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "DCP nima oznake LFOC (zadnja sliÄica vsebine)."
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr "DCP ima podnaslove, vendar vsaj en kolut nima sredstva podnaslovov."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
"DCP je celoveÄerec, vendar nima oznake FFEC (prva sliÄica konÄnih napisov)."
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3580,12 +3589,12 @@ msgstr ""
"ZaÄetek obdobja KDM je pred (ali blizu) zaÄetkom veljavnosti potrdila o "
"podpisovanju. Uporabite kasnejÅ¡i zaÄetni Äas za ta KDM."
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, fuzzy, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "ZvoÄno sredstvo %f nima veveljavne hitrosti sliÄic %xml_namespace."
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
@@ -3593,27 +3602,27 @@ msgid ""
msgstr ""
"PKL %pkl ima <AnnotationText>, ki se ne ujema s CPL-jevim <ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr "PKL %pkl ima šifrirano vsebino, vendar ni podpisan."
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr "PKL %pkl_id ima veÄ kot eno sredstvo z istim ID."
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr "Kontrolni vsoti PKL in CPL se ne ujemata za slikovno sredstvo %f."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr "Kontrolni vsoti PKL in CPL se ne ujemata za zvokovno sredstvo %f."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
@@ -3621,7 +3630,7 @@ msgstr ""
"ID vira v Äasovno opredeljenem besedilu MXF se ne ujema z ID-jem vsebovanega "
"XML."
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
@@ -3629,59 +3638,64 @@ msgstr ""
"Sredstvo podnaslovov SMPTE %asset_id ima vozliÅ¡Äa <Text>, nima pa vozliÅ¡Äa "
"<LoadFont> "
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "XML v %f je nepravilno oblikovan (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "XML v %f je nepravilno oblikovan v vrstici %l (%error)."
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-"XML v sredstvu zaprtih napisov %f zavzema %size_in_bytes bajtov, kar je nad mejo 256 KB."
+"XML v sredstvu zaprtih napisov %f zavzema %size_in_bytes bajtov, kar je nad "
+"mejo 256 KB."
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-"XML v sredstvu podnaslova %asset_id ima veÄ kot eno deklaracijo imenskega prostora."
+"XML v sredstvu podnaslova %asset_id ima veÄ kot eno deklaracijo imenskega "
+"prostora."
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr "Sredstvo %f je 3D, vendar je njegov MXF oznaÄen kot 2D."
-
-#: src/wx/verify_dcp_result_panel.cc:295
-#, c-format
-msgid "The asset %f is missing."
-msgstr "Manjka sredstvo %f."
-
-#: src/wx/verify_dcp_result_panel.cc:316
-#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr "Sredstvo %asset_id ima trajanje manj kot 1 sekundo, kar je neveljavno."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-"Sredstvo %asset_id ima imanentno trajanje manj kot 1 sekundo, kar je neveljavno."
+"Sredstvo %asset_id ima imanentno trajanje manj kot 1 sekundo, kar je "
+"neveljavno."
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "Sredstvo %asset_id nima kontrolne vsote <Hash> v CPL."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr "Sredstvo %f je 3D, vendar je njegov MXF oznaÄen kot 2D."
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "Manjka sredstvo %f."
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
@@ -3689,10 +3703,11 @@ msgid ""
msgstr ""
"Sredstvo z ID %asset_id v mapi sredstev ima dejansko ID %other_asset_id"
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
-msgstr "Sredstvo zaprtega napisa %asset_id nima oznake vstopne toÄke <EntryPoint>."
+msgstr ""
+"Sredstvo zaprtega napisa %asset_id nima oznake vstopne toÄke <EntryPoint>."
#: src/wx/film_name_location_dialog.cc:146
#, fuzzy, c-format
@@ -3734,31 +3749,31 @@ msgstr ""
"Datoteka %s že obstaja. Ali jo želite uporabiti kot novo prilagoditev ali "
"jo prepisati s trenutno prilagoditvijo?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
"Prvi podnaslov ali zaprt napis se pojavi pred 4 sekundami na prvem kolutu."
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-"Datoteka pisave za pisavo z ID »%load_font_id« ni mogoÄe najti ali pa se nanjo ne "
-"sklicuje ASSETMAP."
+"Datoteka pisave za pisavo z ID »%load_font_id« ni mogoÄe najti ali pa se "
+"nanjo ne sklicuje ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-"Pisave v sredstvu Äasovno opredeljenega besedila %f zaseda %size_in_bytes bajtov, kar "
-"presega omejitev 10 MB."
+"Pisave v sredstvu Äasovno opredeljenega besedila %f zaseda %size_in_bytes "
+"bajtov, kar presega omejitev 10 MB."
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
@@ -3768,7 +3783,7 @@ msgstr ""
"Kontrolna vsota slikovnega sredstva %f se ne ujema z datoteko PKL. To "
"verjetno pomeni, da je datoteka sredstva poškodovana."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
@@ -3778,7 +3793,7 @@ msgstr ""
"Kontrolna vsota zvoÄnega sredstva %f se ne ujema z datoteko PKL. To "
"verjetno pomeni, da je datoteka sredstva poškodovana."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
#, fuzzy
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
@@ -3788,8 +3803,7 @@ msgstr ""
"Kontrolna vsota CPL %n v PKL se ne ujema z datoteko CPL. To verjetno "
"pomeni, da je datoteka CPL poškodovana."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "Uporabljena je neveljavna jezikovna oznaka %language."
@@ -3798,27 +3812,27 @@ msgstr "Uporabljena je neveljavna jezikovna oznaka %language."
msgid "The language that the film's title (\"%s\") is in"
msgstr "Jezik, v katerem je naslov filma (»%s«)"
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr "Slika v kolutu ima hitrost sliÄic %frame_rate, ki ni veljavna."
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-"Trajanje koluta (%other_duration) nekega Äasovno opredeljenega besedila ni enako trajanju "
-"vsebnika (%duration) njegovega MXF."
+"Trajanje koluta (%other_duration) nekega Äasovno opredeljenega besedila ni "
+"enako trajanju vsebnika (%duration) njegovega MXF."
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, fuzzy, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "ZvoÄno sredstvo %f nima veveljavne hitrosti sliÄic %bit_depth."
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "ZvoÄno sredstvo %f nima veveljavne hitrosti sliÄic %frame_rate."
@@ -3832,41 +3846,42 @@ msgstr ""
"Kateri standard naj uporablja DCP. Interop je starejši, SMPTE pa je sodobni "
"standard. Če ste v dvomu, izberite »SMPTE«."
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "Sredstvo podnaslovov %asset_id ne vsebuje podnaslovov."
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "Sredstvo podnaslovov %asset_id nima oznake vstopne toÄke <EntryPoint>."
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "Sredstvo podnaslovov %f ne vsebuje oznake jezika <Language>."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "Sredstvo podnaslovov %f ne vsebuje oznake Äasa priÄetka <StartTime>."
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
"Sredstvo podnaslovov %f ima ne-niÄelno vrednost zaÄetnega Äasa <StartTime>."
-#: src/wx/verify_dcp_result_panel.cc:643
-#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "Sredstvo podnaslovov %asset_id ne vsebuje podnaslovov."
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "Sredstvo podnaslovov %asset_id nima oznake vstopne toÄke <EntryPoint>."
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-"Sredstvo Äasovno opredeljenega besedila %f zavzema %size_in_bytes bajtov, kar presega "
-"omejitev 115 MB."
+"Sredstvo Äasovno opredeljenega besedila %f zavzema %size_in_bytes bajtov, "
+"kar presega omejitev 115 MB."
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
@@ -3875,40 +3890,40 @@ msgstr ""
"Sredstvo videa %f uporablja hitrost sliÄic %frame_rate, ki ni veljavna za 4K-"
"video."
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr "Sredstvo videa %f uporablja neveljavno hitrost sliÄic %frame_rate."
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr "Sredstvo videa %f uporablja neveljavno velikost slike %size_in_pixels."
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
#, fuzzy
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
"Sredstvo videa %f uporablja hitrost sliÄic %frame_rate, ki ni veljavna za 3D-"
"video."
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "Na vsaj enem mestu so v zaprtih napisih veÄ kot 3 vrstice."
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "Na vsaj enem mestu so v podnaslovih veÄ kot 3 vrstice."
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr "V vsaj eni vrstici zaprtih napisov je veÄ kot 32 znakov."
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "V vsaj eni vrstici podnaslovov je veÄ kot 52 znakov."
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr "V vsaj eni vrstici podnaslovov je veÄ kot 79 znakov."
@@ -3920,11 +3935,11 @@ msgstr "Namigov še ni: preverjanje projekta je v teku."
msgid "There are no hints: everything looks good!"
msgstr "Ni namigov: vse je videti dobro!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr "V oznaki <MainMarkers> je oznaka <Duration>."
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr "V oznaki <MainMarkers> je oznaka <EntryPoint>."
@@ -3949,16 +3964,16 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Ta CPL ne vsebuje šifriranih sredstev."
-#: src/wx/verify_dcp_result_panel.cc:333
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:348
+#, fuzzy, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"Ta DCP se sklicuje na sredstvo %asset_id v drugem DCP-ju (in morda drugih), tako da "
-"je »razliÄica datoteke« (VF)"
+"Ta DCP se sklicuje na sredstvo %asset_id v drugem DCP-ju (in morda drugih), "
+"tako da je »razliÄica datoteke« (VF)"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
"Ta DCP uporablja standard Interop, vendar bi ga bilo potrebno izdelati s "
@@ -4358,7 +4373,7 @@ msgstr "Veljaven do"
msgid "Vendor"
msgstr "Prodajalec"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "Preverjanje DCP"
diff --git a/src/wx/po/sv_SE.po b/src/wx/po/sv_SE.po
index e49a5bb8f..466bff712 100644
--- a/src/wx/po/sv_SE.po
+++ b/src/wx/po/sv_SE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DCP-o-matic\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2021-12-28 14:46+0100\n"
"Last-Translator: Mattias Mattsson <vitplister@gmail.com>\n"
"Language-Team: \n"
@@ -237,12 +237,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -268,74 +268,86 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr "En 2K JPEG2000-bild innehåller %tile_parts bildsegment istället för 3."
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, fuzzy, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "En JPEG2000-bild innehåller en felaktig POC-markering (%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:527
-#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "En 2K JPEG2000-bild innehåller %poc_markers POC-markeing(ar) istället för 0."
-
# Svengelska
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr "En 2K JPEG2000-bild innehåller %guard_bits guard bits istället för 1."
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:542
+#, c-format
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr ""
+"En 2K JPEG2000-bild innehåller %poc_markers POC-markeing(ar) istället för 0."
+
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr "En 4K JPEG2000-bild innehåller %tile_parts bildsegment istället för 6."
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, fuzzy, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "En JPEG2000-bild innehåller en felaktig POC-markering (%capabilities)."
-#: src/wx/verify_dcp_result_panel.cc:534
-#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "En 4K JPEG2000-bild innehåller %poc_markers POC-markeing(ar) istället för 1."
-
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr "En 4K JPEG2000-bild innehåller %guard_bits guard bits istället för 2."
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:549
+#, c-format
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr ""
+"En 4K JPEG2000-bild innehåller %poc_markers POC-markeing(ar) istället för 1."
+
+#: src/wx/verify_dcp_result_panel.cc:563
#, fuzzy
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "En JPEG2000-bild innehåller POC-markering på ett felaktigt ställe."
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "En JPEG2000-bild innehåller en felaktig POC-markering (%n)."
# Svengelska
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
-msgstr "En JPEG2000-bild innehåller en kodblockshöjd på %code_block_height istället för 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgstr ""
+"En JPEG2000-bild innehåller en kodblockshöjd på %code_block_height istället "
+"för 32."
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
-msgstr "En JPEG2000-bild innehåller en kodblocksbredd på %code_block_width istället för 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgstr ""
+"En JPEG2000-bild innehåller en kodblocksbredd på %code_block_width istället "
+"för 32."
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "En JPEG2000-bild saknar TLM-markeing."
# Svengelska
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr "En JPEG2000 tile-storlek stämmer inte med bildstorleken."
@@ -344,7 +356,7 @@ msgstr "En JPEG2000 tile-storlek stämmer inte med bildstorleken."
msgid "A new version of %s is available."
msgstr "Det finns en nyare version av DCP-o-matic."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, fuzzy, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "En bild har en trasig JPEG2000-ström (%error)"
@@ -354,11 +366,11 @@ msgstr "En bild har en trasig JPEG2000-ström (%error)"
msgid "A problem occurred when looking for hints (%s)"
msgstr "Problem uppstod när vi letade efter tips (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "En undertext är längre än akten den ligger i."
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -573,11 +585,11 @@ msgstr "Alpha 0"
msgid "Also supported by"
msgstr "Också med stöd från"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "En komponent har tom sökväg i ASSETMAP."
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -627,25 +639,25 @@ msgstr ""
"Är du säker på att du vill skicka epost till följande adresser?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr "Minst en <Text> node i en subtitel är tom."
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr "Åtminstone en komponent i akten är inte lika lång som de andra."
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr "Åtminstone ett par undertexter ligger närmare än 2 bilder."
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
#, fuzzy
msgid "At least one subtitle has zero or negative duration."
msgstr "Åtminstone en undertext är kortare än 15 bilder."
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "Åtminstone en undertext är kortare än 15 bilder."
@@ -884,7 +896,7 @@ msgid "Click the button to set all selected content to the same value."
msgstr ""
"Klicka på knappen för att ange samma värde för det valda källmaterialet."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr "Undertexten %asset_id har en icke-tom <EntryPoint>."
@@ -1033,7 +1045,7 @@ msgstr "Kunde inte ladda in certifikat (%s)"
msgid "Could not play content"
msgstr "Kunde inte ladda KDM"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Kunde inte ladda DCP: %s"
@@ -1596,7 +1608,7 @@ msgstr "Märk bildspår forensiskt"
msgid "Format"
msgstr "Format"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1605,7 +1617,7 @@ msgstr ""
"Minst en bildruta i videokomponenten %f har en bitrate nära gränsen 250MBit/"
"s."
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, fuzzy, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
@@ -1614,7 +1626,7 @@ msgstr ""
"Minst en bildruta i videokomponenten %f har en bitrate nära gränsen 250MBit/"
"s."
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2245,75 +2257,75 @@ msgstr "Metadata..."
msgid "Mix audio down to stereo"
msgstr "Mixa ner ljudspår till stereo"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
#, fuzzy
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr "En 2K JPEG2000-bild innehåller %n bildsegment istället för 3."
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
#, fuzzy
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr "En JPEG2000-bild innehåller en felaktig POC-markering (%n)."
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
#, fuzzy
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr "En JPEG2000-bild innehåller en felaktig POC-markering (%n)."
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
#, fuzzy
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr "En JPEG2000-bild innehåller POC-markering på ett felaktigt ställe."
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr "En JPEG2000-bild innehåller en felaktig POC-markering (%n)."
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
#, fuzzy
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr "En JPEG2000-bild innehåller en felaktig POC-markering (%n)."
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr "En JPEG2000-bild innehåller POC-markering på ett felaktigt ställe."
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
#, fuzzy
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr "En JPEG2000-bild innehåller POC-markering på ett felaktigt ställe."
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
#, fuzzy
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "En JPEG2000-bild saknar TLM-markeing."
# Svengelska
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
#, fuzzy
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr "En JPEG2000 tile-storlek stämmer inte med bildstorleken."
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
@@ -2322,7 +2334,7 @@ msgstr ""
"Minst en bildruta i videokomponenten %f har en bitrate nära gränsen 250MBit/"
"s."
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
#, fuzzy
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
@@ -2331,11 +2343,11 @@ msgstr ""
"Minst en bildruta i videokomponenten %f har en bitrate nära gränsen 250MBit/"
"s."
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
#, fuzzy
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr "En bild har en trasig JPEG2000-ström (%n)"
@@ -2426,7 +2438,7 @@ msgstr ""
msgid "No"
msgstr "Ingen"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "Ingen ASSETMAP eller ASSETMAP.xml-fil hittades."
@@ -2434,7 +2446,7 @@ msgstr "Ingen ASSETMAP eller ASSETMAP.xml-fil hittades."
msgid "No DCP loaded."
msgstr "Ingen DCP laddad."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "Inga SMPTE Bv2.1 fel hittade."
@@ -2447,11 +2459,11 @@ msgstr "Inget ljud kommer överföras från kanal %s '%s' till kanal %s '%s'."
msgid "No content found in this folder."
msgstr "Inget innehåll hittades i denna mapp."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "Inga fel hittade."
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "Inga varningar hittade."
@@ -2466,7 +2478,7 @@ msgstr "Standard"
msgid "None"
msgstr "Ingen"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr "Inte alla undertextinnehåll använder samma <Language> tagg."
@@ -2596,11 +2608,11 @@ msgstr "Forcera bildhastighet"
msgid "Overwrite this file with current configuration"
msgstr "Skriv över denna fil med nuvarande inställningar"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr "Del av DCPn kunde inte checkas eftersom ingen KDM fanns tillgänglig."
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3130,7 +3142,7 @@ msgstr "Välj debug-loggfil"
msgid "Select output file"
msgstr "Välj utdata-fil"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Välj"
@@ -3303,7 +3315,7 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
@@ -3311,7 +3323,7 @@ msgstr ""
"Några stängda <Text> eller <Image> noder har olika vertikala början inom en "
"<Subtitle>."
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr "Någar undertexter är inte listade i ordning enligt vertikal position."
@@ -3320,7 +3332,7 @@ msgstr "Någar undertexter är inte listade i ordning enligt vertikal position."
msgid "Sound"
msgstr "Ljud"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3406,7 +3418,7 @@ msgstr "Prenumeranter"
msgid "Subtitle appearance"
msgstr "Undertext-utseende"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "Undertexttillgången %asset_id har en icke-tom <EntryPoint>."
@@ -3497,23 +3509,23 @@ msgstr "Testat av"
msgid "The 'until' time must be after the 'from' time."
msgstr "'tills'-tiden måste vara efter 'från'-tiden."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
@@ -3521,7 +3533,7 @@ msgstr ""
"Tillgångs-ID i en tajmad-text MXF är samma som Resurs-ID eller ID i den "
"inbäddade XML:en."
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, fuzzy, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
@@ -3530,87 +3542,87 @@ msgstr ""
"CPL:en %n har en <AnnotationText> som inte är samma som dess "
"<ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, fuzzy, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "Ljudspåret %f har ogiltlig bildhastighet %xml_namespace."
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, fuzzy, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "CPL:en %n har krypterat innehåll men är inte signerat."
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, fuzzy, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "CPL:en %n har ingen <AnnotationText> tagg."
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, fuzzy, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "CPL:en %n har ingen <AnnotationText> tagg."
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, fuzzy, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "CPL:en %n har ingen CPL utökad metadata tagg."
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, fuzzy, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "CPL:en %n har ingen CPL metadata tagg."
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, fuzzy, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "CPL:en %n har ingen CPL metadata versionsnummer tagg."
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr "CPL:en %f har en felaktig CPL-utöknings metadata tagg (%error)"
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr "DCP:n har en FFOC av %time istället för 1."
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr "DCP:n har en LFOC av %time istället för rullens längd minus ett."
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
"DCP:n har undertexter men inte varje rulle har samma antal undertexter."
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr "DCP:n har krypterat innehåll, men inte allt innehåll är krypterat."
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "DCP:n har ingen FFOC (first frame of content) markering."
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "DCP:n har ingen LFOC (last frame of content) markering."
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr "DCP:n har undertexter men åtminstone en rulle saknar undertext."
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
"DCP:n är en feature men har ingen FFEC ( first frame of end credit) "
"markering."
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3638,12 +3650,12 @@ msgstr ""
"signeringscertifikatet börjar att gälla. Ange en senare start-tidpunkt för "
"KDM:en."
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, fuzzy, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "Ljudspåret %f har ogiltlig bildhastighet %xml_namespace."
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
@@ -3652,101 +3664,104 @@ msgstr ""
"PKL:en %pkl har en <AnnotationText> som inte stämmer med CPL:ens "
"<ContentTitleText>."
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr "PKL:en %pkl har krypterat innehåll men är inte signerat."
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, fuzzy, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr "PKL:en %pkl_id har krypterat innehåll men är inte signerat."
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr "Hashsummorna i PKL och CPL stämmer inte överens för bildkompenten %f."
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
"Hashsummorna i PKL och CPL stämmer inte överens för ljudkomponenten %f."
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
"Resurs-ID i en tajmad text MXF stämmer inte med ID i den inbäddade XML:en."
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "XML-koden i %f är felaktig (%error)."
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "XML-koden i %f är felaktig på rad %l (%error)"
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-"XML:en i undertexttillgången %f tar %size_in_bytes byte vilket är mer än gränsen på "
-"256KB."
+"XML:en i undertexttillgången %f tar %size_in_bytes byte vilket är mer än "
+"gränsen på 256KB."
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
-#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr "Tillgången %f är 3D men dess MXF är markerat som 2D."
-
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is missing."
-msgstr "Komponenten %f saknas."
-
-#: src/wx/verify_dcp_result_panel.cc:316
-#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
-msgstr "Komponenten %asset_id har en speltid under 1 sekund, vilket inte är tillåtet."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgstr ""
+"Komponenten %asset_id har en speltid under 1 sekund, vilket inte är tillåtet."
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
"Komponenten %asset_id har en faktisk speltid under 1 sekund, vilket inte är "
"tillåtet."
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "Komponenten %asset_id har ingen <Hash> i CPL:en."
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr "Tillgången %f är 3D men dess MXF är markerat som 2D."
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "Komponenten %f saknas."
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr "Undertexttillgången %asset_id har ingen <EntryPoint> tagg."
@@ -3790,28 +3805,28 @@ msgstr ""
"Filen %s finns redan. Vill du använda den som din nya inställningsfil eller "
"skriva över den med dina nuvarande inställningar?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr "Den första undertexten startar innan 4 sekunder på första rullen."
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-"Typsnittet i den tajmade texten %f tar %size_in_bytes byte vilket är mer än gränsen på "
-"10MB."
+"Typsnittet i den tajmade texten %f tar %size_in_bytes byte vilket är mer än "
+"gränsen på 10MB."
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
@@ -3821,7 +3836,7 @@ msgstr ""
"Hashsumman för bildkomponent %f stämmer inte överens med PKL-filen. "
"Bildkomponentfilen är förmodligen korrupt."
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
#, fuzzy
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
@@ -3831,7 +3846,7 @@ msgstr ""
"Hashsumman för ljudkompononenten %f stämmer inte överens med PKL-filen. "
"Ljudkomponentfilen är förmodligen korrupt."
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
#, fuzzy
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
@@ -3841,8 +3856,7 @@ msgstr ""
"Hashsumman för CPL %n i PKL-filen stämmer inte överens med CPL-filen. "
"Förmodligen är CPL-filen korrupt."
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "Den felaktiga språktaggen %language används."
@@ -3851,28 +3865,28 @@ msgstr "Den felaktiga språktaggen %language används."
msgid "The language that the film's title (\"%s\") is in"
msgstr "Språket för filmens titel (\"%s\")"
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
"Bildspåret i en akt har en bildhastighet %frame_rate, vilket inte är giltigt."
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-"Rullens längd (%other_duration) för någon tajmad text är inte samma som ContainerDuration "
-"(%duration) för dess MXF."
+"Rullens längd (%other_duration) för någon tajmad text är inte samma som "
+"ContainerDuration (%duration) för dess MXF."
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, fuzzy, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr "Ljudspåret %f har ogiltlig bildhastighet %bit_depth."
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "Ljudspåret %f har ogiltlig bildhastighet %frame_rate."
@@ -3883,39 +3897,41 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, fuzzy, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "Undertexttillgången %f innehåller inte någon <StartTime> tagg."
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "Undertexttillgången %asset_id har ingen <EntryPoint> tagg."
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "Undertexttillgången %f innehåller inte någon <Language> tagg."
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "Undertexttillgången %f innehåller inte någon <StartTime> tagg."
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr "Undertexttillgången %f har en <StartTime> som inte är noll."
-#: src/wx/verify_dcp_result_panel.cc:643
-#, fuzzy, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "Undertexttillgången %f innehåller inte någon <StartTime> tagg."
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "Undertexttillgången %asset_id har ingen <EntryPoint> tagg."
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-"Den tajmade texttillgången %f tar %size_in_bytes byte vilket är över grånsen 115MB."
+"Den tajmade texttillgången %f tar %size_in_bytes byte vilket är över grånsen "
+"115MB."
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
@@ -3924,40 +3940,41 @@ msgstr ""
"Videotillgången %f använder bildhastigheten %frame_rate vilket inte är "
"korrekt för 4K-video."
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr "Bildspåret %f använder en ogiltig bildhastighet %frame_rate."
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
-msgstr "Videotillgången %f använder den felaktiga bildstorleken %size_in_pixels."
+msgstr ""
+"Videotillgången %f använder den felaktiga bildstorleken %size_in_pixels."
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
#, fuzzy
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
"Videotillgången %f använder bildhastigheten %frame_rate vilket inte är "
"korrekt för 3D-video."
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "Det finns mer än 3 undertextrader på åtminstone ett ställe."
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "Det finns mer än 3 undertextrader på åtminstone ett ställe."
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr "Det finns mer än 32 tecken i åtminstone en undertextrad."
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "Det finns mer än 52 tecken i åtminstone en undertextrad."
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
"Det finns mer än 79\n"
@@ -3971,11 +3988,11 @@ msgstr "Det finns inga tips: Projektet kontrolleras."
msgid "There are no hints: everything looks good!"
msgstr "Det finns inga tips: allt ser bra ut!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -4000,16 +4017,16 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "Den här CPL:en innehåller inga krypterade komponenter."
-#: src/wx/verify_dcp_result_panel.cc:333
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:348
+#, fuzzy, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"Den här DCP:n refererar till komponenten %asset_id i en annan DCP (och möjligen "
-"andra), så den är en \"versionfil\" (VF)"
+"Den här DCP:n refererar till komponenten %asset_id i en annan DCP (och "
+"möjligen andra), så den är en \"versionfil\" (VF)"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr "Denna DCP använder Interop-standarden, men den borde skapas med SMPTE."
@@ -4415,7 +4432,7 @@ msgstr ""
msgid "Vendor"
msgstr "Leverantör"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "DCP-verifiering"
diff --git a/src/wx/po/tr_TR.po b/src/wx/po/tr_TR.po
index b96578daa..41be10397 100644
--- a/src/wx/po/tr_TR.po
+++ b/src/wx/po/tr_TR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -232,12 +232,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -260,70 +260,76 @@ msgstr ""
msgid "A"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -332,7 +338,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr ""
@@ -342,11 +348,11 @@ msgstr ""
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -548,11 +554,11 @@ msgstr ""
msgid "Also supported by"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -599,24 +605,24 @@ msgid ""
"\n"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -840,7 +846,7 @@ msgstr ""
msgid "Click the button to set all selected content to the same value."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -985,7 +991,7 @@ msgstr ""
msgid "Could not play content"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr ""
@@ -1518,21 +1524,21 @@ msgstr ""
msgid "Format"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2114,80 +2120,80 @@ msgstr ""
msgid "Mix audio down to stereo"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2275,7 +2281,7 @@ msgstr ""
msgid "No"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2283,7 +2289,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2296,11 +2302,11 @@ msgstr ""
msgid "No content found in this folder."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2314,7 +2320,7 @@ msgstr ""
msgid "None"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2443,11 +2449,11 @@ msgstr ""
msgid "Overwrite this file with current configuration"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -2959,7 +2965,7 @@ msgstr ""
msgid "Select output file"
msgstr ""
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr ""
@@ -3127,13 +3133,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3142,7 +3148,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3225,7 +3231,7 @@ msgstr ""
msgid "Subtitle appearance"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3311,113 +3317,113 @@ msgstr ""
msgid "The 'until' time must be after the 'from' time."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3436,107 +3442,109 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3571,48 +3579,47 @@ msgid ""
"or overwrite it with your current configuration?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3621,25 +3628,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3650,75 +3657,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3730,11 +3738,11 @@ msgstr ""
msgid "There are no hints: everything looks good!"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3757,14 +3765,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4140,7 +4148,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr ""
diff --git a/src/wx/po/uk_UA.po b/src/wx/po/uk_UA.po
index 5568632c8..60ed13d71 100644
--- a/src/wx/po/uk_UA.po
+++ b/src/wx/po/uk_UA.po
@@ -3,7 +3,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
"PO-Revision-Date: 2018-08-20 20:35+0300\n"
"Last-Translator: Igor Voytovich <i.voyt@dualvfilms.com>\n"
"Language-Team: Ukrainian\n"
@@ -234,12 +234,12 @@ msgstr ""
msgid ":1"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr ""
@@ -264,70 +264,76 @@ msgstr ""
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:527
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:542
#, c-format
-msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:534
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:549
#, c-format
-msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr ""
@@ -336,7 +342,7 @@ msgstr ""
msgid "A new version of %s is available."
msgstr "ДоÑтупна нова верÑÑ–Ñ DCP-o-matic."
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr ""
@@ -346,11 +352,11 @@ msgstr ""
msgid "A problem occurred when looking for hints (%s)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -572,11 +578,11 @@ msgstr "Ðльфа 0"
msgid "Also supported by"
msgstr "ФінанÑова підтримка"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr ""
@@ -626,24 +632,24 @@ msgstr ""
"Ви точно хочете відправити електронні лиÑти на ці адреÑи?\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr ""
@@ -882,7 +888,7 @@ msgstr ""
"ÐатиÑніть кнопку, щоб вÑтановити однакові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ñього обраного "
"контенту."
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -1036,7 +1042,7 @@ msgstr "Ðе вдалоÑÑ Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ñ‚Ð¸ Ñертифікат (%s)"
msgid "Could not play content"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ KDM."
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, fuzzy, c-format
msgid "Could not read DCP (%error)"
msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ KDM."
@@ -1606,21 +1612,21 @@ msgstr ""
msgid "Format"
msgstr "Формат"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
@@ -2234,80 +2240,80 @@ msgstr ""
msgid "Mix audio down to stereo"
msgstr "Змікшувати аудіо у Ñтерео"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr ""
@@ -2397,7 +2403,7 @@ msgstr ""
msgid "No"
msgstr "Ðічого"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr ""
@@ -2405,7 +2411,7 @@ msgstr ""
msgid "No DCP loaded."
msgstr "Жоден DCP не завантажений."
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr ""
@@ -2418,11 +2424,11 @@ msgstr "Ðудіо не буде переміщено з каналу %d конÑ
msgid "No content found in this folder."
msgstr "У даній папці не знайдено контент."
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr ""
@@ -2437,7 +2443,7 @@ msgstr "Стандарт"
msgid "None"
msgstr "Ðічого"
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr ""
@@ -2572,11 +2578,11 @@ msgstr "ЧаÑтота кадрів відео"
msgid "Overwrite this file with current configuration"
msgstr "ПерезапиÑати цей файл поточною конфігураціею"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3116,7 +3122,7 @@ msgstr "Оберіть вихідний файл"
msgid "Select output file"
msgstr "Оберіть вихідний файл"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
#, fuzzy
msgid "Select..."
msgstr "Оберіть OV"
@@ -3292,13 +3298,13 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr ""
@@ -3307,7 +3313,7 @@ msgstr ""
msgid "Sound"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr ""
@@ -3396,7 +3402,7 @@ msgstr ""
msgid "Subtitle appearance"
msgstr "Зовнішній виглÑд Ñубтитрів"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr ""
@@ -3491,113 +3497,113 @@ msgstr "ТеÑтуваннÑ"
msgid "The 'until' time must be after the 'from' time."
msgstr "Ð§Ð°Ñ \"до\" має бути піÑÐ»Ñ Ñ‡Ð°Ñу \"від\"."
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr ""
@@ -3616,107 +3622,109 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:336
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:295
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
-msgid "The asset %f is missing."
+msgid ""
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:351
#, c-format
-msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+msgid "The asset %f is 3D but its MXF is marked as 2D."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:310
#, c-format
-msgid "The asset %asset_id has no <Hash> in the CPL."
+msgid "The asset %f is missing."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr ""
@@ -3753,48 +3761,47 @@ msgstr ""
"Файл %s вже Ñ–Ñнує. Ви хочете викориÑтовувати його у ÑкоÑті нової "
"конфігурації або перезапиÑати його поточною конфігураціею?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr ""
@@ -3803,25 +3810,25 @@ msgstr ""
msgid "The language that the film's title (\"%s\") is in"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr ""
@@ -3832,75 +3839,76 @@ msgid ""
"newer (current) standard. If in doubt, choose 'SMPTE'"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
#, c-format
-msgid "The subtitle asset %f contains no <Language> tag."
+msgid "The subtitle asset %asset_id contains no subtitles."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:441
#, c-format
-msgid "The subtitle asset %f contains no <StartTime> tag."
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
-msgid "The subtitle asset %f has a <StartTime> which is not zero."
+msgid "The subtitle asset %f contains no <Language> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:643
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
+msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:426
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:354
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr ""
@@ -3913,11 +3921,11 @@ msgstr "Ðемає підказок: Ñхоже, що вÑе добре!"
msgid "There are no hints: everything looks good!"
msgstr "Ðемає підказок: Ñхоже, що вÑе добре!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr ""
@@ -3941,14 +3949,14 @@ msgstr ""
msgid "This CPL contains no encrypted assets."
msgstr "ЗміÑÑ‚ CPL-файлу не зашифрований."
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr ""
@@ -4337,7 +4345,7 @@ msgstr ""
msgid "Vendor"
msgstr ""
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
#, fuzzy
msgid "Verification report"
msgstr "Перевірка DCP"
diff --git a/src/wx/po/zh_CN.po b/src/wx/po/zh_CN.po
index 48219f03f..87833885b 100644
--- a/src/wx/po/zh_CN.po
+++ b/src/wx/po/zh_CN.po
@@ -12,17 +12,17 @@ msgid ""
msgstr ""
"Project-Id-Version: libdcpomatic-wx\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-03-23 01:11+0100\n"
-"PO-Revision-Date: 2025-10-05 14:09+0800\n"
+"POT-Creation-Date: 2026-04-21 17:39+0200\n"
+"PO-Revision-Date: 2026-05-17 10:50+0800\n"
"Last-Translator: Dian Li <xslidian@gmail.com>\n"
-"Language-Team: Chinese Simplified (Rov8 branch)\n"
+"Language-Team: Chinese Simplified (Hanyuan branch)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2);\n"
-"X-Generator: Poedit 3.7\n"
+"X-Generator: Poedit 3.9\n"
"X-Poedit-SourceCharset: UTF-8\n"
#: src/wx/player_information.cc:111
@@ -109,9 +109,9 @@ msgid "%s already exists as a file, so you cannot use it for a film."
msgstr "%s 文件已ç»å­˜åœ¨ï¼Œæ‰€ä»¥ä¸èƒ½ç”¨å®ƒåˆ›å»ºå·¥ç¨‹ã€‚"
#: src/wx/audio_dialog.cc:175
-#, fuzzy, c-format
+#, c-format
msgid "%s audio"
-msgstr "%s 音频 - %s"
+msgstr "%s 音频"
#: src/wx/audio_dialog.cc:171 src/wx/audio_dialog.cc:173
#, c-format
@@ -124,12 +124,11 @@ msgid "%s test email"
msgstr "%så‘逿µ‹è¯•邮件"
#: src/wx/about_dialog.cc:95
-#, fuzzy
msgid ""
"(C) 2012-2026 Carl Hetherington, Terrence Meiczinger\n"
"Aaron Boxer"
msgstr ""
-"(C) 2012-2025 Carl Hetherington, Terrence Meiczinger\n"
+"(C) 2012-2026 Carl Hetherington, Terrence Meiczinger\n"
"Aaron Boxer"
#: src/wx/full_config_dialog.cc:1227 src/wx/player_config_dialog.cc:131
@@ -248,12 +247,12 @@ msgstr "96kHz"
msgid ":1"
msgstr ":1"
-#: src/wx/verify_dcp_result_panel.cc:646
+#: src/wx/verify_dcp_result_panel.cc:648
#, c-format
msgid "<IssueDate> has an invalid value %issue_date"
msgstr "<IssueDate> 具有无效值 %issue_date"
-#: src/wx/verify_dcp_result_panel.cc:652
+#: src/wx/verify_dcp_result_panel.cc:654
#, c-format
msgid "<MainSoundConfiguration> is invalid (%error)"
msgstr "<MainSoundConfiguration> ä¸å¯ç”¨ (%error)"
@@ -276,70 +275,76 @@ msgstr "<i>请输入一个有效的邮箱地å€ï¼Œå¦åˆ™æˆ‘们将无法解决您
msgid "A"
msgstr "A"
-#: src/wx/verify_dcp_result_panel.cc:555
+#: src/wx/verify_dcp_result_panel.cc:570
#, c-format
msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."
msgstr "2K JPEG2000帧包å«%tile_parts个图å—éƒ¨åˆ†ï¼Œè€Œä¸æ˜¯3个。"
-#: src/wx/verify_dcp_result_panel.cc:569
+#: src/wx/verify_dcp_result_panel.cc:584
#, c-format
-msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "一个 2K JPEG2000 å¸§åŒ…å«æ— æ•ˆçš„ Rsiz(承载力)值 %capabilities"
-#: src/wx/verify_dcp_result_panel.cc:527
-#, c-format
-msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
-msgstr "2K JPEG2000帧具有 %poc_markers POCæ ‡è®°è€Œä¸æ˜¯0。"
-
-#: src/wx/verify_dcp_result_panel.cc:492
+#: src/wx/verify_dcp_result_panel.cc:507
#, c-format
msgid "A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."
msgstr "2K JPEG2000帧具有 %guard_bits ä¿æŠ¤ä½è€Œä¸æ˜¯1。"
-#: src/wx/verify_dcp_result_panel.cc:562
+#: src/wx/verify_dcp_result_panel.cc:542
+#, c-format
+msgid "A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."
+msgstr "2K JPEG2000帧具有 %poc_markers POCæ ‡è®°è€Œä¸æ˜¯0。"
+
+#: src/wx/verify_dcp_result_panel.cc:577
#, c-format
msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."
msgstr "4K JPEG2000å¸§åŒ…å« %tile_parts 个图å—éƒ¨åˆ†ï¼Œè€Œä¸æ˜¯6个。"
-#: src/wx/verify_dcp_result_panel.cc:576
+#: src/wx/verify_dcp_result_panel.cc:591
#, c-format
-msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"
+msgid ""
+"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of "
+"%capabilities"
msgstr "一个 2K JPEG2000 å¸§åŒ…å«æ— æ•ˆçš„ Rsiz(承载力)值 %capabilities"
-#: src/wx/verify_dcp_result_panel.cc:534
-#, c-format
-msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
-msgstr "4K JPEG2000帧具有 %poc_markers POCæ ‡è®°è€Œä¸æ˜¯1。"
-
-#: src/wx/verify_dcp_result_panel.cc:499
+#: src/wx/verify_dcp_result_panel.cc:514
#, c-format
msgid "A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."
msgstr "4K JPEG2000帧具有 %guard_bits ä¿æŠ¤ä½ è€Œä¸æ˜¯2。"
-#: src/wx/verify_dcp_result_panel.cc:548
+#: src/wx/verify_dcp_result_panel.cc:549
+#, c-format
+msgid "A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."
+msgstr "4K JPEG2000帧具有 %poc_markers POCæ ‡è®°è€Œä¸æ˜¯1。"
+
+#: src/wx/verify_dcp_result_panel.cc:563
msgid "A JPEG2000 frame contains a POC marker in an invalid location."
msgstr "JPEG2000帧在无效ä½ç½®åŒ…å«POC标记。"
-#: src/wx/verify_dcp_result_panel.cc:541
+#: src/wx/verify_dcp_result_panel.cc:556
#, c-format
msgid "A JPEG2000 frame contains an invalid POC marker (%n)."
msgstr "JPEG2000å¸§åŒ…å«æ— æ•ˆçš„POC标记 (%n)。"
-#: src/wx/verify_dcp_result_panel.cc:520
+#: src/wx/verify_dcp_result_panel.cc:535
#, c-format
-msgid "A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block height of %code_block_height instead of 32."
msgstr "JPEG2000帧的代ç å—高度为 %code_block_height ï¼Œè€Œä¸æ˜¯32。"
-#: src/wx/verify_dcp_result_panel.cc:513
+#: src/wx/verify_dcp_result_panel.cc:528
#, c-format
-msgid "A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
+msgid ""
+"A JPEG2000 frame has a code-block width of %code_block_width instead of 32."
msgstr "JPEG2000帧的代ç å—宽度为 %code_block_width ï¼Œè€Œä¸æ˜¯32。"
-#: src/wx/verify_dcp_result_panel.cc:583
+#: src/wx/verify_dcp_result_panel.cc:598
msgid "A JPEG2000 frame has no TLM marker."
msgstr "JPEG2000帧没有TLM标记。"
-#: src/wx/verify_dcp_result_panel.cc:506
+#: src/wx/verify_dcp_result_panel.cc:521
msgid "A JPEG2000 tile size does not match the image size."
msgstr "JPEG2000图å—大å°ä¸Žå›¾åƒå¤§å°ä¸åŒ¹é…。"
@@ -348,7 +353,7 @@ msgstr "JPEG2000图å—大å°ä¸Žå›¾åƒå¤§å°ä¸åŒ¹é…。"
msgid "A new version of %s is available."
msgstr "å‘现新版本的%så¯ç”¨ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:485
+#: src/wx/verify_dcp_result_panel.cc:500
#, c-format
msgid "A picture frame has an invalid JPEG2000 codestream (%error)."
msgstr "å›¾ç‰‡å¸§åŒ…å«æ— æ•ˆçš„JPEG2000ç æµï¼ˆ%error)"
@@ -358,11 +363,11 @@ msgstr "å›¾ç‰‡å¸§åŒ…å«æ— æ•ˆçš„JPEG2000ç æµï¼ˆ%error)"
msgid "A problem occurred when looking for hints (%s)"
msgstr "查找æç¤ºæ—¶å‡ºçŽ°é—®é¢˜ (%s)"
-#: src/wx/verify_dcp_result_panel.cc:588
+#: src/wx/verify_dcp_result_panel.cc:603
msgid "A subtitle lasts longer than the reel it is in."
msgstr "字幕的æŒç»­æ—¶é—´æ¯”å·è½´é•¿ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:668
+#: src/wx/verify_dcp_result_panel.cc:670
#, c-format
msgid ""
"A subtitle or closed caption refers to a font with ID %load_font_id that "
@@ -553,9 +558,8 @@ msgid "Allow mapping to all audio channels"
msgstr "å…许映射到所有音频通é“"
#: src/wx/full_config_dialog.cc:1079
-#, fuzzy
msgid "Allow use of MPEG2 Interop"
-msgstr "å…许使用SMPTE Bv2.0"
+msgstr "å…许使用MPEG2 Interop"
#: src/wx/full_config_dialog.cc:1077
msgid "Allow use of SMPTE Bv2.0"
@@ -569,11 +573,11 @@ msgstr "逿˜Žåº¦ 0"
msgid "Also supported by"
msgstr "其他支æŒè€…"
-#: src/wx/verify_dcp_result_panel.cc:292
+#: src/wx/verify_dcp_result_panel.cc:307
msgid "An asset has an empty path in the ASSETMAP."
msgstr "有资产在 ASSETMAP 中具有空路径。"
-#: src/wx/verify_dcp_result_panel.cc:631
+#: src/wx/verify_dcp_result_panel.cc:633
#, c-format
msgid "An invalid <ContentKind> %content_kind has been used."
msgstr "一个无效的 <ContentKind> %content_kind 被使用。"
@@ -622,24 +626,24 @@ msgstr ""
"你确定è¦å‘é€é‚®ä»¶åˆ°ä»¥ä¸‹åœ°å€ï¼Ÿ\n"
"\n"
-#: src/wx/verify_dcp_result_panel.cc:616
+#: src/wx/verify_dcp_result_panel.cc:618
msgid "At least one <Text> node in a subtitle or closed caption is empty."
msgstr "字幕或éšè—å­—å¹•ä¸­è‡³å°‘æœ‰ä¸€æ¡ <Text> 为空。"
-#: src/wx/verify_dcp_result_panel.cc:417
+#: src/wx/verify_dcp_result_panel.cc:432
msgid ""
"At least one asset in a reel does not have the same duration as the others."
msgstr "å·è½´ä¸­è‡³å°‘一个资产的æŒç»­æ—¶é—´ä¸Žå…¶ä»–资产的æŒç»­æ—¶é—´ä¸åŒã€‚"
-#: src/wx/verify_dcp_result_panel.cc:387
+#: src/wx/verify_dcp_result_panel.cc:402
msgid "At least one pair of subtitles is separated by less than 2 frames."
msgstr "至少一组字幕相隔少于2帧。"
-#: src/wx/verify_dcp_result_panel.cc:381
+#: src/wx/verify_dcp_result_panel.cc:396
msgid "At least one subtitle has zero or negative duration."
msgstr "至少有一个字幕æŒç»­æ—¶é—´ä¸º0或为负数。"
-#: src/wx/verify_dcp_result_panel.cc:384
+#: src/wx/verify_dcp_result_panel.cc:399
msgid "At least one subtitle lasts less than 15 frames."
msgstr "至少有一个字幕æŒç»­æ—¶é—´å°‘于15帧。"
@@ -820,9 +824,8 @@ msgid "Check for updates on startup"
msgstr "å¯åŠ¨æ—¶æ£€æŸ¥è½¯ä»¶æ›´æ–°"
#: src/wx/content_menu.cc:116
-#, fuzzy
msgid "Choose CPL"
-msgstr "选择CPL…"
+msgstr "选择CPL"
#: src/wx/content_panel.cc:677
msgid "Choose a DCP folder"
@@ -864,7 +867,7 @@ msgstr "影院和影厅数æ®åº“文件"
msgid "Click the button to set all selected content to the same value."
msgstr "å•击该按钮å¯å°†æ‰€æœ‰é€‰å®šçš„内容为相åŒçš„值。"
-#: src/wx/verify_dcp_result_panel.cc:435
+#: src/wx/verify_dcp_result_panel.cc:450
#, c-format
msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>."
msgstr "éšè—å¼å­—å¹•èµ„æº %asset_id 具有éžé›¶ <EntryPoint>。"
@@ -1009,7 +1012,7 @@ msgstr "无法载入è¯ä¹¦ (%s)"
msgid "Could not play content"
msgstr "无法播放内容"
-#: src/wx/verify_dcp_result_panel.cc:271
+#: src/wx/verify_dcp_result_panel.cc:286
#, c-format
msgid "Could not read DCP (%error)"
msgstr "æ— æ³•è¯»å– DCP (%error)"
@@ -1032,9 +1035,8 @@ msgid "Could not read certificate file."
msgstr "无法读å–è¯ä¹¦æ–‡ä»¶ã€‚"
#: src/wx/certificate_chain_editor.cc:195
-#, fuzzy
msgid "Could not read certificate file. Make sure it is in PEM format."
-msgstr "无法读å–è¯ä¹¦æ–‡ä»¶ã€‚"
+msgstr "无法读å–è¯ä¹¦æ–‡ä»¶ã€‚ç¡®ä¿å®ƒæ˜¯ PEM æ ¼å¼ã€‚"
#: src/wx/qube_certificate_panel.cc:55
msgid "Could not read certificates from Qube server."
@@ -1134,9 +1136,8 @@ msgid "Debug: audio analysis"
msgstr "调试: 音频分æž"
#: src/wx/full_config_dialog.cc:1322
-#, fuzzy
msgid "Debug: butler"
-msgstr "调试: 播放器"
+msgstr "调试: 管家(butler)"
#: src/wx/full_config_dialog.cc:1314 src/wx/kdm_config_dialog.cc:142
msgid "Debug: email sending"
@@ -1355,33 +1356,28 @@ msgid "Encoding Servers"
msgstr "ç¼–ç æœåС噍"
#: src/wx/encryption_settings_dialog.cc:33
-#, fuzzy
msgid "Encrypt picture"
-msgstr "加密"
+msgstr "加密图åƒ"
#: src/wx/encryption_settings_dialog.cc:34
-#, fuzzy
msgid "Encrypt sound"
-msgstr "加密"
+msgstr "加密声音"
#: src/wx/encryption_settings_dialog.cc:35
-#, fuzzy
msgid "Encrypt text"
-msgstr "加密"
+msgstr "加密文本"
#: src/wx/dcp_panel.cc:106 src/wx/spl_entry_dialog.cc:51
msgid "Encrypted"
msgstr "加密"
#: src/wx/encryption_settings_dialog.cc:31
-#, fuzzy
msgid "Encryption settings"
-msgstr "导出所有KDM加密设置…"
+msgstr "加密设置"
#: src/wx/dcp_panel.cc:107
-#, fuzzy
msgid "Encryption settings..."
-msgstr "导出所有KDM加密设置…"
+msgstr "加密设置..."
#: src/wx/text_view.cc:68
msgid "End"
@@ -1502,29 +1498,24 @@ msgid "Finding the colours in these subtitles..."
msgstr "查找这些字幕中的颜色..."
#: src/wx/markers.cc:39
-#, fuzzy
msgid "First frame of end credits (FFEC)"
-msgstr "片尾的第一帧"
+msgstr "片尾字幕的第一帧(FFEC)"
#: src/wx/markers.cc:37
-#, fuzzy
msgid "First frame of intermission (FFOI)"
-msgstr "幕间休æ¯ç¬¬ä¸€å¸§"
+msgstr "幕间休æ¯çš„第一帧 (FFOI)"
#: src/wx/markers.cc:41
-#, fuzzy
msgid "First frame of moving credits (FFMC)"
-msgstr "动æ€å­—幕的第一帧"
+msgstr "滚动字幕的第一帧(FFMC)"
#: src/wx/markers.cc:33
-#, fuzzy
msgid "First frame of ratings band (FFOB)"
-msgstr "评级等级的第一帧"
+msgstr "评级的第一帧(FFOB)"
#: src/wx/markers.cc:35
-#, fuzzy
msgid "First frame of title credits (FFTC)"
-msgstr "标题字幕第一帧"
+msgstr "标题字幕第一帧(FFTC)"
#: src/wx/short_kdm_output_panel.cc:115 src/wx/tall_kdm_output_panel.cc:84
msgid "Folder / ZIP name format"
@@ -1554,26 +1545,28 @@ msgstr "视频标记"
msgid "Format"
msgstr "æ ¼å¼"
-#: src/wx/verify_dcp_result_panel.cc:328
+#: src/wx/verify_dcp_result_panel.cc:343
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is close to the limit of 250Mbit/s."
msgstr "视频资产 %fï¼ˆæ—¶é—´ç  %timecode)的至少一个%f帧接近250MBit/sçš„é™åˆ¶ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:321
+#: src/wx/verify_dcp_result_panel.cc:336
#, c-format
msgid ""
"Frame %frame (timecode %timecode) in asset %f has an instantaneous bit rate "
"that is over the limit of 250Mbit/s."
msgstr "视频资产 %f (æ—¶é—´ç  %ti)的至少一个%f 帧超过250MBit/sçš„é™åˆ¶ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:660
+#: src/wx/verify_dcp_result_panel.cc:662
#, c-format
msgid ""
"Frame %frame has an image component that is too large (component %component "
"is %size_in_bytes bytes in size)."
-msgstr "帧 %frame 包å«ä¸€ä¸ªå›¾åƒç»„件过大(组件 %component 的大å°ä¸º %size_in_bytes 字节)"
+msgstr ""
+"帧 %frame 包å«ä¸€ä¸ªå›¾åƒç»„件过大(组件 %component 的大å°ä¸º %size_in_bytes å­—"
+"节)"
#: src/wx/dcp_panel.cc:868
msgid "Frame Rate"
@@ -1945,29 +1938,24 @@ msgid "Language used for any sign language video track"
msgstr "用于手语视频轨é“的语言"
#: src/wx/markers.cc:40
-#, fuzzy
msgid "Last frame of end credits (LFEC)"
-msgstr "片尾字幕的最åŽä¸€å¸§"
+msgstr "片尾字幕的最åŽä¸€å¸§(LFEC)"
#: src/wx/markers.cc:38
-#, fuzzy
msgid "Last frame of intermission (LFOI)"
-msgstr "幕间休æ¯çš„æœ€åŽä¸€å¸§"
+msgstr "幕间休æ¯çš„æœ€åŽä¸€å¸§(LFOI)"
#: src/wx/markers.cc:42
-#, fuzzy
msgid "Last frame of moving credits (LFMC)"
-msgstr "动æ€å­—幕的最åŽä¸€å¸§"
+msgstr "动æ€å­—幕的最åŽä¸€å¸§(LFMC)"
#: src/wx/markers.cc:34
-#, fuzzy
msgid "Last frame of ratings band (LFOB)"
-msgstr "评级等级的最åŽä¸€å¸§"
+msgstr "评级等级的最åŽä¸€å¸§(LFOB)"
#: src/wx/markers.cc:36
-#, fuzzy
msgid "Last frame of title credits (LFTC)"
-msgstr "标题字幕的最åŽä¸€å¸§"
+msgstr "标题字幕的最åŽä¸€å¸§(LFTC)"
#: src/wx/content_panel.cc:292
msgid "Later"
@@ -2082,9 +2070,8 @@ msgid "MPEG2 Interop"
msgstr "MPEG2 Interop"
#: src/wx/export_subtitles_dialog.cc:48
-#, fuzzy
msgid "MXF (SMPTE)"
-msgstr "SMPTE"
+msgstr "MXF (SMPTE)"
#. TRANSLATORS: Main and Additional here are a choice for whether a set of subtitles is in the "main" language of the
#. film or an "additional" language.
@@ -2177,80 +2164,80 @@ msgstr "元数æ®â€¦â€¦"
msgid "Mix audio down to stereo"
msgstr "将所有音频轨混到一个åŒå£°é“轨"
-#: src/wx/verify_dcp_result_panel.cc:556
+#: src/wx/verify_dcp_result_panel.cc:571
msgid ""
"More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr "更多2K JPEG2000帧(未列出)包å«é”™è¯¯æ•°é‡çš„æ ‡é¢˜éƒ¨åˆ†ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:493
+#: src/wx/verify_dcp_result_panel.cc:508
msgid ""
"More 2K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr "更多2K JPEG2000å¸§ï¼ˆæœªåˆ—å‡ºï¼‰åŒ…å«æ— æ•ˆçš„ä¿æŠ¤ä½æ•°é‡ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:528
+#: src/wx/verify_dcp_result_panel.cc:543
msgid "More 2K JPEG2000 frames (not listed) have too many POC markers."
msgstr "更多2K JPEG2000帧(未列出)包å«å¤ªå¤šPOC标记。"
-#: src/wx/verify_dcp_result_panel.cc:500
+#: src/wx/verify_dcp_result_panel.cc:515
msgid ""
"More 4K JPEG2000 frames (not listed) have an invalid number of guard bits."
msgstr "更多4K JPEG2000å¸§ï¼ˆæœªåˆ—å‡ºï¼‰åŒ…å«æ— æ•ˆçš„ä¿æŠ¤ä½æ•°é‡ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:535
+#: src/wx/verify_dcp_result_panel.cc:550
msgid "More 4K JPEG2000 frames (not listed) have too many POC markers."
msgstr "更多4K JPEG2000帧(未列出)包å«å¤ªå¤šPOC标记。"
-#: src/wx/verify_dcp_result_panel.cc:549
+#: src/wx/verify_dcp_result_panel.cc:564
msgid ""
"More JPEG2000 frames (not listed) contain POC markers in invalid locations."
msgstr "更多JPEG2000帧(未列出)在无效ä½ç½®åŒ…å«POC标记。"
-#: src/wx/verify_dcp_result_panel.cc:542
+#: src/wx/verify_dcp_result_panel.cc:557
msgid "More JPEG2000 frames (not listed) contain invalid POC markers."
msgstr "更多JPEG2000å¸§ï¼ˆæœªåˆ—å‡ºï¼‰åŒ…å«æ— æ•ˆçš„POC标记。"
-#: src/wx/verify_dcp_result_panel.cc:570 src/wx/verify_dcp_result_panel.cc:577
+#: src/wx/verify_dcp_result_panel.cc:585 src/wx/verify_dcp_result_panel.cc:592
msgid "More JPEG2000 frames (not listed) contain invalid Rsiz values."
msgstr "更多JPEG2000å¸§ï¼ˆæœªåˆ—å‡ºï¼‰åŒ…å«æ— æ•ˆçš„Rsiz值。"
-#: src/wx/verify_dcp_result_panel.cc:563
+#: src/wx/verify_dcp_result_panel.cc:578
msgid ""
"More JPEG2000 frames (not listed) contain the wrong number of tile parts."
msgstr "更多JPEG2000帧(未列出)包å«é”™è¯¯æ•°é‡çš„æ ‡é¢˜éƒ¨åˆ†ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:521
+#: src/wx/verify_dcp_result_panel.cc:536
msgid "More JPEG2000 frames (not listed) have an invalid code-block height."
msgstr "更多JPEG2000å¸§ï¼ˆæœªåˆ—å‡ºï¼‰åŒ…å«æ— æ•ˆçš„ç å—高度。"
-#: src/wx/verify_dcp_result_panel.cc:514
+#: src/wx/verify_dcp_result_panel.cc:529
msgid "More JPEG2000 frames (not listed) have an invalid code-block width."
msgstr "更多JPEG2000å¸§ï¼ˆæœªåˆ—å‡ºï¼‰åŒ…å«æ— æ•ˆçš„ç å—宽度。"
-#: src/wx/verify_dcp_result_panel.cc:584
+#: src/wx/verify_dcp_result_panel.cc:599
msgid "More JPEG2000 frames (not listed) have no TLM marker."
msgstr "更多JPEG2000帧(未列出)缺少 TLM 标记。"
-#: src/wx/verify_dcp_result_panel.cc:507
+#: src/wx/verify_dcp_result_panel.cc:522
msgid "More JPEG2000 tile sizes (not listed) do not match the image size."
msgstr "更多JPEG2000图å—大å°ä¸Žå›¾åƒå°ºå¯¸ä¸åŒ¹é…。"
-#: src/wx/verify_dcp_result_panel.cc:329
+#: src/wx/verify_dcp_result_panel.cc:344
msgid ""
"More frames (not listed) have an instantaneous bit rate that is close to the "
"limit of 250Mbit/s."
msgstr "更多帧(未列出)的瞬时比特率接近250Mbit/sçš„æžé™ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:322
+#: src/wx/verify_dcp_result_panel.cc:337
msgid ""
"More frames (not listed) have an instantaneous bit rate that is over the "
"limit of 250Mbit/s."
msgstr "更多帧(未列出)的瞬时比特率超过250Mbit/sçš„é™åˆ¶ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:661
+#: src/wx/verify_dcp_result_panel.cc:663
msgid "More frames (not listed) have image components that are too large."
msgstr "更多帧(未列出)包å«è¿‡å¤§çš„图åƒç»„件。"
-#: src/wx/verify_dcp_result_panel.cc:486
+#: src/wx/verify_dcp_result_panel.cc:501
msgid "More picture frames (not listed) have invalid JPEG2000 codestreams."
msgstr "æ›´å¤šå›¾ç‰‡å¸§ï¼ˆæœªåˆ—å‡ºï¼‰åŒ…å«æ— æ•ˆçš„JPEG2000ç æµã€‚"
@@ -2338,7 +2325,7 @@ msgstr "下一步"
msgid "No"
msgstr "ä¸"
-#: src/wx/verify_dcp_result_panel.cc:310
+#: src/wx/verify_dcp_result_panel.cc:325
msgid "No ASSETMAP or ASSETMAP.xml file was found."
msgstr "找ä¸åˆ°ASSETMAP或ASSETMAP.xml文件。"
@@ -2346,7 +2333,7 @@ msgstr "找ä¸åˆ°ASSETMAP或ASSETMAP.xml文件。"
msgid "No DCP loaded."
msgstr "没有加载DCP。"
-#: src/wx/verify_dcp_result_panel.cc:709
+#: src/wx/verify_dcp_result_panel.cc:711
msgid "No SMPTE Bv2.1 errors found."
msgstr "未å‘现SMPTE Bv2.1错误。"
@@ -2359,11 +2346,11 @@ msgstr "没有音频将从 %s 通é““%sâ€ä¼ é€’到 %s 通é““%sâ€ã€‚"
msgid "No content found in this folder."
msgstr "文件夹中没有找到文件。"
-#: src/wx/verify_dcp_result_panel.cc:705
+#: src/wx/verify_dcp_result_panel.cc:707
msgid "No errors found."
msgstr "没有å‘现错误。"
-#: src/wx/verify_dcp_result_panel.cc:713
+#: src/wx/verify_dcp_result_panel.cc:715
msgid "No warnings found."
msgstr "没有å‘现任何警告。"
@@ -2377,7 +2364,7 @@ msgstr "éžæ ‡å‡†è®¾ç½®ï¼ˆé«˜çº§)"
msgid "None"
msgstr "æ— "
-#: src/wx/verify_dcp_result_panel.cc:369
+#: src/wx/verify_dcp_result_panel.cc:384
msgid "Not all subtitle assets specify the same <Language> tag."
msgstr "䏿˜¯æ‰€æœ‰å­—幕资æºéƒ½æŒ‡å®šç›¸åŒçš„ <Language> 标签。"
@@ -2506,11 +2493,11 @@ msgstr "覆盖已侦测到的视频帧率"
msgid "Overwrite this file with current configuration"
msgstr "使用当å‰è®¾ç½®æ”¹å†™è¿™ä¸ªæ–‡ä»¶"
-#: src/wx/verify_dcp_result_panel.cc:613
+#: src/wx/verify_dcp_result_panel.cc:615
msgid "Part of the DCP could not be checked because no KDM was available."
msgstr "由于没有å¯ç”¨çš„KDM,因此无法检查DCP。"
-#: src/wx/verify_dcp_result_panel.cc:298
+#: src/wx/verify_dcp_result_panel.cc:313
msgid ""
"Parts of the DCP are written according to the Interop standard and parts "
"according to SMPTE."
@@ -3022,7 +3009,7 @@ msgstr "选择debug日志文件"
msgid "Select output file"
msgstr "选择输出文件"
-#: src/wx/full_language_tag_dialog.cc:222
+#: src/wx/full_language_tag_dialog.cc:221
msgid "Select..."
msgstr "选择…"
@@ -3190,14 +3177,14 @@ msgid ""
"certificate validity periods. What do you want to do?"
msgstr "æŸäº›å¯†é’¥è¶…出有效期,密钥无效,希望如何处ç†ï¼Ÿ"
-#: src/wx/verify_dcp_result_panel.cc:619
+#: src/wx/verify_dcp_result_panel.cc:621
msgid ""
"Some closed <Text> or <Image> nodes have different vertical alignments "
"within a <Subtitle>."
msgstr ""
"部分éšè—å¼ <Text> 或 <Image> 节点在 <Subtitle> å†…çš„åž‚ç›´æ–¹å‘æŽ’åˆ—ä½ç½®æœ‰å˜åŒ–。"
-#: src/wx/verify_dcp_result_panel.cc:622
+#: src/wx/verify_dcp_result_panel.cc:624
msgid ""
"Some closed captions are not listed in the order of their vertical position."
msgstr "部分éšè—å¼å­—幕未按其垂直方å‘ä½ç½®åˆ—出。"
@@ -3206,7 +3193,7 @@ msgstr "部分éšè—å¼å­—幕未按其垂直方å‘ä½ç½®åˆ—出。"
msgid "Sound"
msgstr "声音"
-#: src/wx/verify_dcp_result_panel.cc:649
+#: src/wx/verify_dcp_result_panel.cc:651
msgid "Sound assets do not all have the same channel count."
msgstr "声音资æºçš„声铿•°ä¸ä¸€è‡´ã€‚"
@@ -3291,7 +3278,7 @@ msgstr "订阅者"
msgid "Subtitle appearance"
msgstr "字幕外观"
-#: src/wx/verify_dcp_result_panel.cc:429
+#: src/wx/verify_dcp_result_panel.cc:444
#, c-format
msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>."
msgstr "字幕文件 %asset_id有éžé›¶ <EntryPoint>。"
@@ -3377,113 +3364,113 @@ msgstr "测试人员和机构"
msgid "The 'until' time must be after the 'from' time."
msgstr "ç»“æŸæ—¶é—´å¿…须大于开始时间。"
-#: src/wx/verify_dcp_result_panel.cc:677
+#: src/wx/verify_dcp_result_panel.cc:679
#, c-format
msgid "The <LabelText> in a <ContentVersion> in CPL %cpl is empty"
msgstr "CPL %cpl中的<ContentVersion>中的<LabelText>为空"
-#: src/wx/verify_dcp_result_panel.cc:634
+#: src/wx/verify_dcp_result_panel.cc:636
msgid ""
"The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than "
"an asset."
msgstr "<MainPictureActiveArea>䏿˜¯2çš„å€æ•°ï¼Œæˆ–者大于资产。"
-#: src/wx/verify_dcp_result_panel.cc:640
+#: src/wx/verify_dcp_result_panel.cc:642
#, c-format
msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID."
msgstr "ASSETMAP %asset_map_id 中有一个以上的资产具有相åŒçš„ID。"
-#: src/wx/verify_dcp_result_panel.cc:594
+#: src/wx/verify_dcp_result_panel.cc:609
msgid ""
"The Asset ID in a timed text MXF is the same as the Resource ID or that of "
"the contained XML."
msgstr "时间文本 MXF 中的资产 ID ä¸Žèµ„æº ID 或包å«çš„ XML çš„èµ„æº ID 相åŒã€‚"
-#: src/wx/verify_dcp_result_panel.cc:414
+#: src/wx/verify_dcp_result_panel.cc:429
#, c-format
msgid ""
"The CPL %cpl has an <AnnotationText> which is not the same as its "
"<ContentTitleText>."
msgstr "CPL %cplçš„ <AnnotationText> 与其 <ContentTitleText> ä¸åŒã€‚"
-#: src/wx/verify_dcp_result_panel.cc:680
+#: src/wx/verify_dcp_result_panel.cc:682
#, c-format
msgid "The CPL %cpl has an invalid namespace %xml_namespace"
msgstr "声音资产 %cpl 的帧率 %xml_namespace éžæ³•"
-#: src/wx/verify_dcp_result_panel.cc:471
+#: src/wx/verify_dcp_result_panel.cc:486
#, c-format
msgid "The CPL %cpl has encrypted content but is not signed."
msgstr "CPL %cpl已加密内容,但未签å。"
-#: src/wx/verify_dcp_result_panel.cc:411
+#: src/wx/verify_dcp_result_panel.cc:426
#, c-format
msgid "The CPL %cpl has no <AnnotationText> tag."
msgstr "CPL %cpl没有 <AnnotationText> 标记。"
-#: src/wx/verify_dcp_result_panel.cc:683
+#: src/wx/verify_dcp_result_panel.cc:685
#, c-format
msgid "The CPL %cpl has no <ContentVersion> tag"
msgstr "CPL %cpl没有 <ContentVersion> 标记"
-#: src/wx/verify_dcp_result_panel.cc:465
+#: src/wx/verify_dcp_result_panel.cc:480
#, c-format
msgid "The CPL %cpl has no CPL extension metadata tag."
msgstr "CPL %cpl 没有CPLæ‰©å±•å…ƒæ•°æ®æ ‡è®°ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:459
+#: src/wx/verify_dcp_result_panel.cc:474
#, c-format
msgid "The CPL %cpl has no CPL metadata tag."
msgstr "CPL %cpl 没有CPLå…ƒæ•°æ®æ ‡è®°ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:462
+#: src/wx/verify_dcp_result_panel.cc:477
#, c-format
msgid "The CPL %cpl has no CPL metadata version number tag."
msgstr "CPL %cpl 没有CPL元数æ®ç‰ˆæœ¬å·æ ‡è®°ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:468
+#: src/wx/verify_dcp_result_panel.cc:483
#, c-format
msgid "The CPL %f has an invalid CPL extension metadata tag (%error)"
msgstr "CPL %f具有无效的CPLæ‰©å±•å…ƒæ•°æ®æ ‡è®°(%error)"
-#: src/wx/verify_dcp_result_panel.cc:453
+#: src/wx/verify_dcp_result_panel.cc:468
#, c-format
msgid "The DCP has a FFOC of %time instead of 1."
msgstr "DCPçš„FFOC为%timeï¼Œè€Œä¸æ˜¯1。"
-#: src/wx/verify_dcp_result_panel.cc:456
+#: src/wx/verify_dcp_result_panel.cc:471
#, c-format
msgid "The DCP has a LFOC of %time instead of the reel duration minus one."
msgstr "DCPçš„LFOC为%timeï¼Œè€Œä¸æ˜¯å·è½´æŒç»­æ—¶é—´å‡1。"
-#: src/wx/verify_dcp_result_panel.cc:423
+#: src/wx/verify_dcp_result_panel.cc:438
msgid ""
"The DCP has closed captions but not every reel has the same number of closed "
"caption assets."
msgstr "DCP有éšè—å­—å¹•ï¼Œä½†ä¸æ˜¯æ¯ä¸€å·éƒ½æœ‰ç›¸åŒæ•°é‡çš„éšè—字幕资产。"
-#: src/wx/verify_dcp_result_panel.cc:480
+#: src/wx/verify_dcp_result_panel.cc:495
msgid "The DCP has encrypted content, but not all its assets are encrypted."
msgstr "DCPå…·æœ‰å·²åŠ å¯†å†…å®¹ï¼Œä½†å¹¶éžæ‰€æœ‰èµ„产都已加密。"
-#: src/wx/verify_dcp_result_panel.cc:447
+#: src/wx/verify_dcp_result_panel.cc:462
msgid "The DCP has no FFOC (first frame of content) marker."
msgstr "DCP没有FFOC(内容的第一帧)标记。"
-#: src/wx/verify_dcp_result_panel.cc:450
+#: src/wx/verify_dcp_result_panel.cc:465
msgid "The DCP has no LFOC (last frame of content) marker."
msgstr "DCP没有LFOC(内容的最åŽä¸€å¸§ï¼‰æ ‡è®°ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:420
+#: src/wx/verify_dcp_result_panel.cc:435
msgid "The DCP has subtitles but at least one reel has no subtitle asset."
msgstr "DCPæœ‰å­—å¹•ï¼Œä½†è‡³å°‘æœ‰ä¸€ä¸ªå·æ²¡æœ‰å­—幕资产。"
-#: src/wx/verify_dcp_result_panel.cc:441
+#: src/wx/verify_dcp_result_panel.cc:456
msgid ""
"The DCP is a feature but has no FFEC (first frame of end credits) marker."
msgstr "此DCP被标记为影片的正片,但没有FFEC(片尾字幕的第一帧)标记。"
-#: src/wx/verify_dcp_result_panel.cc:444
+#: src/wx/verify_dcp_result_panel.cc:459
msgid ""
"The DCP is a feature but has no FFMC (first frame of moving credits) marker."
msgstr "æ­¤DCP被标记为影片的正片,但没有FFMC(动æ€å­—幕的第一帧)标记。"
@@ -3504,107 +3491,110 @@ msgid ""
"certificate's validity period. Use a later start time for this KDM."
msgstr "KDM起始时间在签署è¯ä¹¦ç”Ÿæ•ˆä¹‹å‰ (或接近)。为此KDM设置较晚的起始时间。"
-#: src/wx/verify_dcp_result_panel.cc:699
+#: src/wx/verify_dcp_result_panel.cc:701
#, c-format
msgid "The PKL %f has an invalid namespace %xml_namespace"
msgstr "声音资产 %f 的帧率 %xml_namespace éžæ³•"
-#: src/wx/verify_dcp_result_panel.cc:477
+#: src/wx/verify_dcp_result_panel.cc:492
#, c-format
msgid ""
"The PKL %pkl has an <AnnotationText> which does not match its CPL's "
"<ContentTitleText>."
msgstr "PKL%pkl具有与其CPLçš„ <ContentTitleText> ä¸åŒ¹é…çš„ <AnnotationText> 。"
-#: src/wx/verify_dcp_result_panel.cc:474
+#: src/wx/verify_dcp_result_panel.cc:489
#, c-format
msgid "The PKL %pkl has encrypted content but is not signed."
msgstr "PKL %pkl包å«å·²åŠ å¯†å†…å®¹ï¼Œä½†æœªç­¾å。"
-#: src/wx/verify_dcp_result_panel.cc:637
+#: src/wx/verify_dcp_result_panel.cc:639
#, c-format
msgid "The PKL %pkl_id has more than one asset with the same ID."
msgstr "PKL %pkl_id 包å«ä¸€ä¸ªä»¥ä¸Šçš„资产具有相åŒçš„ID。"
-#: src/wx/verify_dcp_result_panel.cc:283
+#: src/wx/verify_dcp_result_panel.cc:298
#, c-format
msgid "The PKL and CPL hashes disagree for picture asset %f."
msgstr "图片资产 %f çš„ PKL å’Œ CPL 哈希值åŒè¯¥èµ„产ä¸ä¸€è‡´ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:289
+#: src/wx/verify_dcp_result_panel.cc:304
#, c-format
msgid "The PKL and CPL hashes disagree for sound asset %f."
msgstr "音频资产 %f çš„ PKL å’Œ CPL 哈希值åŒè¯¥èµ„产ä¸ä¸€è‡´ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:591
+#: src/wx/verify_dcp_result_panel.cc:606
msgid ""
"The Resource ID in a timed text MXF did not match the ID of the contained "
"XML."
msgstr "时间文本 MXF ä¸­çš„èµ„æº ID 与所包å«çš„ XML çš„ ID ä¸åŒ¹é…。"
-#: src/wx/verify_dcp_result_panel.cc:671
+#: src/wx/verify_dcp_result_panel.cc:673
#, c-format
msgid ""
"The SMPTE subtitle asset %asset_id has <Text> nodes but no <LoadFont> node"
msgstr "SMPTE 字幕资产 %asset_id 有 <Text> 节点,但缺少 <LoadFont> 节点"
-#: src/wx/verify_dcp_result_panel.cc:305
+#: src/wx/verify_dcp_result_panel.cc:320
#, c-format
msgid "The XML in %f is malformed (%error)."
msgstr "%f中的XMLæ ¼å¼ä¸æ­£ç¡®(%error)。"
-#: src/wx/verify_dcp_result_panel.cc:303
+#: src/wx/verify_dcp_result_panel.cc:318
msgid "The XML in %f is malformed on line %l (%error)."
msgstr "%f 中的XML在第 %l 行格å¼ä¸æ­£ç¡®(%error)。"
-#: src/wx/verify_dcp_result_panel.cc:357
+#: src/wx/verify_dcp_result_panel.cc:372
#, c-format
msgid ""
-"The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the "
-"256KB limit."
-msgstr "éšè—å¼å­—幕资产 %f 中的XMLå ç”¨äº† %size_in_bytes 字节,超过了256KBçš„é™åˆ¶ã€‚"
+"The XML in the closed caption asset %f takes up %size_in_bytes bytes which "
+"is over the 256KB limit."
+msgstr ""
+"éšè—å¼å­—幕资产 %f 中的XMLå ç”¨äº† %size_in_bytes 字节,超过了256KBçš„é™åˆ¶ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:665
+#: src/wx/verify_dcp_result_panel.cc:667
#, c-format
msgid ""
-"The XML in the subtitle asset %asset_id has more than one namespace declaration."
+"The XML in the subtitle asset %asset_id has more than one namespace "
+"declaration."
msgstr "字幕资产 %asset_id 中的 XML 包å«å¤šä¸ªå‘½å空间声明。"
-#: src/wx/verify_dcp_result_panel.cc:336
-#, c-format
-msgid "The asset %f is 3D but its MXF is marked as 2D."
-msgstr "此资产 %f 是3D的,但其MXF被标记为2D。"
-
-#: src/wx/verify_dcp_result_panel.cc:295
-#, c-format
-msgid "The asset %f is missing."
-msgstr "丢失资产 %f。"
-
-#: src/wx/verify_dcp_result_panel.cc:316
+#: src/wx/verify_dcp_result_panel.cc:331
#, c-format
-msgid "The asset %asset_id has a duration of less than 1 second, which is invalid."
+msgid ""
+"The asset %asset_id has a duration of less than 1 second, which is invalid."
msgstr "此资产 %asset_id çš„æŒç»­æ—¶é—´å°‘于1秒,这是无效的。"
-#: src/wx/verify_dcp_result_panel.cc:313
+#: src/wx/verify_dcp_result_panel.cc:328
#, c-format
msgid ""
-"The asset %asset_id has an intrinsic duration of less than 1 second, which is "
-"invalid."
+"The asset %asset_id has an intrinsic duration of less than 1 second, which "
+"is invalid."
msgstr "此资产 %asset_id çš„æŒç»­æ—¶é—´å°äºŽ1秒,这是无效的。"
-#: src/wx/verify_dcp_result_panel.cc:438
+#: src/wx/verify_dcp_result_panel.cc:453
#, c-format
msgid "The asset %asset_id has no <Hash> in the CPL."
msgstr "此资产 %asset_id 在CPL中没有<Hash>。"
-#: src/wx/verify_dcp_result_panel.cc:674
+#: src/wx/verify_dcp_result_panel.cc:351
+#, c-format
+msgid "The asset %f is 3D but its MXF is marked as 2D."
+msgstr "此资产 %f 是3D的,但其MXF被标记为2D。"
+
+#: src/wx/verify_dcp_result_panel.cc:310
+#, c-format
+msgid "The asset %f is missing."
+msgstr "丢失资产 %f。"
+
+#: src/wx/verify_dcp_result_panel.cc:676
#, c-format
msgid ""
"The asset with ID %asset_id in the asset map actually has an id of "
"%other_asset_id"
msgstr "资产映射中 ID 为 %asset_id 的资产实际上具有 ID %other_asset_id"
-#: src/wx/verify_dcp_result_panel.cc:432
+#: src/wx/verify_dcp_result_panel.cc:447
#, c-format
msgid "The closed caption asset %asset_id has no <EntryPoint> tag."
msgstr "éšè—å¼å­—幕资产 %asset_id 没有 <EntryPoint> 标记。"
@@ -3643,48 +3633,47 @@ msgid ""
"or overwrite it with your current configuration?"
msgstr "文件 %s å·²ç»å­˜åœ¨ã€‚您希望将它作为新设置或是用现有设置覆盖他?"
-#: src/wx/verify_dcp_result_panel.cc:378
+#: src/wx/verify_dcp_result_panel.cc:393
msgid ""
"The first subtitle or closed caption happens before 4s into the first reel."
msgstr "第一个字幕或éšè—å¼å­—幕出现在第一å·4秒之å‰ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:655
+#: src/wx/verify_dcp_result_panel.cc:657
#, c-format
msgid ""
-"The font file for font ID \"%load_font_id\" was not found, or was not referred to in "
-"the ASSETMAP."
+"The font file for font ID \"%load_font_id\" was not found, or was not "
+"referred to in the ASSETMAP."
msgstr "字体文件 ID “%load_font_id†未找到,或未在 ASSETMAP 中引用。"
-#: src/wx/verify_dcp_result_panel.cc:363
+#: src/wx/verify_dcp_result_panel.cc:378
#, c-format
msgid ""
-"The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB "
-"limit."
+"The fonts in the timed text asset %f take up %size_in_bytes bytes which is "
+"over the 10MB limit."
msgstr "字幕资产 %f 中的字体å ç”¨äº† %size_in_bytes 字节,超过了10MBçš„é™åˆ¶ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:280
+#: src/wx/verify_dcp_result_panel.cc:295
msgid ""
"The hash (%calculated_hash) of the picture asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr "图片资产的哈希值与PKL文件中哈希值ä¸ä¸€è‡´ã€‚å¯èƒ½èµ„产文件已æŸå。"
-#: src/wx/verify_dcp_result_panel.cc:286
+#: src/wx/verify_dcp_result_panel.cc:301
msgid ""
"The hash (%calculated_hash) of the sound asset %f does not agree with the "
"PKL file (%reference_hash). This probably means that the asset file is "
"corrupt."
msgstr "声音资产的哈希值与PKL文件的哈希值ä¸ä¸€è‡´ã€‚å¯èƒ½èµ„产文件已æŸå。"
-#: src/wx/verify_dcp_result_panel.cc:274
+#: src/wx/verify_dcp_result_panel.cc:289
msgid ""
"The hash (%reference_hash) of the CPL %cpl in the PKL does not agree with "
"the CPL file (%calculated_hash). This probably means that the CPL file is "
"corrupt."
msgstr "PKL中CPL哈希值与CPL文件的哈希值ä¸ä¸€è‡´ã€‚å¯èƒ½CPL文件已æŸå。"
-#: src/wx/verify_dcp_result_panel.cc:342
-#, c-format
+#: src/wx/verify_dcp_result_panel.cc:357
msgid "The invalid language tag %language is used."
msgstr "使用了无效的语言标记%language。"
@@ -3693,25 +3682,27 @@ msgstr "使用了无效的语言标记%language。"
msgid "The language that the film's title (\"%s\") is in"
msgstr "电影标题(“%sâ€)使用的语言"
-#: src/wx/verify_dcp_result_panel.cc:277
+#: src/wx/verify_dcp_result_panel.cc:292
#, c-format
msgid ""
"The picture in a reel has a frame rate of %frame_rate, which is not valid."
msgstr "分å·åŒ…å«çš„图åƒå†…容帧速率 %frame_rate éžæ³•。"
-#: src/wx/verify_dcp_result_panel.cc:604
+#: src/wx/verify_dcp_result_panel.cc:612
#, c-format
msgid ""
-"The reel duration (%other_duration) of some timed text is not the same as the "
-"ContainerDuration (%duration) of its MXF."
-msgstr "æŸäº›å­—å¹•æ–‡æœ¬çš„åˆ†å·æŒç»­æ—¶é—´ (%other_duration) 与其MXF的容器æŒç»­æ—¶é—´ (%duration) ä¸åŒã€‚"
+"The reel duration (%other_duration) of some timed text is not the same as "
+"the ContainerDuration (%duration) of its MXF."
+msgstr ""
+"æŸäº›å­—å¹•æ–‡æœ¬çš„åˆ†å·æŒç»­æ—¶é—´ (%other_duration) 与其MXF的容器æŒç»­æ—¶é—´ "
+"(%duration) ä¸åŒã€‚"
-#: src/wx/verify_dcp_result_panel.cc:408
+#: src/wx/verify_dcp_result_panel.cc:423
#, c-format
msgid "The sound asset %f has an invalid bit depth of %bit_depth."
-msgstr "声音资产 %f çš„ä½æ·±åº¦ %bit_depth 无效。"
+msgstr "音频资产 %f çš„ä½æ·± %bit_depth 无效。"
-#: src/wx/verify_dcp_result_panel.cc:405
+#: src/wx/verify_dcp_result_panel.cc:420
#, c-format
msgid "The sound asset %f has an invalid frame rate of %frame_rate."
msgstr "声音资产 %f 的帧率 %frame_rate 无效。"
@@ -3724,76 +3715,76 @@ msgstr ""
"DCP 应使用的标准。 Interop是较旧的标准,而 SMPTE 是更新(当å‰ï¼‰æ ‡å‡†ã€‚ 如果您"
"æ‹¿ä¸å‡†ï¼Œè¯·é€‰æ‹©â€œSMPTEâ€"
-#: src/wx/verify_dcp_result_panel.cc:366
+#: src/wx/verify_dcp_result_panel.cc:645
+#, c-format
+msgid "The subtitle asset %asset_id contains no subtitles."
+msgstr "å­—å¹•èµ„æº %asset_id ä¸åŒ…å«å­—幕。"
+
+#: src/wx/verify_dcp_result_panel.cc:441
+#, c-format
+msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
+msgstr "字幕资产 %asset_id 没有<EntryPoint>标记。"
+
+#: src/wx/verify_dcp_result_panel.cc:381
#, c-format
msgid "The subtitle asset %f contains no <Language> tag."
msgstr "字幕资产 %f ä¸åŒ…å«<Language>标记。"
-#: src/wx/verify_dcp_result_panel.cc:372
+#: src/wx/verify_dcp_result_panel.cc:387
#, c-format
msgid "The subtitle asset %f contains no <StartTime> tag."
msgstr "字幕资产 %f ä¸åŒ…å«<StartTime>标记。"
-#: src/wx/verify_dcp_result_panel.cc:375
+#: src/wx/verify_dcp_result_panel.cc:390
#, c-format
msgid "The subtitle asset %f has a <StartTime> which is not zero."
msgstr "字幕资产 %f çš„<StartTime>䏿˜¯é›¶ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:643
-#, c-format
-msgid "The subtitle asset %asset_id contains no subtitles."
-msgstr "å­—å¹•èµ„æº %asset_id ä¸åŒ…å«å­—幕。"
-
-#: src/wx/verify_dcp_result_panel.cc:426
-#, c-format
-msgid "The subtitle asset %asset_id has no <EntryPoint> tag."
-msgstr "字幕资产 %asset_id 没有<EntryPoint>标记。"
-
-#: src/wx/verify_dcp_result_panel.cc:360
+#: src/wx/verify_dcp_result_panel.cc:375
#, c-format
msgid ""
-"The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit."
+"The timed text asset %f takes up %size_in_bytes bytes which is over the "
+"115MB limit."
msgstr "字幕文本资产 %f å ç”¨äº†%size_in_bytes字节,超出了115MBçš„é™åˆ¶ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:351
+#: src/wx/verify_dcp_result_panel.cc:366
#, c-format
msgid ""
"The video asset %f uses the frame rate %frame_rate which is invalid for 4K "
"video."
msgstr "视频资产 %f 使用的帧速率 %frame_rate 对4K视频无效。"
-#: src/wx/verify_dcp_result_panel.cc:348
+#: src/wx/verify_dcp_result_panel.cc:363
#, c-format
msgid "The video asset %f uses the invalid frame rate %frame_rate."
msgstr "视频资产 %f 的帧率 %frame_rate éžæ³•。"
-#: src/wx/verify_dcp_result_panel.cc:345
+#: src/wx/verify_dcp_result_panel.cc:360
#, c-format
msgid "The video asset %f uses the invalid image size %size_in_pixels."
msgstr "视频资产 %f 使用了无效的图åƒå¤§å° %size_in_pixels。"
-#: src/wx/verify_dcp_result_panel.cc:354
-#, fuzzy
+#: src/wx/verify_dcp_result_panel.cc:369
msgid "The video asset is 4K which is not allowed for 3D video."
-msgstr "视频资产 %f 使用的帧速率 %frame_rate 对于3D视频无效。"
+msgstr "该视频素æä¸º4K,ä¸å…许用于3D视频。"
-#: src/wx/verify_dcp_result_panel.cc:399
+#: src/wx/verify_dcp_result_panel.cc:414
msgid "There are more than 3 closed caption lines in at least one place."
msgstr "至少有一处有3æ¡ä»¥ä¸Šçš„éšè—å¼å­—幕行。"
-#: src/wx/verify_dcp_result_panel.cc:390
+#: src/wx/verify_dcp_result_panel.cc:405
msgid "There are more than 3 subtitle lines in at least one place."
msgstr "至少一处有超过 3 行字幕。"
-#: src/wx/verify_dcp_result_panel.cc:402
+#: src/wx/verify_dcp_result_panel.cc:417
msgid "There are more than 32 characters in at least one closed caption line."
msgstr "至少有一个éšè—字幕行中的字符超过32个。"
-#: src/wx/verify_dcp_result_panel.cc:393
+#: src/wx/verify_dcp_result_panel.cc:408
msgid "There are more than 52 characters in at least one subtitle line."
msgstr "至少有一个字幕行中的字符超过52个。"
-#: src/wx/verify_dcp_result_panel.cc:396
+#: src/wx/verify_dcp_result_panel.cc:411
msgid "There are more than 79 characters in at least one subtitle line."
msgstr "至少有一个字幕行中的字符超过79个。"
@@ -3805,11 +3796,11 @@ msgstr "尚无任何æç¤ºï¼šæ£€æŸ¥å·¥ç¨‹ä¸­ã€‚"
msgid "There are no hints: everything looks good!"
msgstr "尚无任何æç¤ºï¼šä¸€åˆ‡æ­£å¸¸!"
-#: src/wx/verify_dcp_result_panel.cc:628
+#: src/wx/verify_dcp_result_panel.cc:630
msgid "There is a <Duration> tag inside a <MainMarkers>."
msgstr "在一个 <MainMarkers> 中有一个 <Duration> 标签。"
-#: src/wx/verify_dcp_result_panel.cc:625
+#: src/wx/verify_dcp_result_panel.cc:627
msgid "There is a <EntryPoint> tag inside a <MainMarkers>."
msgstr "在一个 <MainMarkers> 中有一个 <EntryPoint> 标签。"
@@ -3832,16 +3823,16 @@ msgstr "开始播放音频时出现问题。请在首选项中å°è¯•其他音频
msgid "This CPL contains no encrypted assets."
msgstr "该CPL没有包å«åŠ å¯†å†…å®¹ã€‚"
-#: src/wx/verify_dcp_result_panel.cc:333
+#: src/wx/verify_dcp_result_panel.cc:348
#, c-format
msgid ""
-"This DCP refers to at the asset %asset_id in another DCP (and perhaps others), so "
-"it is a \"version file\" (VF)"
+"This DCP refers to the asset %asset_id in another DCP (and perhaps others), "
+"so it is a \"version file\" (VF)"
msgstr ""
-"æ­¤DCP引用了å¦ä¸€ä¸ªDCP(å¯èƒ½è¿˜æœ‰å…¶ä»–DCP)中的资产 %asset_id,因此它是一个“版本文件â€"
-"(VF)"
+"这个DCP引用了å¦ä¸€ä¸ªDCP中的资产%asset_id(也å¯èƒ½æ˜¯å…¶ä»–DCP中的资产),因此它是"
+"一个“版本文件â€(VF)"
-#: src/wx/verify_dcp_result_panel.cc:339
+#: src/wx/verify_dcp_result_panel.cc:354
msgid "This DCP uses the Interop standard, but it should be made with SMPTE."
msgstr "此DCP使用Interop标准,但应使用SMPTE制作。"
@@ -4235,7 +4226,7 @@ msgstr "有效期至"
msgid "Vendor"
msgstr "供应商"
-#: src/wx/verify_dcp_result_panel.cc:723
+#: src/wx/verify_dcp_result_panel.cc:725
msgid "Verification report"
msgstr "DCP验è¯"
@@ -4244,18 +4235,16 @@ msgid "Verify"
msgstr "验è¯"
#: src/wx/content_menu.cc:425
-#, fuzzy
msgid "Verify DCP"
-msgstr "验è¯"
+msgstr "验è¯DCP"
#: src/wx/verify_dcp_dialog.cc:94
msgid "Verify picture asset details"
msgstr "验è¯å›¾åƒèµ„产详细信æ¯"
#: src/wx/content_menu.cc:107
-#, fuzzy
msgid "Verify..."
-msgstr "验è¯"
+msgstr "验è¯..."
#: src/wx/smpte_metadata_dialog.cc:109 src/wx/system_information_dialog.cc:67
msgid "Version"
@@ -4372,9 +4361,8 @@ msgid "X"
msgstr "X"
#: src/wx/export_subtitles_dialog.cc:47
-#, fuzzy
msgid "XML (Interop)"
-msgstr "Interop"
+msgstr "XML (Interop)"
#: src/wx/text_panel.cc:93
msgid "Y"
diff --git a/src/wx/standard_controls.cc b/src/wx/standard_controls.cc
index 942c49fc4..d9b8c998b 100644
--- a/src/wx/standard_controls.cc
+++ b/src/wx/standard_controls.cc
@@ -38,6 +38,7 @@ StandardControls::StandardControls(wxWindow* parent, FilmViewer& viewer, bool ed
{
_button_sizer->Add (_play_button, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
_play_button->Bind (wxEVT_TOGGLEBUTTON, boost::bind(&StandardControls::play_clicked, this));
+ setup_sensitivity();
}
diff --git a/src/wx/supporters.cc b/src/wx/supporters.cc
index dff4f9a7c..f6c86298c 100644
--- a/src/wx/supporters.cc
+++ b/src/wx/supporters.cc
@@ -12,6 +12,7 @@ supported_by.Add (wxT ("Japan Film Fest Hamburg (JFFH)"));
supported_by.Add (wxT ("Graham Cook (Movies@Malmesbury)"));
supported_by.Add (wxT ("Zone 33"));
supported_by.Add (wxT ("Red Star 3D"));
+supported_by.Add (wxT ("@diz_qo"));
supported_by.Add (wxT ("Studio Korsholm AB"));
supported_by.Add (wxT ("Yellow Tone AB"));
supported_by.Add (wxT ("Louise Abbott"));
@@ -85,8 +86,10 @@ supported_by.Add (wxT ("John Bacon"));
supported_by.Add (wxT ("Lee Bailes"));
supported_by.Add (wxT ("Pietro Baj"));
supported_by.Add (wxT ("Joshua Baker"));
+supported_by.Add (wxT ("David Baker"));
supported_by.Add (wxT ("José Val Bal"));
supported_by.Add (wxT ("Grant Baldwin"));
+supported_by.Add (wxT ("Kai Balin"));
supported_by.Add (wxT ("Ely Bams"));
supported_by.Add (wxT ("Elvert Bañares"));
supported_by.Add (wxT ("Laurent Baraton"));
@@ -94,6 +97,7 @@ supported_by.Add (wxT ("Rachel Barbash"));
supported_by.Add (wxT ("Hubert Bartholomae"));
supported_by.Add (wxT ("Danny Bartlett"));
supported_by.Add (wxT ("Mustafa Battal"));
+supported_by.Add (wxT ("The Rio Theatre, Vancouver BC"));
supported_by.Add (wxT ("Frank Beachem"));
supported_by.Add (wxT ("Kenneth Beals"));
supported_by.Add (wxT ("Jean-Pierre Beauviala"));
@@ -106,6 +110,7 @@ supported_by.Add (wxT ("Remi Bergman"));
supported_by.Add (wxT ("Zoltan Berkes"));
supported_by.Add (wxT ("Alessandro Bernardi"));
supported_by.Add (wxT ("Hakan Besim"));
+supported_by.Add (wxT ("Diogo Vicente Inácio Portela Bessa"));
supported_by.Add (wxT ("Betavita"));
supported_by.Add (wxT ("Potong Bhramayana"));
supported_by.Add (wxT ("James Bicaldo"));
@@ -249,6 +254,7 @@ supported_by.Add (wxT ("Dan Cohen"));
supported_by.Add (wxT ("Jonathan Cole"));
supported_by.Add (wxT ("Shane Colella"));
supported_by.Add (wxT ("Blair Collie"));
+supported_by.Add (wxT ("Andrew Collins"));
supported_by.Add (wxT ("Devon Collins"));
supported_by.Add (wxT ("Kimberly Collmer"));
supported_by.Add (wxT ("Sodalite Color"));
@@ -259,6 +265,7 @@ supported_by.Add (wxT ("Marketplace Media Company"));
supported_by.Add (wxT ("The Archetype Company"));
supported_by.Add (wxT ("Conta'm"));
supported_by.Add (wxT ("Mike Coombs"));
+supported_by.Add (wxT ("Griffin Cork"));
supported_by.Add (wxT ("Kathy Corley"));
supported_by.Add (wxT ("Xavier Cortes"));
supported_by.Add (wxT ("Thomas Cosgrove"));
@@ -405,6 +412,7 @@ supported_by.Add (wxT ("Nicole Ferre"));
supported_by.Add (wxT ("Bruno Roque Ferreira"));
supported_by.Add (wxT ("Antonio Ferreira"));
supported_by.Add (wxT ("Santiago Ferreira"));
+supported_by.Add (wxT ("Ilena Ferrer"));
supported_by.Add (wxT ("Scott Ferril"));
supported_by.Add (wxT ("The Highland Park Independent Film Festival"));
supported_by.Add (wxT ("Vancouver Latin American Film Festival"));
@@ -592,6 +600,7 @@ supported_by.Add (wxT ("Jessica Han"));
supported_by.Add (wxT ("Mark Hanrahan"));
supported_by.Add (wxT ("Niels-Erik Constantin Hansen"));
supported_by.Add (wxT ("Richard Hansen"));
+supported_by.Add (wxT ("Paul Hara"));
supported_by.Add (wxT ("Jozef Hardos"));
supported_by.Add (wxT ("Filmschuur Harlem"));
supported_by.Add (wxT ("Jens Harms"));
@@ -612,6 +621,7 @@ supported_by.Add (wxT ("Martin Oliveros Heinze"));
supported_by.Add (wxT ("Patrik Gunnar Helin"));
supported_by.Add (wxT ("Bert Helsen"));
supported_by.Add (wxT ("Jeff Hemingway"));
+supported_by.Add (wxT ("Ton Hendriks"));
supported_by.Add (wxT ("Pascal Hennequin"));
supported_by.Add (wxT ("Mark Hensley"));
supported_by.Add (wxT ("Ronny Hermansen"));
@@ -742,6 +752,7 @@ supported_by.Add (wxT ("Razan Khatib"));
supported_by.Add (wxT ("Marco Kies"));
supported_by.Add (wxT ("Kert Kiima"));
supported_by.Add (wxT ("Juho Kilkki"));
+supported_by.Add (wxT ("Austin Kimmell"));
supported_by.Add (wxT ("Jason King"));
supported_by.Add (wxT ("Ben King"));
supported_by.Add (wxT ("Movieplexx Kino"));
@@ -823,6 +834,7 @@ supported_by.Add (wxT ("Stuart Leask"));
supported_by.Add (wxT ("David Armati Lechner"));
supported_by.Add (wxT ("Youen Leclerc"));
supported_by.Add (wxT ("Richard Lecocq"));
+supported_by.Add (wxT ("Philipp Leder"));
supported_by.Add (wxT ("Lilian Lefranc"));
supported_by.Add (wxT ("Robert Legato"));
supported_by.Add (wxT ("Nicholas Legault"));
@@ -894,6 +906,7 @@ supported_by.Add (wxT ("Kara Long"));
supported_by.Add (wxT ("Juan Marin Lorenzo"));
supported_by.Add (wxT ("Tim Lorge"));
supported_by.Add (wxT ("Thomas Lorin"));
+supported_by.Add (wxT ("Stephen Lorusso"));
supported_by.Add (wxT ("Leonard Louder"));
supported_by.Add (wxT ("Auguste && Louise"));
supported_by.Add (wxT ("Cubic Films Pty Ltd"));
@@ -903,6 +916,7 @@ supported_by.Add (wxT ("Code 7 Ltd"));
supported_by.Add (wxT ("The Digital Picture House Ltd"));
supported_by.Add (wxT ("Futurilla Ltd"));
supported_by.Add (wxT ("Sector Zero Ltd"));
+supported_by.Add (wxT ("Zooid Pictures Ltd"));
supported_by.Add (wxT ("Lewis && Coleman Consulting Services Pty Ltd"));
supported_by.Add (wxT ("Keen i Media Ltd"));
supported_by.Add (wxT ("Ted Lubin"));
@@ -1169,6 +1183,7 @@ supported_by.Add (wxT ("Denis Postle"));
supported_by.Add (wxT ("Postware"));
supported_by.Add (wxT ("Mariana Pottier"));
supported_by.Add (wxT ("Vanessa Magowan Horrocks Powers"));
+supported_by.Add (wxT ("Bernard Pradal"));
supported_by.Add (wxT ("Drago Prahin"));
supported_by.Add (wxT ("Aditya Pratama"));
supported_by.Add (wxT ("Jörg-Dieter Prause"));
@@ -1188,6 +1203,7 @@ supported_by.Add (wxT ("A Tractor Productions"));
supported_by.Add (wxT ("Second Wind Productions"));
supported_by.Add (wxT ("Locomotive Productions"));
supported_by.Add (wxT ("Stoneman Productions"));
+supported_by.Add (wxT ("Zombie Zoo Productions"));
supported_by.Add (wxT ("Oley Sassone Productions"));
supported_by.Add (wxT ("RIOT Productions"));
supported_by.Add (wxT ("Undercrank Productions"));
@@ -1337,6 +1353,7 @@ supported_by.Add (wxT ("Marcus Smith"));
supported_by.Add (wxT ("Martin Smith"));
supported_by.Add (wxT ("Gregg Smith"));
supported_by.Add (wxT ("Sandie Smith"));
+supported_by.Add (wxT ("Chad Smykay"));
supported_by.Add (wxT ("David Snell"));
supported_by.Add (wxT ("John Sniadecki"));
supported_by.Add (wxT ("John Snow"));
@@ -1533,6 +1550,7 @@ supported_by.Add (wxT ("Mike Wendt"));
supported_by.Add (wxT ("Frank Wenz"));
supported_by.Add (wxT ("Anja Wenz"));
supported_by.Add (wxT ("Olav Werner"));
+supported_by.Add (wxT ("Georg Werner"));
supported_by.Add (wxT ("Maik Wieczorek"));
supported_by.Add (wxT ("Ralph Wiegandt"));
supported_by.Add (wxT ("Johannes Wilbrand"));
diff --git a/src/wx/verify_dcp_result_panel.cc b/src/wx/verify_dcp_result_panel.cc
index aa5da95c6..6b319b03e 100644
--- a/src/wx/verify_dcp_result_panel.cc
+++ b/src/wx/verify_dcp_result_panel.cc
@@ -420,7 +420,7 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many)
add(i.second, _("The sound asset %f has an invalid frame rate of %frame_rate."));
break;
case dcp::VerificationNote::Code::INVALID_SOUND_BIT_DEPTH:
- add(i.second, _("The sound asset %f has an invalid bit depth of %n."));
+ add(i.second, _("The sound asset %f has an invalid bit depth of %bit_depth."));
break;
case dcp::VerificationNote::Code::MISSING_CPL_ANNOTATION_TEXT:
add(i.second, _("The CPL %cpl has no <AnnotationText> tag."));
diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc
index 8d21a3e63..9526b234c 100644
--- a/src/wx/wx_util.cc
+++ b/src/wx/wx_util.cc
@@ -65,9 +65,9 @@ using namespace dcpomatic;
wxStaticText *
#ifdef __WXOSX__
-create_label (wxWindow* p, wxString t, bool left)
+create_label(wxWindow* p, wxString t, bool left)
#else
-create_label (wxWindow* p, wxString t, bool)
+create_label(wxWindow* p, wxString t, bool)
#endif
{
#ifdef __WXOSX__
@@ -75,14 +75,14 @@ create_label (wxWindow* p, wxString t, bool)
t += char_to_wx(":");
}
#endif
- return new StaticText (p, t);
+ return new StaticText(p, t);
}
#ifdef __WXOSX__
static
void
-setup_osx_flags (wxSizer* s, bool left, int& flags)
+setup_osx_flags(wxSizer* s, bool left, int& flags)
{
if (left) {
auto box = dynamic_cast<wxBoxSizer*>(s);
@@ -103,28 +103,28 @@ setup_osx_flags (wxSizer* s, bool left, int& flags)
* @param prop Proportion to pass when calling Add() on the wxSizer.
*/
wxStaticText *
-add_label_to_sizer (wxSizer* s, wxWindow* p, wxString t, bool left, int prop, int flags)
+add_label_to_sizer(wxSizer* s, wxWindow* p, wxString t, bool left, int prop, int flags)
{
#ifdef __WXOSX__
- setup_osx_flags (s, left, flags);
+ setup_osx_flags(s, left, flags);
#endif
- auto m = create_label (p, t, left);
- s->Add (m, prop, flags, DCPOMATIC_SIZER_GAP);
+ auto m = create_label(p, t, left);
+ s->Add(m, prop, flags, DCPOMATIC_SIZER_GAP);
return m;
}
wxStaticText *
#ifdef __WXOSX__
-add_label_to_sizer (wxSizer* s, wxStaticText* t, bool left, int prop, int flags)
+add_label_to_sizer(wxSizer* s, wxStaticText* t, bool left, int prop, int flags)
#else
-add_label_to_sizer (wxSizer* s, wxStaticText* t, bool, int prop, int flags)
+add_label_to_sizer(wxSizer* s, wxStaticText* t, bool, int prop, int flags)
#endif
{
#ifdef __WXOSX__
- setup_osx_flags (s, left, flags);
+ setup_osx_flags(s, left, flags);
#endif
- s->Add (t, prop, flags, DCPOMATIC_SIZER_GAP);
+ s->Add(t, prop, flags, DCPOMATIC_SIZER_GAP);
return t;
}
@@ -134,9 +134,9 @@ add_label_to_sizer(wxGridBagSizer* s, wxWindow* p, wxString t, bool left, wxGBPo
{
int flags = wxALIGN_CENTER_VERTICAL | wxLEFT;
#ifdef __WXOSX__
- setup_osx_flags (s, left, flags);
+ setup_osx_flags(s, left, flags);
#endif
- auto m = create_label (p, t, left);
+ auto m = create_label(p, t, left);
s->Add(m, pos, span, flags, indent ? DCPOMATIC_SIZER_X_GAP : 0);
return m;
}
@@ -144,16 +144,16 @@ add_label_to_sizer(wxGridBagSizer* s, wxWindow* p, wxString t, bool left, wxGBPo
wxStaticText *
#ifdef __WXOSX__
-add_label_to_sizer (wxGridBagSizer* s, wxStaticText* t, bool left, wxGBPosition pos, wxGBSpan span)
+add_label_to_sizer(wxGridBagSizer* s, wxStaticText* t, bool left, wxGBPosition pos, wxGBSpan span)
#else
-add_label_to_sizer (wxGridBagSizer* s, wxStaticText* t, bool, wxGBPosition pos, wxGBSpan span)
+add_label_to_sizer(wxGridBagSizer* s, wxStaticText* t, bool, wxGBPosition pos, wxGBSpan span)
#endif
{
int flags = wxALIGN_CENTER_VERTICAL | wxLEFT | wxRIGHT;
#ifdef __WXOSX__
- setup_osx_flags (s, left, flags);
+ setup_osx_flags(s, left, flags);
#endif
- s->Add (t, pos, span, flags);
+ s->Add(t, pos, span, flags);
return t;
}
@@ -164,12 +164,12 @@ add_label_to_sizer (wxGridBagSizer* s, wxStaticText* t, bool, wxGBPosition pos,
* @param e Extended message.
*/
void
-error_dialog (wxWindow* parent, wxString m, optional<wxString> e)
+error_dialog(wxWindow* parent, wxString m, optional<wxString> e)
{
wxMessageDialog dialog(parent, m, variant::wx::dcpomatic(), wxOK | wxICON_ERROR);
if (e) {
wxString em = *e;
- em[0] = wxToupper (em[0]);
+ em[0] = wxToupper(em[0]);
dialog.SetExtendedMessage(em);
}
dialog.ShowModal();
@@ -181,7 +181,7 @@ error_dialog (wxWindow* parent, wxString m, optional<wxString> e)
* @param m Message.
*/
void
-message_dialog (wxWindow* parent, wxString m)
+message_dialog(wxWindow* parent, wxString m)
{
wxMessageDialog dialog(parent, m, variant::wx::dcpomatic(), wxOK | wxICON_INFORMATION);
dialog.ShowModal();
@@ -190,7 +190,7 @@ message_dialog (wxWindow* parent, wxString m)
/** @return true if the user answered "yes" */
bool
-confirm_dialog (wxWindow* parent, wxString m)
+confirm_dialog(wxWindow* parent, wxString m)
{
wxMessageDialog dialog(parent, m, variant::wx::dcpomatic(), wxYES_NO | wxICON_QUESTION);
return dialog.ShowModal() == wxID_YES;
@@ -201,9 +201,9 @@ confirm_dialog (wxWindow* parent, wxString m)
* @return Corresponding STL string.
*/
string
-wx_to_std (wxString s)
+wx_to_std(wxString s)
{
- return string (s.ToUTF8());
+ return string(s.ToUTF8());
}
@@ -211,9 +211,9 @@ wx_to_std (wxString s)
* @return Corresponding wxWidgets string.
*/
wxString
-std_to_wx (string s)
+std_to_wx(string s)
{
- return wxString (s.c_str(), wxConvUTF8);
+ return wxString(s.c_str(), wxConvUTF8);
}
@@ -225,14 +225,14 @@ char_to_wx(char const* s)
string
-string_client_data (wxClientData* o)
+string_client_data(wxClientData* o)
{
- return wx_to_std (dynamic_cast<wxStringClientData*>(o)->GetData());
+ return wx_to_std(dynamic_cast<wxStringClientData*>(o)->GetData());
}
void
-checked_set (FilePickerCtrl* widget, boost::filesystem::path value)
+checked_set(FilePickerCtrl* widget, boost::filesystem::path value)
{
if (widget->path() != value) {
if (value.empty()) {
@@ -247,60 +247,60 @@ checked_set (FilePickerCtrl* widget, boost::filesystem::path value)
void
-checked_set (wxDirPickerCtrl* widget, boost::filesystem::path value)
+checked_set(wxDirPickerCtrl* widget, boost::filesystem::path value)
{
- if (widget->GetPath() != std_to_wx (value.string())) {
+ if (widget->GetPath() != std_to_wx(value.string())) {
if (value.empty()) {
/* Hack to make wxWidgets clear the control when we are passed
an empty value.
*/
value = " ";
}
- widget->SetPath (std_to_wx (value.string()));
+ widget->SetPath(std_to_wx(value.string()));
}
}
void
-checked_set (wxSpinCtrl* widget, int value)
+checked_set(wxSpinCtrl* widget, int value)
{
if (widget->GetValue() != value) {
- widget->SetValue (value);
+ widget->SetValue(value);
}
}
void
-checked_set (wxSpinCtrlDouble* widget, double value)
+checked_set(wxSpinCtrlDouble* widget, double value)
{
/* XXX: completely arbitrary epsilon */
- if (fabs (widget->GetValue() - value) > 1e-16) {
- widget->SetValue (value);
+ if (fabs(widget->GetValue() - value) > 1e-16) {
+ widget->SetValue(value);
}
}
void
-checked_set (wxChoice* widget, int value)
+checked_set(wxChoice* widget, int value)
{
if (widget->GetSelection() != value) {
- widget->SetSelection (value);
+ widget->SetSelection(value);
}
}
void
-checked_set (wxChoice* widget, string value)
+checked_set(wxChoice* widget, string value)
{
wxClientData* o = nullptr;
if (widget->GetSelection() != -1) {
- o = widget->GetClientObject (widget->GetSelection ());
+ o = widget->GetClientObject(widget->GetSelection());
}
if (!o || string_client_data(o) != value) {
for (unsigned int i = 0; i < widget->GetCount(); ++i) {
- if (string_client_data (widget->GetClientObject (i)) == value) {
- widget->SetSelection (i);
+ if (string_client_data(widget->GetClientObject(i)) == value) {
+ widget->SetSelection(i);
}
}
}
@@ -308,11 +308,11 @@ checked_set (wxChoice* widget, string value)
void
-checked_set (wxChoice* widget, vector<pair<string, string>> items)
+checked_set(wxChoice* widget, vector<pair<string, string>> items)
{
vector<pair<string, string>> current;
for (unsigned int i = 0; i < widget->GetCount(); ++i) {
- current.push_back (
+ current.push_back(
make_pair(
wx_to_std(widget->GetString(i)),
widget->GetClientData() ? string_client_data(widget->GetClientObject(i)) : ""
@@ -324,24 +324,24 @@ checked_set (wxChoice* widget, vector<pair<string, string>> items)
return;
}
- widget->Clear ();
+ widget->Clear();
for (auto i: items) {
- widget->Append (std_to_wx(i.first), new wxStringClientData(std_to_wx(i.second)));
+ widget->Append(std_to_wx(i.first), new wxStringClientData(std_to_wx(i.second)));
}
}
void
-checked_set (wxTextCtrl* widget, string value)
+checked_set(wxTextCtrl* widget, string value)
{
- if (widget->GetValue() != std_to_wx (value)) {
- widget->ChangeValue (std_to_wx (value));
+ if (widget->GetValue() != std_to_wx(value)) {
+ widget->ChangeValue(std_to_wx(value));
}
}
void
-checked_set (PasswordEntry* entry, string value)
+checked_set(PasswordEntry* entry, string value)
{
if (entry->get() != value) {
entry->set(value);
@@ -350,46 +350,46 @@ checked_set (PasswordEntry* entry, string value)
void
-checked_set (wxTextCtrl* widget, wxString value)
+checked_set(wxTextCtrl* widget, wxString value)
{
if (widget->GetValue() != value) {
- widget->ChangeValue (value);
+ widget->ChangeValue(value);
}
}
void
-checked_set (wxStaticText* widget, string value)
+checked_set(wxStaticText* widget, string value)
{
- if (widget->GetLabel() != std_to_wx (value)) {
- widget->SetLabel (std_to_wx (value));
+ if (widget->GetLabel() != std_to_wx(value)) {
+ widget->SetLabel(std_to_wx(value));
}
}
void
-checked_set (wxStaticText* widget, wxString value)
+checked_set(wxStaticText* widget, wxString value)
{
if (widget->GetLabel() != value) {
- widget->SetLabel (value);
+ widget->SetLabel(value);
}
}
void
-checked_set (wxCheckBox* widget, bool value)
+checked_set(wxCheckBox* widget, bool value)
{
if (widget->GetValue() != value) {
- widget->SetValue (value);
+ widget->SetValue(value);
}
}
void
-checked_set (wxRadioButton* widget, bool value)
+checked_set(wxRadioButton* widget, bool value)
{
if (widget->GetValue() != value) {
- widget->SetValue (value);
+ widget->SetValue(value);
}
}
@@ -422,23 +422,23 @@ checked_set(RegionSubtagWidget* widget, optional<dcp::LanguageTag::RegionSubtag>
int
-wx_get (wxSpinCtrl* w)
+wx_get(wxSpinCtrl* w)
{
- return w->GetValue ();
+ return w->GetValue();
}
int
-wx_get (wxChoice* w)
+wx_get(wxChoice* w)
{
- return w->GetSelection ();
+ return w->GetSelection();
}
double
-wx_get (wxSpinCtrlDouble* w)
+wx_get(wxSpinCtrlDouble* w)
{
- return w->GetValue ();
+ return w->GetValue();
}
@@ -454,7 +454,7 @@ context_translation(char const* s)
/* No translation; strip the context */
int c = t.Find(char_to_wx("|"));
if (c != wxNOT_FOUND) {
- t = t.Mid (c + 1);
+ t = t.Mid(c + 1);
}
}
@@ -463,46 +463,46 @@ context_translation(char const* s)
wxString
-time_to_timecode (DCPTime t, double fps)
+time_to_timecode(DCPTime t, double fps)
{
- auto w = t.seconds ();
+ auto w = t.seconds();
int const h = (w / 3600);
w -= h * 3600;
int const m = (w / 60);
w -= m * 60;
- int const s = floor (w);
+ int const s = floor(w);
w -= s;
- int const f = lrint (w * fps);
- return wxString::Format(char_to_wx("%02d:%02d:%02d.%02d"), h, m, s, f);
+ int const f = lrint(w * fps);
+ return wxString::Format(char_to_wx("%02d:%02d:%02d:%02d"), h, m, s, f);
}
void
-setup_audio_channels_choice (wxChoice* choice, int minimum)
+setup_audio_channels_choice(wxChoice* choice, int minimum)
{
vector<pair<string, string>> items;
for (int i = minimum; i <= 16; i += 2) {
if (i == 2) {
- items.push_back (make_pair(wx_to_std(_("2 - stereo")), locale_convert<string>(i)));
+ items.push_back(make_pair(wx_to_std(_("2 - stereo")), locale_convert<string>(i)));
} else if (i == 4) {
- items.push_back (make_pair(wx_to_std(_("4 - L/C/R/Lfe")), locale_convert<string>(i)));
+ items.push_back(make_pair(wx_to_std(_("4 - L/C/R/Lfe")), locale_convert<string>(i)));
} else if (i == 6) {
- items.push_back (make_pair(wx_to_std(_("6 - 5.1")), locale_convert<string>(i)));
+ items.push_back(make_pair(wx_to_std(_("6 - 5.1")), locale_convert<string>(i)));
} else if (i == 8) {
- items.push_back (make_pair(wx_to_std(_("8 - 5.1/HI/VI")), locale_convert<string>(i)));
+ items.push_back(make_pair(wx_to_std(_("8 - 5.1/HI/VI")), locale_convert<string>(i)));
} else if (i == 12) {
- items.push_back (make_pair(wx_to_std(_("12 - 7.1/HI/VI")), locale_convert<string>(i)));
+ items.push_back(make_pair(wx_to_std(_("12 - 7.1/HI/VI")), locale_convert<string>(i)));
} else {
- items.push_back (make_pair(locale_convert<string> (i), locale_convert<string>(i)));
+ items.push_back(make_pair(locale_convert<string>(i), locale_convert<string>(i)));
}
}
- checked_set (choice, items);
+ checked_set(choice, items);
}
wxSplashScreen*
-maybe_show_splash ()
+maybe_show_splash()
{
wxSplashScreen* splash = nullptr;
@@ -523,7 +523,7 @@ maybe_show_splash ()
#else
splash = new wxSplashScreen(bitmap, wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_NO_TIMEOUT, 0, nullptr, -1);
#endif
- wxYield ();
+ wxYield();
}
} catch (boost::filesystem::filesystem_error& e) {
/* Maybe we couldn't find the splash image; never mind */
@@ -534,19 +534,19 @@ maybe_show_splash ()
double
-calculate_mark_interval (double mark_interval)
+calculate_mark_interval(double mark_interval)
{
if (mark_interval > 5) {
- mark_interval -= lrint (mark_interval) % 5;
+ mark_interval -= lrint(mark_interval) % 5;
}
if (mark_interval > 10) {
- mark_interval -= lrint (mark_interval) % 10;
+ mark_interval -= lrint(mark_interval) % 10;
}
if (mark_interval > 60) {
- mark_interval -= lrint (mark_interval) % 60;
+ mark_interval -= lrint(mark_interval) % 60;
}
if (mark_interval > 3600) {
- mark_interval -= lrint (mark_interval) % 3600;
+ mark_interval -= lrint(mark_interval) % 3600;
}
if (mark_interval < 1) {
@@ -559,16 +559,16 @@ calculate_mark_interval (double mark_interval)
/** @return false if the task was cancelled */
bool
-display_progress (wxString title, wxString task)
+display_progress(wxString title, wxString task)
{
- auto jm = JobManager::instance ();
+ auto jm = JobManager::instance();
- wxProgressDialog progress (title, task, 100, 0, wxPD_CAN_ABORT);
+ wxProgressDialog progress(title, task, 100, 0, wxPD_CAN_ABORT);
bool ok = true;
while (jm->work_to_do()) {
- dcpomatic_sleep_seconds (1);
+ dcpomatic_sleep_seconds(1);
if (!progress.Pulse()) {
/* user pressed cancel */
for (auto i: jm->get()) {
@@ -584,7 +584,7 @@ display_progress (wxString title, wxString task)
int
-get_offsets (vector<Offset>& offsets)
+get_offsets(vector<Offset>& offsets)
{
offsets.push_back({_("UTC-11"), dcp::UTCOffset(-11, 0)});
offsets.push_back({_("UTC-10"), dcp::UTCOffset(-10, 0)});
@@ -623,13 +623,13 @@ get_offsets (vector<Offset>& offsets)
wxString
-bitmap_path (string name)
+bitmap_path(string name)
{
boost::filesystem::path base;
-#ifdef DCPOMATIC_DEBUG
+#ifdef DCPOMATIC_DEVELOPER
/* Hack to allow Linux and OS X to find icons when running from the source tree */
- char* path = getenv ("DCPOMATIC_GRAPHICS");
+ char* path = getenv("DCPOMATIC_GRAPHICS");
if (path) {
base = path;
} else {
@@ -644,7 +644,7 @@ bitmap_path (string name)
#endif
auto p = base / name;
- return std_to_wx (p.string());
+ return std_to_wx(p.string());
}
@@ -656,18 +656,18 @@ icon_path(string name)
wxSize
-small_button_size (wxWindow* parent, wxString text)
+small_button_size(wxWindow* parent, wxString text)
{
- wxClientDC dc (parent);
- auto size = dc.GetTextExtent (text);
- size.SetHeight (-1);
- size.IncBy (32, 0);
+ wxClientDC dc(parent);
+ auto size = dc.GetTextExtent(text);
+ size.SetHeight(-1);
+ size.IncBy(32, 0);
return size;
}
bool
-gui_is_dark ()
+gui_is_dark()
{
#ifdef DCPOMATIC_WINDOWS
/* Dark mode doesn't really work at all on Windows at the moment, so just don't use it */
@@ -684,13 +684,13 @@ gui_is_dark ()
#if wxCHECK_VERSION(3,1,0)
double
-dpi_scale_factor (wxWindow* window)
+dpi_scale_factor(wxWindow* window)
{
return window->GetDPIScaleFactor();
}
#else
double
-dpi_scale_factor (wxWindow*)
+dpi_scale_factor(wxWindow*)
{
return 1;
}
@@ -699,7 +699,7 @@ dpi_scale_factor (wxWindow*)
int
-search_ctrl_height ()
+search_ctrl_height()
{
#ifdef __WXGTK3__
return 30;
diff --git a/src/wx/wx_util.h b/src/wx/wx_util.h
index 6f84705fb..957957589 100644
--- a/src/wx/wx_util.h
+++ b/src/wx/wx_util.h
@@ -94,34 +94,34 @@ class PasswordEntry;
#define S_(x) context_translation(x)
-extern void error_dialog (wxWindow *, wxString, boost::optional<wxString> e = boost::optional<wxString>());
-extern void message_dialog (wxWindow *, wxString);
-extern bool confirm_dialog (wxWindow *, wxString);
-extern wxStaticText* create_label (wxWindow* p, wxString t, bool left);
-extern wxStaticText* add_label_to_sizer (wxSizer *, wxWindow *, wxString, bool left, int prop = 0, int flags = wxLEFT | wxRIGHT);
-extern wxStaticText* add_label_to_sizer (wxSizer *, wxStaticText *, bool left, int prop = 0, int flags = wxLEFT | wxRIGHT);
+extern void error_dialog(wxWindow *, wxString, boost::optional<wxString> e = boost::optional<wxString>());
+extern void message_dialog(wxWindow *, wxString);
+extern bool confirm_dialog(wxWindow *, wxString);
+extern wxStaticText* create_label(wxWindow* p, wxString t, bool left);
+extern wxStaticText* add_label_to_sizer(wxSizer *, wxWindow *, wxString, bool left, int prop = 0, int flags = wxLEFT | wxRIGHT);
+extern wxStaticText* add_label_to_sizer(wxSizer *, wxStaticText *, bool left, int prop = 0, int flags = wxLEFT | wxRIGHT);
extern wxStaticText* add_label_to_sizer(wxGridBagSizer *, wxWindow *, wxString, bool, wxGBPosition, wxGBSpan span = wxDefaultSpan, bool indent = false);
-extern wxStaticText* add_label_to_sizer (wxGridBagSizer *, wxStaticText *, bool, wxGBPosition, wxGBSpan span = wxDefaultSpan);
-extern std::string wx_to_std (wxString);
-extern wxString std_to_wx (std::string);
+extern wxStaticText* add_label_to_sizer(wxGridBagSizer *, wxStaticText *, bool, wxGBPosition, wxGBSpan span = wxDefaultSpan);
+extern std::string wx_to_std(wxString);
+extern wxString std_to_wx(std::string);
/** Convert UTF8-encoded char array to wxString */
extern wxString char_to_wx(char const* s);
extern wxString context_translation(char const* s);
-extern std::string string_client_data (wxClientData* o);
-extern wxString time_to_timecode (dcpomatic::DCPTime t, double fps);
-extern void setup_audio_channels_choice (wxChoice* choice, int minimum);
+extern std::string string_client_data(wxClientData* o);
+extern wxString time_to_timecode(dcpomatic::DCPTime t, double fps);
+extern void setup_audio_channels_choice(wxChoice* choice, int minimum);
extern wxSplashScreen* maybe_show_splash();
-extern double calculate_mark_interval (double start);
-extern bool display_progress (wxString title, wxString task);
-extern bool report_errors_from_last_job (wxWindow* parent);
-extern wxString bitmap_path (std::string name);
+extern double calculate_mark_interval(double start);
+extern bool display_progress(wxString title, wxString task);
+extern bool report_errors_from_last_job(wxWindow* parent);
+extern wxString bitmap_path(std::string name);
extern wxString icon_path(std::string name);
-extern wxSize small_button_size (wxWindow* parent, wxString text);
-extern bool gui_is_dark ();
-extern double dpi_scale_factor (wxWindow* window);
-extern int search_ctrl_height ();
+extern wxSize small_button_size(wxWindow* parent, wxString text);
+extern bool gui_is_dark();
+extern double dpi_scale_factor(wxWindow* window);
+extern int search_ctrl_height();
extern void report_config_load_failure(wxWindow* parent, Config::LoadFailure what);
extern bool layout_for_short_screen(wxWindow* reference);
@@ -137,7 +137,7 @@ struct Offset
dcp::UTCOffset offset;
};
-extern int get_offsets (std::vector<Offset>& offsets);
+extern int get_offsets(std::vector<Offset>& offsets);
namespace dcpomatic {
namespace wx {
@@ -149,27 +149,27 @@ namespace wx {
}
-extern void checked_set (FilePickerCtrl* widget, boost::filesystem::path value);
-extern void checked_set (wxDirPickerCtrl* widget, boost::filesystem::path value);
-extern void checked_set (wxSpinCtrl* widget, int value);
-extern void checked_set (wxSpinCtrlDouble* widget, double value);
-extern void checked_set (wxChoice* widget, int value);
-extern void checked_set (wxChoice* widget, std::string value);
-extern void checked_set (wxChoice* widget, std::vector<std::pair<std::string, std::string> > items);
-extern void checked_set (wxTextCtrl* widget, std::string value);
-extern void checked_set (wxTextCtrl* widget, wxString value);
-extern void checked_set (PasswordEntry* widget, std::string value);
-extern void checked_set (wxCheckBox* widget, bool value);
-extern void checked_set (wxRadioButton* widget, bool value);
-extern void checked_set (wxStaticText* widget, std::string value);
-extern void checked_set (wxStaticText* widget, wxString value);
+extern void checked_set(FilePickerCtrl* widget, boost::filesystem::path value);
+extern void checked_set(wxDirPickerCtrl* widget, boost::filesystem::path value);
+extern void checked_set(wxSpinCtrl* widget, int value);
+extern void checked_set(wxSpinCtrlDouble* widget, double value);
+extern void checked_set(wxChoice* widget, int value);
+extern void checked_set(wxChoice* widget, std::string value);
+extern void checked_set(wxChoice* widget, std::vector<std::pair<std::string, std::string> > items);
+extern void checked_set(wxTextCtrl* widget, std::string value);
+extern void checked_set(wxTextCtrl* widget, wxString value);
+extern void checked_set(PasswordEntry* widget, std::string value);
+extern void checked_set(wxCheckBox* widget, bool value);
+extern void checked_set(wxRadioButton* widget, bool value);
+extern void checked_set(wxStaticText* widget, std::string value);
+extern void checked_set(wxStaticText* widget, wxString value);
extern void checked_set(LanguageTagWidget* widget, dcp::LanguageTag value);
extern void checked_set(LanguageTagWidget* widget, boost::optional<dcp::LanguageTag> value);
extern void checked_set(RegionSubtagWidget* widget, boost::optional<dcp::LanguageTag::RegionSubtag> value);
-extern int wx_get (wxChoice* widget);
-extern int wx_get (wxSpinCtrl* widget);
-extern double wx_get (wxSpinCtrlDouble* widget);
+extern int wx_get(wxChoice* widget);
+extern int wx_get(wxSpinCtrl* widget);
+extern double wx_get(wxSpinCtrlDouble* widget);
#ifdef DCPOMATIC_WINDOWS
#define DCPOMATIC_USE_OWN_PICKER
diff --git a/test/audio_analysis_test.cc b/test/audio_analysis_test.cc
index 8e04945ac..578250b2c 100644
--- a/test/audio_analysis_test.cc
+++ b/test/audio_analysis_test.cc
@@ -40,6 +40,7 @@
#include "lib/playlist.h"
#include "lib/ratio.h"
#include "test.h"
+#include <dcp/scope_guard.h>
#include <boost/test/unit_test.hpp>
#include <numeric>
@@ -315,3 +316,38 @@ BOOST_AUTO_TEST_CASE(ebur128_test)
}
#endif
+
+static bool saw_ffmpeg_error = false;
+
+static
+void
+test_log_callback(void*, int level, const char*, va_list)
+{
+ if (level <= AV_LOG_WARNING) {
+ saw_ffmpeg_error = true;
+ }
+}
+
+
+/* The file in this test has the audio stream as index 0, video as 1,
+ * with both streams having the same ID. This triggered a bug where
+ * on analysis (with video disabled) the video packets would be fed
+ * to the audio decoder, causing chaos manifesting as many audio decoder
+ * errors.
+ */
+BOOST_AUTO_TEST_CASE(analysis_stream_confusion_test)
+{
+ auto sound = content_factory(TestPaths::private_data() / "ge.mkv")[0];
+ auto film = new_test_film("analysis_stream_confusion_test", { sound });
+
+ av_log_set_callback(test_log_callback);
+ dcp::ScopeGuard sg = []() {
+ capture_ffmpeg_logs();
+ };
+
+ auto job = make_shared<AnalyseAudioJob>(film, film->playlist(), true);
+ JobManager::instance()->add(job);
+ BOOST_REQUIRE(!wait_for_jobs());
+
+ BOOST_CHECK(!saw_ffmpeg_error);
+}
diff --git a/test/audio_mapping_test.cc b/test/audio_mapping_test.cc
index dfde022a0..9bc5bcf5f 100644
--- a/test/audio_mapping_test.cc
+++ b/test/audio_mapping_test.cc
@@ -36,71 +36,71 @@ using std::string;
using boost::optional;
-BOOST_AUTO_TEST_CASE (audio_mapping_test)
+BOOST_AUTO_TEST_CASE(audio_mapping_test)
{
AudioMapping none;
- BOOST_CHECK_EQUAL (none.input_channels(), 0);
+ BOOST_CHECK_EQUAL(none.input_channels(), 0);
- AudioMapping four (4, MAX_DCP_AUDIO_CHANNELS);
- BOOST_CHECK_EQUAL (four.input_channels(), 4);
+ AudioMapping four(4, MAX_DCP_AUDIO_CHANNELS);
+ BOOST_CHECK_EQUAL(four.input_channels(), 4);
- four.set (0, 1, 1);
+ four.set(0, 1, 1);
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < MAX_DCP_AUDIO_CHANNELS; ++j) {
- BOOST_CHECK_EQUAL (four.get(i, j), (i == 0 && j == 1) ? 1 : 0);
+ BOOST_CHECK_EQUAL(four.get(i, j), (i == 0 && j == 1) ? 1 : 0);
}
}
- auto mapped = four.mapped_output_channels ();
- BOOST_CHECK_EQUAL (mapped.size(), 1U);
- BOOST_CHECK_EQUAL (mapped.front(), 1);
+ auto mapped = four.mapped_output_channels();
+ BOOST_CHECK_EQUAL(mapped.size(), 1U);
+ BOOST_CHECK_EQUAL(mapped.front(), 1);
- four.make_zero ();
+ four.make_zero();
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < MAX_DCP_AUDIO_CHANNELS; ++j) {
- BOOST_CHECK_EQUAL (four.get (i, j), 0);
+ BOOST_CHECK_EQUAL(four.get(i, j), 0);
}
}
}
static void
-guess_check (boost::filesystem::path filename, int output_channel)
+guess_check(boost::filesystem::path filename, dcp::Channel output_channel)
{
- AudioMapping m (1, 8);
- m.make_default (0, filename);
- for (int i = 0; i < 8; ++i) {
+ AudioMapping m(1, 12);
+ m.make_default(0, filename);
+ for (int i = 0; i < 12; ++i) {
BOOST_TEST_INFO(fmt::format("{} channel {}", filename.string(), i));
- BOOST_CHECK_CLOSE (m.get(0, i), i == output_channel ? 1 : 0, 0.01);
+ BOOST_CHECK_CLOSE(m.get(0, i), i == static_cast<int>(output_channel) ? 1 : 0, 0.01);
}
}
-BOOST_AUTO_TEST_CASE (audio_mapping_guess_test)
+BOOST_AUTO_TEST_CASE(audio_mapping_guess_test)
{
- guess_check ("stuff_L_nonsense.wav", 0);
- guess_check ("stuff_nonsense.wav", 2);
- guess_check ("fred_R.wav", 1);
- guess_check ("jim_C_sheila.aiff", 2);
- guess_check ("things_Lfe_and.wav", 3);
- guess_check ("weeee_Ls.aiff", 4);
- guess_check ("try_Rs-it.wav", 5);
+ guess_check("stuff_L_nonsense.wav", dcp::Channel::LEFT);
+ guess_check("stuff_nonsense.wav", dcp::Channel::CENTRE);
+ guess_check("fred_R.wav", dcp::Channel::RIGHT);
+ guess_check("jim_C_sheila.aiff", dcp::Channel::CENTRE);
+ guess_check("things_Lfe_and.wav", dcp::Channel::LFE);
+ guess_check("weeee_Ls.aiff", dcp::Channel::LS);
+ guess_check("try_Rs-it.wav", dcp::Channel::RS);
/* PT-style */
- guess_check ("things_LFE.wav", 3);
- guess_check ("ptish_Lsr_abc.wav", 6);
- guess_check ("ptish_Rsr_abc.wav", 7);
- guess_check ("more_Lss_s.wav", 4);
- guess_check ("other_Rss.aiff", 5);
+ guess_check("things_LFE.wav", dcp::Channel::LFE);
+ guess_check("ptish_Lsr_abc.wav", dcp::Channel::BSL);
+ guess_check("ptish_Rsr_abc.wav", dcp::Channel::BSR);
+ guess_check("more_Lss_s.wav", dcp::Channel::LS);
+ guess_check("other_Rss.aiff", dcp::Channel::RS);
/* Only the filename should be taken into account */
- guess_check ("-Lfe-/foo_L.wav", 0);
+ guess_check("-Lfe-/foo_L.wav", dcp::Channel::LEFT);
/* Dolby-style */
- guess_check ("jake-Lrs-good.wav", 6);
- guess_check ("elwood-Rrs-good.wav", 7);
+ guess_check("jake-Lrs-good.wav", dcp::Channel::BSL);
+ guess_check("elwood-Rrs-good.wav", dcp::Channel::BSR);
}
diff --git a/test/create_cli_test.cc b/test/create_cli_test.cc
index c71031fbc..0f127c018 100644
--- a/test/create_cli_test.cc
+++ b/test/create_cli_test.cc
@@ -322,6 +322,22 @@ BOOST_AUTO_TEST_CASE (create_cli_test)
BOOST_CHECK(film->content()[0]->video->fade_in() == 24);
BOOST_CHECK(film->content()[0]->video->fade_out() == 0);
BOOST_CHECK(collected_error.empty());
+
+ /* Extract a 1.85 frame from a 320x240 source */
+ cc = run("dcpomatic2_create --container-ratio 185 --fill-crop test/data/red_24.mp4");
+ BOOST_CHECK(!cc.error);
+ film = cc.make_film(error);
+ BOOST_REQUIRE_EQUAL(film->content().size(), 1U);
+ BOOST_REQUIRE(film->content()[0]->video);
+ BOOST_CHECK(film->content()[0]->video->requested_crop() == Crop(0, 0, 33, 33));
+
+ /* Extract a 1.85 frame from a 2048x858 source */
+ cc = run("dcpomatic2_create --container-ratio 185 --fill-crop test/data/scope_dcp");
+ BOOST_CHECK(!cc.error);
+ film = cc.make_film(error);
+ BOOST_REQUIRE_EQUAL(film->content().size(), 1U);
+ BOOST_REQUIRE(film->content()[0]->video);
+ BOOST_CHECK(film->content()[0]->video->requested_crop() == Crop(230, 230, 0, 0));
}
diff --git a/test/data b/test/data
-Subproject 2576ae9426703165d81eb44776d515a54eda587
+Subproject cec02cb60028b76800357604f8331b903388d77
diff --git a/test/film_test.cc b/test/film_test.cc
index 5ce195637..9949fd7d6 100644
--- a/test/film_test.cc
+++ b/test/film_test.cc
@@ -86,3 +86,24 @@ BOOST_AUTO_TEST_CASE(film_possible_reel_types_test2)
BOOST_CHECK_EQUAL(film->possible_reel_types().size(), 2U);
}
+
+BOOST_AUTO_TEST_CASE(film_copy_remembered_assets_test)
+{
+ dcp::filesystem::remove_all("build/test/film_copy_remembered_assets_test2");
+
+ auto content = content_factory("test/data/flat_red.png")[0];
+ auto film = new_test_film("film_copy_remembered_assets_test", { content });
+ make_and_verify_dcp(film);
+
+ auto copy = make_shared<Film>(boost::filesystem::path("build/test/film_copy_remembered_assets_test2"));
+ copy->copy_from(film, [](float) {});
+
+ auto remembered = copy->read_remembered_assets();
+ BOOST_REQUIRE_EQUAL(remembered.size(), 1U);
+ auto path = find_asset(remembered, *copy->directory(), dcpomatic::DCPTimePeriod({}, dcpomatic::DCPTime::from_seconds(10)), film->video_identifier());
+ BOOST_CHECK(path.has_value());
+
+ for (auto path: dcp::filesystem::directory_iterator(film->dir("info"))) {
+ check_file(path.path(), copy->dir("info") / path.path().filename());
+ }
+}
diff --git a/test/hints_test.cc b/test/hints_test.cc
index 8abfc6e62..7cb9d676b 100644
--- a/test/hints_test.cc
+++ b/test/hints_test.cc
@@ -211,7 +211,7 @@ BOOST_AUTO_TEST_CASE (hint_subtitle_mxf_too_big)
BOOST_CHECK_EQUAL (
hints[0],
"At least one of your subtitle files is larger than " MAX_TEXT_MXF_SIZE_TEXT " in total. "
- "You should divide the DCP into shorter reels."
+ "The largest file is 134MB. You should divide the DCP into shorter reels."
);
}
@@ -245,7 +245,7 @@ BOOST_AUTO_TEST_CASE (hint_closed_caption_xml_too_big)
BOOST_CHECK_EQUAL (
hints[0],
"At least one of your closed caption files' XML part is larger than " MAX_CLOSED_CAPTION_XML_SIZE_TEXT ". "
- "You should divide the DCP into shorter reels."
+ "The largest XML part is 482KB. You should divide the DCP into shorter reels."
);
}
diff --git a/test/image_test.cc b/test/image_test.cc
index aa3baeb4f..6d566aac7 100644
--- a/test/image_test.cc
+++ b/test/image_test.cc
@@ -43,50 +43,50 @@ using std::make_shared;
using std::string;
-BOOST_AUTO_TEST_CASE (aligned_image_test)
+BOOST_AUTO_TEST_CASE(aligned_image_test)
{
- auto s = new Image (AV_PIX_FMT_RGB24, dcp::Size (50, 50), Image::Alignment::PADDED);
- BOOST_CHECK_EQUAL (s->planes(), 1);
+ auto s = new Image(AV_PIX_FMT_RGB24, dcp::Size(50, 50), Image::Alignment::PADDED);
+ BOOST_CHECK_EQUAL(s->planes(), 1);
/* 192 is 150 aligned to the nearest 64 bytes */
- BOOST_CHECK_EQUAL (s->stride()[0], 192);
- BOOST_CHECK_EQUAL (s->line_size()[0], 150);
- BOOST_CHECK (s->data()[0]);
- BOOST_CHECK (!s->data()[1]);
- BOOST_CHECK (!s->data()[2]);
- BOOST_CHECK (!s->data()[3]);
+ BOOST_CHECK_EQUAL(s->stride()[0], 192);
+ BOOST_CHECK_EQUAL(s->line_size()[0], 150);
+ BOOST_CHECK(s->data()[0]);
+ BOOST_CHECK(!s->data()[1]);
+ BOOST_CHECK(!s->data()[2]);
+ BOOST_CHECK(!s->data()[3]);
/* copy constructor */
- auto t = new Image (*s);
- BOOST_CHECK_EQUAL (t->planes(), 1);
- BOOST_CHECK_EQUAL (t->stride()[0], 192);
- BOOST_CHECK_EQUAL (t->line_size()[0], 150);
- BOOST_CHECK (t->data()[0]);
- BOOST_CHECK (!t->data()[1]);
- BOOST_CHECK (!t->data()[2]);
- BOOST_CHECK (!t->data()[3]);
- BOOST_CHECK (t->data() != s->data());
- BOOST_CHECK (t->data()[0] != s->data()[0]);
- BOOST_CHECK (t->line_size() != s->line_size());
- BOOST_CHECK_EQUAL (t->line_size()[0], s->line_size()[0]);
- BOOST_CHECK (t->stride() != s->stride());
- BOOST_CHECK_EQUAL (t->stride()[0], s->stride()[0]);
+ auto t = new Image(*s);
+ BOOST_CHECK_EQUAL(t->planes(), 1);
+ BOOST_CHECK_EQUAL(t->stride()[0], 192);
+ BOOST_CHECK_EQUAL(t->line_size()[0], 150);
+ BOOST_CHECK(t->data()[0]);
+ BOOST_CHECK(!t->data()[1]);
+ BOOST_CHECK(!t->data()[2]);
+ BOOST_CHECK(!t->data()[3]);
+ BOOST_CHECK(t->data() != s->data());
+ BOOST_CHECK(t->data()[0] != s->data()[0]);
+ BOOST_CHECK(t->line_size() != s->line_size());
+ BOOST_CHECK_EQUAL(t->line_size()[0], s->line_size()[0]);
+ BOOST_CHECK(t->stride() != s->stride());
+ BOOST_CHECK_EQUAL(t->stride()[0], s->stride()[0]);
/* assignment operator */
- auto u = new Image (AV_PIX_FMT_YUV422P, dcp::Size (150, 150), Image::Alignment::COMPACT);
+ auto u = new Image(AV_PIX_FMT_YUV422P, dcp::Size(150, 150), Image::Alignment::COMPACT);
*u = *s;
- BOOST_CHECK_EQUAL (u->planes(), 1);
- BOOST_CHECK_EQUAL (u->stride()[0], 192);
- BOOST_CHECK_EQUAL (u->line_size()[0], 150);
- BOOST_CHECK (u->data()[0]);
- BOOST_CHECK (!u->data()[1]);
- BOOST_CHECK (!u->data()[2]);
- BOOST_CHECK (!u->data()[3]);
- BOOST_CHECK (u->data() != s->data());
- BOOST_CHECK (u->data()[0] != s->data()[0]);
- BOOST_CHECK (u->line_size() != s->line_size());
- BOOST_CHECK_EQUAL (u->line_size()[0], s->line_size()[0]);
- BOOST_CHECK (u->stride() != s->stride());
- BOOST_CHECK_EQUAL (u->stride()[0], s->stride()[0]);
+ BOOST_CHECK_EQUAL(u->planes(), 1);
+ BOOST_CHECK_EQUAL(u->stride()[0], 192);
+ BOOST_CHECK_EQUAL(u->line_size()[0], 150);
+ BOOST_CHECK(u->data()[0]);
+ BOOST_CHECK(!u->data()[1]);
+ BOOST_CHECK(!u->data()[2]);
+ BOOST_CHECK(!u->data()[3]);
+ BOOST_CHECK(u->data() != s->data());
+ BOOST_CHECK(u->data()[0] != s->data()[0]);
+ BOOST_CHECK(u->line_size() != s->line_size());
+ BOOST_CHECK_EQUAL(u->line_size()[0], s->line_size()[0]);
+ BOOST_CHECK(u->stride() != s->stride());
+ BOOST_CHECK_EQUAL(u->stride()[0], s->stride()[0]);
delete s;
delete t;
@@ -94,49 +94,49 @@ BOOST_AUTO_TEST_CASE (aligned_image_test)
}
-BOOST_AUTO_TEST_CASE (compact_image_test)
+BOOST_AUTO_TEST_CASE(compact_image_test)
{
- auto s = new Image (AV_PIX_FMT_RGB24, dcp::Size (50, 50), Image::Alignment::COMPACT);
- BOOST_CHECK_EQUAL (s->planes(), 1);
- BOOST_CHECK_EQUAL (s->stride()[0], 50 * 3);
- BOOST_CHECK_EQUAL (s->line_size()[0], 50 * 3);
- BOOST_CHECK (s->data()[0]);
- BOOST_CHECK (!s->data()[1]);
- BOOST_CHECK (!s->data()[2]);
- BOOST_CHECK (!s->data()[3]);
+ auto s = new Image(AV_PIX_FMT_RGB24, dcp::Size(50, 50), Image::Alignment::COMPACT);
+ BOOST_CHECK_EQUAL(s->planes(), 1);
+ BOOST_CHECK_EQUAL(s->stride()[0], 50 * 3);
+ BOOST_CHECK_EQUAL(s->line_size()[0], 50 * 3);
+ BOOST_CHECK(s->data()[0]);
+ BOOST_CHECK(!s->data()[1]);
+ BOOST_CHECK(!s->data()[2]);
+ BOOST_CHECK(!s->data()[3]);
/* copy constructor */
- auto t = new Image (*s);
- BOOST_CHECK_EQUAL (t->planes(), 1);
- BOOST_CHECK_EQUAL (t->stride()[0], 50 * 3);
- BOOST_CHECK_EQUAL (t->line_size()[0], 50 * 3);
- BOOST_CHECK (t->data()[0]);
- BOOST_CHECK (!t->data()[1]);
- BOOST_CHECK (!t->data()[2]);
- BOOST_CHECK (!t->data()[3]);
- BOOST_CHECK (t->data() != s->data());
- BOOST_CHECK (t->data()[0] != s->data()[0]);
- BOOST_CHECK (t->line_size() != s->line_size());
- BOOST_CHECK_EQUAL (t->line_size()[0], s->line_size()[0]);
- BOOST_CHECK (t->stride() != s->stride());
- BOOST_CHECK_EQUAL (t->stride()[0], s->stride()[0]);
+ auto t = new Image(*s);
+ BOOST_CHECK_EQUAL(t->planes(), 1);
+ BOOST_CHECK_EQUAL(t->stride()[0], 50 * 3);
+ BOOST_CHECK_EQUAL(t->line_size()[0], 50 * 3);
+ BOOST_CHECK(t->data()[0]);
+ BOOST_CHECK(!t->data()[1]);
+ BOOST_CHECK(!t->data()[2]);
+ BOOST_CHECK(!t->data()[3]);
+ BOOST_CHECK(t->data() != s->data());
+ BOOST_CHECK(t->data()[0] != s->data()[0]);
+ BOOST_CHECK(t->line_size() != s->line_size());
+ BOOST_CHECK_EQUAL(t->line_size()[0], s->line_size()[0]);
+ BOOST_CHECK(t->stride() != s->stride());
+ BOOST_CHECK_EQUAL(t->stride()[0], s->stride()[0]);
/* assignment operator */
- auto u = new Image (AV_PIX_FMT_YUV422P, dcp::Size (150, 150), Image::Alignment::PADDED);
+ auto u = new Image(AV_PIX_FMT_YUV422P, dcp::Size(150, 150), Image::Alignment::PADDED);
*u = *s;
- BOOST_CHECK_EQUAL (u->planes(), 1);
- BOOST_CHECK_EQUAL (u->stride()[0], 50 * 3);
- BOOST_CHECK_EQUAL (u->line_size()[0], 50 * 3);
- BOOST_CHECK (u->data()[0]);
- BOOST_CHECK (!u->data()[1]);
- BOOST_CHECK (!u->data()[2]);
- BOOST_CHECK (!u->data()[3]);
- BOOST_CHECK (u->data() != s->data());
- BOOST_CHECK (u->data()[0] != s->data()[0]);
- BOOST_CHECK (u->line_size() != s->line_size());
- BOOST_CHECK_EQUAL (u->line_size()[0], s->line_size()[0]);
- BOOST_CHECK (u->stride() != s->stride());
- BOOST_CHECK_EQUAL (u->stride()[0], s->stride()[0]);
+ BOOST_CHECK_EQUAL(u->planes(), 1);
+ BOOST_CHECK_EQUAL(u->stride()[0], 50 * 3);
+ BOOST_CHECK_EQUAL(u->line_size()[0], 50 * 3);
+ BOOST_CHECK(u->data()[0]);
+ BOOST_CHECK(!u->data()[1]);
+ BOOST_CHECK(!u->data()[2]);
+ BOOST_CHECK(!u->data()[3]);
+ BOOST_CHECK(u->data() != s->data());
+ BOOST_CHECK(u->data()[0] != s->data()[0]);
+ BOOST_CHECK(u->line_size() != s->line_size());
+ BOOST_CHECK_EQUAL(u->line_size()[0], s->line_size()[0]);
+ BOOST_CHECK(u->stride() != s->stride());
+ BOOST_CHECK_EQUAL(u->stride()[0], s->stride()[0]);
delete s;
delete t;
@@ -150,10 +150,10 @@ alpha_blend_test_bgra_onto(AVPixelFormat format, string suffix)
{
auto proxy = make_shared<FFmpegImageProxy>(TestPaths::private_data() / "prophet_frame.tiff");
auto raw = proxy->image(Image::Alignment::PADDED).image;
- auto background = raw->convert_pixel_format (dcp::YUVToRGB::REC709, format, Image::Alignment::PADDED, false);
+ auto background = raw->convert_pixel_format(dcp::YUVToRGB::REC709, format, Image::Alignment::PADDED, false);
auto overlay = make_shared<Image>(AV_PIX_FMT_BGRA, dcp::Size(431, 891), Image::Alignment::PADDED);
- overlay->make_transparent ();
+ overlay->make_transparent();
for (int y = 0; y < 128; ++y) {
auto p = overlay->data()[0] + y * overlay->stride()[0];
@@ -179,9 +179,9 @@ alpha_blend_test_bgra_onto(AVPixelFormat format, string suffix)
}
}
- background->alpha_blend (overlay, Position<int> (13, 17));
+ background->alpha_blend(overlay, Position<int>(13, 17));
- auto save = background->convert_pixel_format (dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, Image::Alignment::COMPACT, false);
+ auto save = background->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, Image::Alignment::COMPACT, false);
write_image(save, "build/test/image_test_bgra_" + suffix + ".png");
check_image("build/test/image_test_bgra_" + suffix + ".png", TestPaths::private_data() / ("image_test_bgra_" + suffix + ".png"));
@@ -194,7 +194,7 @@ alpha_blend_test_rgba64be_onto(AVPixelFormat format, string suffix)
{
auto proxy = make_shared<FFmpegImageProxy>(TestPaths::private_data() / "prophet_frame.tiff");
auto raw = proxy->image(Image::Alignment::PADDED).image;
- auto background = raw->convert_pixel_format (dcp::YUVToRGB::REC709, format, Image::Alignment::PADDED, false);
+ auto background = raw->convert_pixel_format(dcp::YUVToRGB::REC709, format, Image::Alignment::PADDED, false);
auto overlay = make_shared<Image>(AV_PIX_FMT_RGBA64BE, dcp::Size(431, 891), Image::Alignment::PADDED);
overlay->make_transparent();
@@ -233,7 +233,7 @@ alpha_blend_test_rgba64be_onto(AVPixelFormat format, string suffix)
/** Test Image::alpha_blend */
-BOOST_AUTO_TEST_CASE (alpha_blend_test)
+BOOST_AUTO_TEST_CASE(alpha_blend_test)
{
alpha_blend_test_bgra_onto(AV_PIX_FMT_RGB24, "rgb24");
alpha_blend_test_bgra_onto(AV_PIX_FMT_BGRA, "bgra");
@@ -348,12 +348,12 @@ BOOST_AUTO_TEST_CASE(alpha_blend_text)
/** Test merge (list<PositionImage>) with a single image */
-BOOST_AUTO_TEST_CASE (merge_test1)
+BOOST_AUTO_TEST_CASE(merge_test1)
{
int const stride = 48 * 4;
- auto A = make_shared<Image>(AV_PIX_FMT_BGRA, dcp::Size (48, 48), Image::Alignment::COMPACT);
- A->make_transparent ();
+ auto A = make_shared<Image>(AV_PIX_FMT_BGRA, dcp::Size(48, 48), Image::Alignment::COMPACT);
+ A->make_transparent();
auto a = A->data()[0];
for (int y = 0; y < 48; ++y) {
@@ -367,19 +367,19 @@ BOOST_AUTO_TEST_CASE (merge_test1)
}
list<PositionImage> all;
- all.push_back (PositionImage (A, Position<int>(0, 0)));
- auto merged = merge (all, Image::Alignment::COMPACT);
+ all.push_back(PositionImage(A, Position<int>(0, 0)));
+ auto merged = merge(all, Image::Alignment::COMPACT);
- BOOST_CHECK (merged.position == Position<int>(0, 0));
- BOOST_CHECK_EQUAL (memcmp (merged.image->data()[0], A->data()[0], stride * 48), 0);
+ BOOST_CHECK(merged.position == Position<int>(0, 0));
+ BOOST_CHECK_EQUAL(memcmp(merged.image->data()[0], A->data()[0], stride * 48), 0);
}
/** Test merge (list<PositionImage>) with two images */
-BOOST_AUTO_TEST_CASE (merge_test2)
+BOOST_AUTO_TEST_CASE(merge_test2)
{
- auto A = make_shared<Image>(AV_PIX_FMT_BGRA, dcp::Size (48, 1), Image::Alignment::COMPACT);
- A->make_transparent ();
+ auto A = make_shared<Image>(AV_PIX_FMT_BGRA, dcp::Size(48, 1), Image::Alignment::COMPACT);
+ A->make_transparent();
auto a = A->data()[0];
for (int x = 0; x < 16; ++x) {
/* blue */
@@ -388,8 +388,8 @@ BOOST_AUTO_TEST_CASE (merge_test2)
a[x * 4 + 3] = 255;
}
- auto B = make_shared<Image>(AV_PIX_FMT_BGRA, dcp::Size (48, 1), Image::Alignment::COMPACT);
- B->make_transparent ();
+ auto B = make_shared<Image>(AV_PIX_FMT_BGRA, dcp::Size(48, 1), Image::Alignment::COMPACT);
+ B->make_transparent();
auto b = B->data()[0];
for (int x = 0; x < 16; ++x) {
/* red */
@@ -399,26 +399,26 @@ BOOST_AUTO_TEST_CASE (merge_test2)
}
list<PositionImage> all;
- all.push_back (PositionImage(A, Position<int>(0, 0)));
- all.push_back (PositionImage(B, Position<int>(0, 0)));
- auto merged = merge (all, Image::Alignment::COMPACT);
+ all.push_back(PositionImage(A, Position<int>(0, 0)));
+ all.push_back(PositionImage(B, Position<int>(0, 0)));
+ auto merged = merge(all, Image::Alignment::COMPACT);
- BOOST_CHECK (merged.position == Position<int>(0, 0));
+ BOOST_CHECK(merged.position == Position<int>(0, 0));
auto m = merged.image->data()[0];
for (int x = 0; x < 16; ++x) {
- BOOST_CHECK_EQUAL (m[x * 4], 255);
- BOOST_CHECK_EQUAL (m[x * 4 + 3], 255);
- BOOST_CHECK_EQUAL (m[(x + 16) * 4 + 3], 0);
- BOOST_CHECK_EQUAL (m[(x + 32) * 4 + 2], 255);
- BOOST_CHECK_EQUAL (m[(x + 32) * 4 + 3], 255);
+ BOOST_CHECK_EQUAL(m[x * 4], 255);
+ BOOST_CHECK_EQUAL(m[x * 4 + 3], 255);
+ BOOST_CHECK_EQUAL(m[(x + 16) * 4 + 3], 0);
+ BOOST_CHECK_EQUAL(m[(x + 32) * 4 + 2], 255);
+ BOOST_CHECK_EQUAL(m[(x + 32) * 4 + 3], 255);
}
}
/** Test Image::crop_scale_window with YUV420P and some windowing */
-BOOST_AUTO_TEST_CASE (crop_scale_window_test)
+BOOST_AUTO_TEST_CASE(crop_scale_window_test)
{
auto proxy = make_shared<FFmpegImageProxy>("test/data/flat_red.png");
auto raw = proxy->image(Image::Alignment::PADDED).image;
@@ -432,19 +432,19 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test)
/** Special cases of Image::crop_scale_window which triggered some valgrind warnings */
-BOOST_AUTO_TEST_CASE (crop_scale_window_test2)
+BOOST_AUTO_TEST_CASE(crop_scale_window_test2)
{
auto image = make_shared<Image>(AV_PIX_FMT_XYZ12LE, dcp::Size(2048, 858), Image::Alignment::PADDED);
- image->crop_scale_window (
+ image->crop_scale_window(
Crop(279, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::COMPACT, false
);
- image->crop_scale_window (
+ image->crop_scale_window(
Crop(2048, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::COMPACT, false
);
}
-BOOST_AUTO_TEST_CASE (crop_scale_window_test3)
+BOOST_AUTO_TEST_CASE(crop_scale_window_test3)
{
auto proxy = make_shared<FFmpegImageProxy>(TestPaths::private_data() / "player_seek_test_0.png");
auto xyz = proxy->image(Image::Alignment::PADDED).image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, Image::Alignment::PADDED, false);
@@ -456,7 +456,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test3)
}
-BOOST_AUTO_TEST_CASE (crop_scale_window_test4)
+BOOST_AUTO_TEST_CASE(crop_scale_window_test4)
{
auto proxy = make_shared<FFmpegImageProxy>(TestPaths::private_data() / "player_seek_test_0.png");
auto xyz = proxy->image(Image::Alignment::PADDED).image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, Image::Alignment::PADDED, false);
@@ -472,7 +472,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test4)
}
-BOOST_AUTO_TEST_CASE (crop_scale_window_test5)
+BOOST_AUTO_TEST_CASE(crop_scale_window_test5)
{
auto proxy = make_shared<FFmpegImageProxy>(TestPaths::private_data() / "player_seek_test_0.png");
auto xyz = proxy->image(Image::Alignment::PADDED).image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_XYZ12LE, Image::Alignment::PADDED, false);
@@ -484,7 +484,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test5)
}
-BOOST_AUTO_TEST_CASE (crop_scale_window_test6)
+BOOST_AUTO_TEST_CASE(crop_scale_window_test6)
{
auto proxy = make_shared<FFmpegImageProxy>(TestPaths::private_data() / "player_seek_test_0.png");
auto xyz = proxy->image(Image::Alignment::PADDED).image->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_XYZ12LE, Image::Alignment::PADDED, false);
@@ -501,7 +501,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test6)
/** Test some small crops with an image that shows up errors in registration of the YUV planes (#1872) */
-BOOST_AUTO_TEST_CASE (crop_scale_window_test7)
+BOOST_AUTO_TEST_CASE(crop_scale_window_test7)
{
using namespace boost::filesystem;
for (int left_crop = 0; left_crop < 8; ++left_crop) {
@@ -526,7 +526,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test7)
}
-BOOST_AUTO_TEST_CASE (crop_scale_window_test8)
+BOOST_AUTO_TEST_CASE(crop_scale_window_test8)
{
using namespace boost::filesystem;
@@ -543,20 +543,20 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test8)
}
-BOOST_AUTO_TEST_CASE (as_png_test)
+BOOST_AUTO_TEST_CASE(as_png_test)
{
auto proxy = make_shared<FFmpegImageProxy>("test/data/3d_test/000001.png");
auto image_rgb = proxy->image(Image::Alignment::PADDED).image;
auto image_bgr = image_rgb->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_BGRA, Image::Alignment::PADDED, false);
- image_as_png(image_rgb).write ("build/test/as_png_rgb.png");
- image_as_png(image_bgr).write ("build/test/as_png_bgr.png");
+ image_as_png(image_rgb).write("build/test/as_png_rgb.png");
+ image_as_png(image_bgr).write("build/test/as_png_bgr.png");
- check_image ("test/data/3d_test/000001.png", "build/test/as_png_rgb.png");
- check_image ("test/data/3d_test/000001.png", "build/test/as_png_bgr.png");
+ check_image("test/data/3d_test/000001.png", "build/test/as_png_rgb.png");
+ check_image("test/data/3d_test/000001.png", "build/test/as_png_bgr.png");
}
-BOOST_AUTO_TEST_CASE (as_jpeg_test)
+BOOST_AUTO_TEST_CASE(as_jpeg_test)
{
auto proxy = make_shared<FFmpegImageProxy>("test/data/3d_test/000001.png");
auto image_rgb = proxy->image(Image::Alignment::PADDED).image;
@@ -564,67 +564,67 @@ BOOST_AUTO_TEST_CASE (as_jpeg_test)
image_as_jpeg(image_rgb, 60).write("build/test/as_jpeg_rgb.jpeg");
image_as_jpeg(image_bgr, 60).write("build/test/as_jpeg_bgr.jpeg");
- check_image ("test/data/as_jpeg_rgb.jpeg", "build/test/as_jpeg_rgb.jpeg");
- check_image ("test/data/as_jpeg_bgr.jpeg", "build/test/as_jpeg_bgr.jpeg");
+ check_image("test/data/as_jpeg_rgb.jpeg", "build/test/as_jpeg_rgb.jpeg");
+ check_image("test/data/as_jpeg_bgr.jpeg", "build/test/as_jpeg_bgr.jpeg");
}
/* Very dumb test to fade black to make sure it stays black */
static void
-fade_test_format_black (AVPixelFormat f, string name)
+fade_test_format_black(AVPixelFormat f, string name)
{
- Image yuv (f, dcp::Size(640, 480), Image::Alignment::PADDED);
- yuv.make_black ();
- yuv.fade (0);
+ Image yuv(f, dcp::Size(640, 480), Image::Alignment::PADDED);
+ yuv.make_black();
+ yuv.fade(0);
string const filename = "fade_test_black_" + name + ".png";
image_as_png(yuv.convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGBA, Image::Alignment::PADDED, false)).write("build/test/" + filename);
- check_image ("test/data/" + filename, "build/test/" + filename);
+ check_image("test/data/" + filename, "build/test/" + filename);
}
/* Fade red to make sure it stays red */
static void
-fade_test_format_red (AVPixelFormat f, float amount, string name)
+fade_test_format_red(AVPixelFormat f, float amount, string name)
{
auto proxy = make_shared<FFmpegImageProxy>("test/data/flat_red.png");
auto red = proxy->image(Image::Alignment::PADDED).image->convert_pixel_format(dcp::YUVToRGB::REC709, f, Image::Alignment::PADDED, false);
- red->fade (amount);
+ red->fade(amount);
string const filename = "fade_test_red_" + name + ".png";
image_as_png(red->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGBA, Image::Alignment::PADDED, false)).write("build/test/" + filename);
- check_image ("test/data/" + filename, "build/test/" + filename);
+ check_image("test/data/" + filename, "build/test/" + filename);
}
-BOOST_AUTO_TEST_CASE (fade_test)
+BOOST_AUTO_TEST_CASE(fade_test)
{
- fade_test_format_black (AV_PIX_FMT_YUV420P, "yuv420p");
- fade_test_format_black (AV_PIX_FMT_YUV422P10, "yuv422p10");
- fade_test_format_black (AV_PIX_FMT_RGB24, "rgb24");
- fade_test_format_black (AV_PIX_FMT_XYZ12LE, "xyz12le");
- fade_test_format_black (AV_PIX_FMT_RGB48LE, "rgb48le");
-
- fade_test_format_red (AV_PIX_FMT_YUV420P, 0, "yuv420p_0");
- fade_test_format_red (AV_PIX_FMT_YUV420P, 0.5, "yuv420p_50");
- fade_test_format_red (AV_PIX_FMT_YUV420P, 1, "yuv420p_100");
- fade_test_format_red (AV_PIX_FMT_YUV422P10, 0, "yuv422p10_0");
- fade_test_format_red (AV_PIX_FMT_YUV422P10, 0.5, "yuv422p10_50");
- fade_test_format_red (AV_PIX_FMT_YUV422P10, 1, "yuv422p10_100");
- fade_test_format_red (AV_PIX_FMT_RGB24, 0, "rgb24_0");
- fade_test_format_red (AV_PIX_FMT_RGB24, 0.5, "rgb24_50");
- fade_test_format_red (AV_PIX_FMT_RGB24, 1, "rgb24_100");
- fade_test_format_red (AV_PIX_FMT_XYZ12LE, 0, "xyz12le_0");
- fade_test_format_red (AV_PIX_FMT_XYZ12LE, 0.5, "xyz12le_50");
- fade_test_format_red (AV_PIX_FMT_XYZ12LE, 1, "xyz12le_100");
- fade_test_format_red (AV_PIX_FMT_RGB48LE, 0, "rgb48le_0");
- fade_test_format_red (AV_PIX_FMT_RGB48LE, 0.5, "rgb48le_50");
- fade_test_format_red (AV_PIX_FMT_RGB48LE, 1, "rgb48le_100");
+ fade_test_format_black(AV_PIX_FMT_YUV420P, "yuv420p");
+ fade_test_format_black(AV_PIX_FMT_YUV422P10, "yuv422p10");
+ fade_test_format_black(AV_PIX_FMT_RGB24, "rgb24");
+ fade_test_format_black(AV_PIX_FMT_XYZ12LE, "xyz12le");
+ fade_test_format_black(AV_PIX_FMT_RGB48LE, "rgb48le");
+
+ fade_test_format_red (AV_PIX_FMT_YUV420P, 0, "yuv420p_0");
+ fade_test_format_red (AV_PIX_FMT_YUV420P, 0.5, "yuv420p_50");
+ fade_test_format_red (AV_PIX_FMT_YUV420P, 1, "yuv420p_100");
+ fade_test_format_red (AV_PIX_FMT_YUV422P10, 0, "yuv422p10_0");
+ fade_test_format_red (AV_PIX_FMT_YUV422P10, 0.5, "yuv422p10_50");
+ fade_test_format_red (AV_PIX_FMT_YUV422P10, 1, "yuv422p10_100");
+ fade_test_format_red (AV_PIX_FMT_RGB24, 0, "rgb24_0");
+ fade_test_format_red (AV_PIX_FMT_RGB24, 0.5, "rgb24_50");
+ fade_test_format_red (AV_PIX_FMT_RGB24, 1, "rgb24_100");
+ fade_test_format_red (AV_PIX_FMT_XYZ12LE, 0, "xyz12le_0");
+ fade_test_format_red (AV_PIX_FMT_XYZ12LE, 0.5, "xyz12le_50");
+ fade_test_format_red (AV_PIX_FMT_XYZ12LE, 1, "xyz12le_100");
+ fade_test_format_red (AV_PIX_FMT_RGB48LE, 0, "rgb48le_0");
+ fade_test_format_red (AV_PIX_FMT_RGB48LE, 0.5, "rgb48le_50");
+ fade_test_format_red (AV_PIX_FMT_RGB48LE, 1, "rgb48le_100");
}
-BOOST_AUTO_TEST_CASE (make_black_test)
+BOOST_AUTO_TEST_CASE(make_black_test)
{
- dcp::Size in_size (512, 512);
- dcp::Size out_size (1024, 1024);
+ dcp::Size in_size(512, 512);
+ dcp::Size out_size(1024, 1024);
list<AVPixelFormat> pix_fmts = {
AV_PIX_FMT_RGB24, // 2
@@ -667,8 +667,8 @@ BOOST_AUTO_TEST_CASE (make_black_test)
for (auto i: pix_fmts) {
auto foo = make_shared<Image>(i, in_size, Image::Alignment::PADDED);
- foo->make_black ();
- auto bar = foo->scale (out_size, dcp::YUVToRGB::REC601, AV_PIX_FMT_RGB24, Image::Alignment::PADDED, false);
+ foo->make_black();
+ auto bar = foo->scale(out_size, dcp::YUVToRGB::REC601, AV_PIX_FMT_RGB24, Image::Alignment::PADDED, false);
uint8_t* p = bar->data()[0];
for (int y = 0; y < bar->size().height; ++y) {
@@ -677,7 +677,7 @@ BOOST_AUTO_TEST_CASE (make_black_test)
if (*q != 0) {
std::cerr << "x=" << x << ", (x % 3)=" << (x % 3) << "\n";
}
- BOOST_CHECK_EQUAL (*q++, 0);
+ BOOST_CHECK_EQUAL(*q++, 0);
}
p += bar->stride()[0];
}
@@ -685,7 +685,7 @@ BOOST_AUTO_TEST_CASE (make_black_test)
}
-BOOST_AUTO_TEST_CASE (make_part_black_test)
+BOOST_AUTO_TEST_CASE(make_part_black_test)
{
auto proxy = make_shared<FFmpegImageProxy>("test/data/flat_red.png");
auto original = proxy->image(Image::Alignment::PADDED).image;
@@ -709,8 +709,8 @@ BOOST_AUTO_TEST_CASE (make_part_black_test)
for (auto i: pix_fmts) {
for (auto j: positions) {
auto foo = original->convert_pixel_format(dcp::YUVToRGB::REC601, i, Image::Alignment::PADDED, false);
- foo->make_part_black (j.first, j.second);
- auto bar = foo->convert_pixel_format (dcp::YUVToRGB::REC601, AV_PIX_FMT_RGB24, Image::Alignment::PADDED, false);
+ foo->make_part_black(j.first, j.second);
+ auto bar = foo->convert_pixel_format(dcp::YUVToRGB::REC601, AV_PIX_FMT_RGB24, Image::Alignment::PADDED, false);
auto p = bar->data()[0];
for (int y = 0; y < bar->size().height; ++y) {
@@ -720,19 +720,19 @@ BOOST_AUTO_TEST_CASE (make_part_black_test)
int g = *q++;
int b = *q++;
if (x >= j.first && x < (j.first + j.second)) {
- BOOST_CHECK_MESSAGE (
+ BOOST_CHECK_MESSAGE(
r < 3, "red=" << static_cast<int>(r) << " at (" << x << "," << y << ") format " << i << " from " << j.first << " width " << j.second
);
} else {
- BOOST_CHECK_MESSAGE (
+ BOOST_CHECK_MESSAGE(
r >= 252, "red=" << static_cast<int>(r) << " at (" << x << "," << y << ") format " << i << " from " << j.first << " width " << j.second
);
}
- BOOST_CHECK_MESSAGE (
+ BOOST_CHECK_MESSAGE(
g == 0, "green=" << static_cast<int>(g) << " at (" << x << "," << y << ") format " << i << " from " << j.first << " width " << j.second
);
- BOOST_CHECK_MESSAGE (
+ BOOST_CHECK_MESSAGE(
b == 0, "blue=" << static_cast<int>(b) << " at (" << x << "," << y << ") format " << i << " from " << j.first << " width " << j.second
);
}
@@ -747,14 +747,27 @@ BOOST_AUTO_TEST_CASE (make_part_black_test)
* filler 128x128 black frame is emitted from the FFmpegDecoder and the overall crop in either direction
* is greater than 128 pixels.
*/
-BOOST_AUTO_TEST_CASE (over_crop_test)
+BOOST_AUTO_TEST_CASE(over_crop_test)
{
auto image = make_shared<Image>(AV_PIX_FMT_RGB24, dcp::Size(128, 128), Image::Alignment::PADDED);
- image->make_black ();
- auto scaled = image->crop_scale_window (
+ image->make_black();
+ auto scaled = image->crop_scale_window(
Crop(0, 0, 128, 128), dcp::Size(1323, 565), dcp::Size(1349, 565), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_RGB24, VideoRange::FULL, Image::Alignment::PADDED, true
);
string const filename = "over_crop_test.png";
- write_image (scaled, "build/test/" + filename);
- check_image ("test/data/" + filename, "build/test/" + filename);
+ write_image(scaled, "build/test/" + filename);
+ check_image("test/data/" + filename, "build/test/" + filename);
}
+
+
+BOOST_AUTO_TEST_CASE(rgb0_image_test)
+{
+ auto proxy = make_shared<FFmpegImageProxy>(TestPaths::private_data() / "rgb0.tif");
+ write_image(
+ proxy->image(Image::Alignment::PADDED).image->convert_pixel_format(
+ dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, Image::Alignment::COMPACT, false
+ ), "build/test/rgb0.png"
+ );
+ check_image(TestPaths::private_data() / "rgb0.png", "build/test/rgb0.png");
+}
+
diff --git a/test/kdm_cli_test.cc b/test/kdm_cli_test.cc
index 4bc3ddf46..4913986f3 100644
--- a/test/kdm_cli_test.cc
+++ b/test/kdm_cli_test.cc
@@ -364,3 +364,61 @@ BOOST_AUTO_TEST_CASE(kdm_cli_add_dkdm)
BOOST_CHECK_EQUAL(dkdm->dkdm().as_xml(), dcp::file_to_string("test/data/dkdm.xml"));
}
+
+BOOST_AUTO_TEST_CASE(kdm_cli_formulation_warning)
+{
+ vector<string> args = {
+ "kdm_cli",
+ "--valid-from", "now",
+ "--valid-duration", "2 weeks",
+ "--trusted-device-chain", "test/data/decryption_chain",
+ "--projector-certificate", "test/data/cert.pem",
+ "-S", "my great screen",
+ "-o", "build/test",
+ "test/data/dkdm.xml"
+ };
+
+ boost::filesystem::path const kdm_filename = "build/test/KDM_Test_FTR-1_F-133_XX-XX_MOS_2K_20220109_SMPTE_OV__my_great_screen.xml";
+ boost::system::error_code ec;
+ boost::filesystem::remove(kdm_filename, ec);
+
+ vector<string> output;
+ auto error = run(args, output);
+ BOOST_CHECK(!error);
+ BOOST_REQUIRE_EQUAL(output.size(), 1U);
+ BOOST_CHECK(output[0].find("the KDM formulation you specified will not write them to the KDM") != std::string::npos);
+
+ BOOST_CHECK(boost::filesystem::exists(kdm_filename));
+}
+
+
+BOOST_AUTO_TEST_CASE(kdm_cli_trusted_device_chain)
+{
+ vector<string> args = {
+ "kdm_cli",
+ "--valid-from", "now",
+ "--valid-duration", "2 weeks",
+ "--trusted-device-chain", "test/data/decryption_chain",
+ "--projector-certificate", "test/data/cert.pem",
+ "-S", "my great screen",
+ "-o", "build/test",
+ "-F", "multiple-modified-transitional-1",
+ "test/data/dkdm.xml"
+ };
+
+ boost::filesystem::path const kdm_filename = "build/test/KDM_Test_FTR-1_F-133_XX-XX_MOS_2K_20220109_SMPTE_OV__my_great_screen.xml";
+ boost::system::error_code ec;
+ boost::filesystem::remove(kdm_filename, ec);
+
+ vector<string> output;
+ auto error = run(args, output);
+ BOOST_CHECK(!error);
+ BOOST_CHECK(output.empty());
+
+ BOOST_CHECK(boost::filesystem::exists(kdm_filename));
+
+ dcp::EncryptedKDM kdm(dcp::file_to_string(kdm_filename));
+ BOOST_REQUIRE_EQUAL(kdm.trusted_devices().size(), 1U);
+ BOOST_CHECK_EQUAL(kdm.trusted_devices()[0], "KTEVkrCuEsqjXQSPy/H/lpVC9ys=");
+}
+
diff --git a/test/memory_util_test.cc b/test/memory_util_test.cc
new file mode 100644
index 000000000..340ac17fb
--- /dev/null
+++ b/test/memory_util_test.cc
@@ -0,0 +1,72 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "lib/memory_util.h"
+#include <boost/test/unit_test.hpp>
+
+
+void check(void* p, int size, uint64_t value)
+{
+ uint8_t* up = reinterpret_cast<uint8_t*>(p);
+ for (int i = 0; i < size; ++i) {
+ BOOST_CHECK_EQUAL(*up++, (value >> (i * 8)) & 0xff);
+ }
+}
+
+
+/** Aligned, multiple of 64 size */
+BOOST_AUTO_TEST_CASE(fill_memory_test1)
+{
+ int constexpr size = 256;
+ auto memory = wrapped_av_malloc(size);
+ BOOST_REQUIRE_EQUAL(reinterpret_cast<uintptr_t>(memory) % 8, 0U);
+
+ fill_memory(memory, size, 0x1928374654abdfea);
+ check(memory, size, 0x1928374654abdfea);
+}
+
+
+/** Aligned, extra bytes at the end */
+BOOST_AUTO_TEST_CASE(fill_memory_test2)
+{
+ int constexpr size = 259;
+
+ auto memory = wrapped_av_malloc(size);
+ BOOST_REQUIRE_EQUAL(reinterpret_cast<uintptr_t>(memory) % 8, 0U);
+
+ fill_memory(memory, size, 0x1928374654abdfea);
+ check(memory, size, 0x1928374654abdfea);
+}
+
+
+/** Non-aligned, extra bytes at start and end */
+BOOST_AUTO_TEST_CASE(fill_memory_test3)
+{
+ int constexpr size = 265;
+
+ auto memory = wrapped_av_malloc(size + 512);
+ BOOST_REQUIRE_EQUAL(reinterpret_cast<uintptr_t>(memory) % 8, 0U);
+ memory = reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(memory) + 3);
+
+ fill_memory(memory, size, 0x1928374654abdfea);
+ check(memory, size, 0x1928374654abdfea);
+}
+
diff --git a/test/packet_queue_test.cc b/test/packet_queue_test.cc
new file mode 100644
index 000000000..ae1cc5b22
--- /dev/null
+++ b/test/packet_queue_test.cc
@@ -0,0 +1,116 @@
+/*
+ Copyright (C) 2026 Carl Hetherington <cth@carlh.net>
+
+ This file is part of DCP-o-matic.
+
+ DCP-o-matic 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 of the License, or
+ (at your option) any later version.
+
+ DCP-o-matic 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 DCP-o-matic. If not, see <http://www.gnu.org/licenses/>.
+
+*/
+
+
+#include "lib/subtitle_sync_packet_queue.h"
+extern "C" {
+#include <libavcodec/packet.h>
+}
+#include <boost/test/unit_test.hpp>
+
+
+BOOST_AUTO_TEST_CASE(subtitle_sync_packet_queue_test)
+{
+ SubtitleSyncPacketQueue queue;
+ std::vector<std::pair<AVPacket*, PacketQueue::Type>> expected;
+
+ auto add_video = [&queue, &expected]() {
+ auto packet = av_packet_alloc();
+ queue.add(packet, PacketQueue::Type::VIDEO);
+ expected.push_back(std::make_pair(packet, PacketQueue::Type::VIDEO));
+ return packet;
+ };
+
+ auto add_audio = [&queue, &expected]() {
+ auto packet = av_packet_alloc();
+ queue.add(packet, PacketQueue::Type::AUDIO);
+ expected.push_back(std::make_pair(packet, PacketQueue::Type::AUDIO));
+ return packet;
+ };
+
+ auto add_subtitle = [&queue]() {
+ auto packet = av_packet_alloc();
+ queue.add(packet, PacketQueue::Type::SUBTITLE);
+ return packet;
+ };
+
+ auto check = [&queue](bool flush, std::pair<AVPacket*, PacketQueue::Type> ref) {
+ auto check = queue.get(flush);
+ BOOST_CHECK(check.has_value());
+ BOOST_CHECK(boost::get<AVPacket*>(check->first) == ref.first);
+ BOOST_CHECK(check->second == ref.second);
+ };
+
+ for (int i = 0; i < 24; ++i) {
+ add_video();
+ add_audio();
+ add_audio();
+ }
+
+ BOOST_CHECK(queue.get(false) == boost::none);
+
+ for (int i = 0; i < 23; ++i) {
+ add_video();
+ add_audio();
+ add_audio();
+ }
+
+ BOOST_CHECK(queue.get(false) == boost::none);
+
+ auto iter = expected.begin();
+
+ add_video();
+ check(false, *iter);
+ ++iter;
+
+ auto sub1 = add_subtitle();
+ auto sub2 = add_subtitle();
+
+ for (int i = 0; i < 24; ++i) {
+ add_video();
+ add_audio();
+ add_audio();
+ }
+
+ check(false, { sub1, PacketQueue::Type::SUBTITLE });
+ check(false, { sub2, PacketQueue::Type::SUBTITLE });
+
+ for (int i = 0; i < 24; ++i) {
+ check(false, *iter);
+ ++iter;
+ check(false, *iter);
+ ++iter;
+ check(false, *iter);
+ ++iter;
+ }
+
+ for (int i = 0; i < 47; ++i) {
+ check(true, *iter);
+ BOOST_REQUIRE(iter != expected.end());
+ ++iter;
+ check(true, *iter);
+ BOOST_REQUIRE(iter != expected.end());
+ ++iter;
+ check(true, *iter);
+ BOOST_REQUIRE(iter != expected.end());
+ ++iter;
+ }
+}
+
diff --git a/test/util_test.cc b/test/util_test.cc
index 692fbf427..ee26cc18c 100644
--- a/test/util_test.cc
+++ b/test/util_test.cc
@@ -93,11 +93,11 @@ BOOST_AUTO_TEST_CASE(seconds_to_approximate_hms_test)
BOOST_AUTO_TEST_CASE(time_to_hmsf_test)
{
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(12, 24), 24), "00:00:00.12");
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(24, 24), 24), "00:00:01.00");
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(32, 24), 24), "00:00:01.08");
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_seconds(92), 24), "00:01:32.00");
- BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_seconds(2 * 60 * 60 + 92), 24), "02:01:32.00");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(12, 24), 24), "00:00:00:12");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(24, 24), 24), "00:00:01:00");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_frames(32, 24), 24), "00:00:01:08");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_seconds(92), 24), "00:01:32:00");
+ BOOST_CHECK_EQUAL(time_to_hmsf(DCPTime::from_seconds(2 * 60 * 60 + 92), 24), "02:01:32:00");
}
diff --git a/test/vf_test.cc b/test/vf_test.cc
index 9c7ff65be..29b9913fd 100644
--- a/test/vf_test.cc
+++ b/test/vf_test.cc
@@ -592,3 +592,99 @@ BOOST_AUTO_TEST_CASE(vf_subs_get_font_from_ov)
auto vf_font = find_file(*font_dir, "font");
check_file("test/data/Inconsolata-VF.ttf", vf_font);
}
+
+
+/** CCAPs in OVs would not correctly be referred to as we'd incorrectly create an
+ * empty filler CCAP asset.
+ */
+BOOST_AUTO_TEST_CASE(vf_referring_to_ov_ccap_test)
+{
+ auto picture = content_factory("test/data/flat_red.png")[0];
+ auto ccap = content_factory("test/data/short.srt")[0];
+ auto ov = new_test_film("vf_referring_to_ov_ccap_test_ov", { picture, ccap });
+ ccap->only_text()->set_use(true);
+ ccap->only_text()->set_type(TextType::CLOSED_CAPTION);
+ ccap->only_text()->set_dcp_track(DCPTextTrack("First track", dcp::LanguageTag("fr")));
+ make_and_verify_dcp(ov, { dcp::VerificationNote::Code::INVALID_SUBTITLE_FIRST_TEXT_TIME });
+
+ auto ov_dcp = make_shared<DCPContent>(ov->dir(ov->dcp_name()));
+ auto subs = content_factory("test/data/short.srt")[0];
+ auto vf = new_test_film("vf_referring_to_ov_ccap_test_vf", { ov_dcp, subs });
+ vf->set_reel_type(ReelType::BY_VIDEO_CONTENT);
+ ov_dcp->set_reference_video(true);
+ ov_dcp->set_reference_audio(true);
+ ov_dcp->set_reference_text(TextType::CLOSED_CAPTION, true);
+ subs->only_text()->set_use(true);
+ subs->only_text()->set_type(TextType::OPEN_SUBTITLE);
+ subs->set_position(vf, dcpomatic::DCPTime());
+ vf->write_metadata();
+ make_dcp(vf, TranscodeJob::ChangedBehaviour::IGNORE);
+ BOOST_REQUIRE(!wait_for_jobs());
+
+ dcp::DCP ov_check(ov->dir(ov->dcp_name()));
+ ov_check.read();
+ dcp::DCP vf_check(vf->dir(vf->dcp_name()));
+ vf_check.read();
+
+ BOOST_REQUIRE_EQUAL(ov_check.cpls().size(), 1U);
+ BOOST_REQUIRE_EQUAL(vf_check.cpls().size(), 1U);
+ BOOST_REQUIRE_EQUAL(ov_check.cpls()[0]->reels().size(), 1U);
+ BOOST_REQUIRE_EQUAL(vf_check.cpls()[0]->reels().size(), 1U);
+ BOOST_REQUIRE_EQUAL(ov_check.cpls()[0]->reels()[0]->closed_captions().size(), 1U);
+ BOOST_REQUIRE_EQUAL(vf_check.cpls()[0]->reels()[0]->closed_captions().size(), 1U);
+
+ BOOST_CHECK_EQUAL(
+ ov_check.cpls()[0]->reels()[0]->closed_captions()[0]->id(),
+ vf_check.cpls()[0]->reels()[0]->closed_captions()[0]->id()
+ );
+}
+
+
+/** Check that in a VF we can have a CCAP reel which refers to the OV and another
+ * which is an auto-created filler.
+ */
+BOOST_AUTO_TEST_CASE(ccaps_can_be_referred_and_filled_test)
+{
+ auto picture = content_factory("test/data/flat_red.png")[0];
+ auto ccap = content_factory("test/data/short.srt")[0];
+ auto ov = new_test_film("ccaps_can_be_referred_and_filled_test_ov", { picture, ccap });
+ ccap->only_text()->set_use(true);
+ ccap->only_text()->set_type(TextType::CLOSED_CAPTION);
+ ccap->only_text()->set_dcp_track(DCPTextTrack("First track", dcp::LanguageTag("fr")));
+ make_and_verify_dcp(ov, { dcp::VerificationNote::Code::INVALID_SUBTITLE_FIRST_TEXT_TIME });
+
+ auto ov_dcp = make_shared<DCPContent>(ov->dir(ov->dcp_name()));
+ auto subs = content_factory("test/data/short.srt")[0];
+ auto vf = new_test_film("ccaps_can_be_referred_and_filled_test_vf", { ov_dcp, subs, picture });
+ vf->set_reel_type(ReelType::BY_VIDEO_CONTENT);
+ ov_dcp->set_reference_video(true);
+ ov_dcp->set_reference_audio(true);
+ ov_dcp->set_reference_text(TextType::CLOSED_CAPTION, true);
+ subs->only_text()->set_use(true);
+ subs->only_text()->set_type(TextType::OPEN_SUBTITLE);
+ subs->set_position(vf, dcpomatic::DCPTime());
+ vf->write_metadata();
+ make_dcp(vf, TranscodeJob::ChangedBehaviour::IGNORE);
+ BOOST_REQUIRE(!wait_for_jobs());
+
+ dcp::DCP ov_check(ov->dir(ov->dcp_name()));
+ ov_check.read();
+ dcp::DCP vf_check(vf->dir(vf->dcp_name()));
+ vf_check.read();
+
+ BOOST_REQUIRE_EQUAL(ov_check.cpls().size(), 1U);
+ BOOST_REQUIRE_EQUAL(vf_check.cpls().size(), 1U);
+ BOOST_REQUIRE_EQUAL(ov_check.cpls()[0]->reels().size(), 1U);
+ BOOST_REQUIRE_EQUAL(vf_check.cpls()[0]->reels().size(), 2U);
+
+ BOOST_REQUIRE_EQUAL(ov_check.cpls()[0]->reels()[0]->closed_captions().size(), 1U);
+ BOOST_REQUIRE_EQUAL(vf_check.cpls()[0]->reels()[0]->closed_captions().size(), 1U);
+
+ BOOST_CHECK_EQUAL(
+ ov_check.cpls()[0]->reels()[0]->closed_captions()[0]->id(),
+ vf_check.cpls()[0]->reels()[0]->closed_captions()[0]->id()
+ );
+
+ BOOST_REQUIRE_EQUAL(vf_check.cpls()[0]->reels()[1]->closed_captions().size(), 1U);
+}
+
diff --git a/test/wscript b/test/wscript
index 1390beebb..3c8e2229a 100644
--- a/test/wscript
+++ b/test/wscript
@@ -136,11 +136,13 @@ def build(bld):
markers_test.cc
map_cli_test.cc
mca_subdescriptors_test.cc
+ memory_util_test.cc
mpeg2_dcp_test.cc
no_use_video_test.cc
open_caption_test.cc
optimise_stills_test.cc
overlap_video_test.cc
+ packet_queue_test.cc
pixel_formats_test.cc
player_test.cc
playlist_test.cc
diff --git a/wscript b/wscript
index c2c795a7c..d1e71d7d6 100644
--- a/wscript
+++ b/wscript
@@ -78,9 +78,9 @@ def options(opt):
opt.add_option('--warnings-are-errors', action='store_true', default=False, help='build with -Werror')
opt.add_option('--wx-config', help='path to wx-config')
opt.add_option('--enable-asan', action='store_true', help='build with asan')
- opt.add_option('--disable-more-warnings', action='store_true', default=False, help='disable some warnings raised by Xcode 15 with the 2.16 branch')
opt.add_option('--c++17', action='store_true', default=False, help='build with C++17 and libxml++-4.0')
opt.add_option('--variant', help="build with variant")
+ opt.add_option('--developer', action='store_true', default=False, help='find resources (e.g. bitmaps) when running from the source tree')
def configure(conf):
conf.load('compiler_cxx')
@@ -137,15 +137,6 @@ def configure(conf):
'-D_FILE_OFFSET_BITS=64',
'-std=c++' + cpp_std])
- if conf.options.disable_more_warnings:
- # These are for Xcode 15.0.1 with the v2.16.x-era
- # dependencies; maybe they aren't necessary when building
- # v2.1{7,8}.x
- conf.env.append_value('CXXFLAGS', ['-Wno-deprecated-builtins',
- '-Wno-deprecated-declarations',
- '-Wno-enum-constexpr-conversion',
- '-Wno-deprecated-copy'])
-
if conf.options.warnings_are_errors:
conf.env.append_value('CXXFLAGS', '-Werror')
@@ -186,6 +177,9 @@ def configure(conf):
if conf.options.enable_grok:
conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_GROK')
+ if conf.options.developer:
+ conf.env.append_value('CXXFLAGS', '-DDCPOMATIC_DEVELOPER')
+
if conf.options.use_lld:
try:
conf.find_program('ld.lld')
@@ -402,7 +396,7 @@ def configure(conf):
check_via_pkg_config(conf, 'libdcp-1.0', 'DCP', mandatory=True, static=True, minimum_version=libdcp_version)
conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
conf.env.STLIB_DCP = ['dcp-1.0', 'asdcp-dcpomatic', 'kumu-dcpomatic', 'openjp2']
- conf.env.LIB_DCP = ['glibmm-' + conf.env.GLIBMM_API, 'ssl', 'crypto', 'bz2', 'xslt', 'xerces-c', 'fmt', 'hpdf']
+ conf.env.LIB_DCP = ['glibmm-' + conf.env.GLIBMM_API, 'ssl', 'crypto', 'bz2', 'xslt', 'xerces-c', 'fmt', 'hpdf', 'xml2']
else:
check_via_pkg_config(conf, 'libdcp-1.0', 'DCP', mandatory=True, static=False, minimum_version=libdcp_version)
conf.env.DEFINES_DCP = [f.replace('\\', '') for f in conf.env.DEFINES_DCP]
@@ -766,6 +760,7 @@ def build(bld):
bld.recurse('src')
bld.recurse('graphics')
bld.recurse('web')
+ bld.recurse('benchmark')
if not bld.env.DISABLE_TESTS:
bld.recurse('test')