diff options
Diffstat (limited to 'src')
164 files changed, 9861 insertions, 8773 deletions
diff --git a/src/lib/active_text.cc b/src/lib/active_text.cc index 2a5c4d836..19c17d6a8 100644 --- a/src/lib/active_text.cc +++ b/src/lib/active_text.cc @@ -54,15 +54,15 @@ ActiveText::operator=(ActiveText&& other) * @param always_burn_captions Always burn captions even if their content is not set to burn. */ list<PlayerText> -ActiveText::get_burnt (DCPTimePeriod period, bool always_burn_captions) const +ActiveText::get_burnt(DCPTimePeriod period, bool always_burn_captions) const { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); list<PlayerText> ps; for (auto const& i: _data) { - auto caption = i.first.lock (); + auto caption = i.first.lock(); if (!caption) { continue; } @@ -73,10 +73,10 @@ ActiveText::get_burnt (DCPTimePeriod period, bool always_burn_captions) const } for (auto j: i.second) { - DCPTimePeriod test (j.from, j.to.get_value_or(DCPTime::max())); - auto overlap = period.overlap (test); + DCPTimePeriod test(j.from, j.to.get_value_or(DCPTime::max())); + auto overlap = period.overlap(test); if (overlap && overlap->duration() > DCPTime(period.duration().get() / 2)) { - ps.push_back (j.subs); + ps.push_back(j.subs); } } } @@ -89,19 +89,19 @@ ActiveText::get_burnt (DCPTimePeriod period, bool always_burn_captions) const * @param time Time to remove before. */ void -ActiveText::clear_before (DCPTime time) +ActiveText::clear_before(DCPTime time) { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); Map updated; for (auto const& i: _data) { list<Period> as; for (auto j: i.second) { if (!j.to || j.to.get() >= time) { - as.push_back (j); + as.push_back(j); } } - if (!as.empty ()) { + if (!as.empty()) { updated[i.first] = as; } } @@ -115,14 +115,14 @@ ActiveText::clear_before (DCPTime time) * @param from From time for these subtitles. */ void -ActiveText::add_from (weak_ptr<const TextContent> content, PlayerText ps, DCPTime from) +ActiveText::add_from(weak_ptr<const TextContent> content, PlayerText ps, DCPTime from) { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); if (_data.find(content) == _data.end()) { _data[content] = list<Period>(); } - _data[content].push_back (Period (ps, from)); + _data[content].push_back(Period(ps, from)); } @@ -132,19 +132,19 @@ ActiveText::add_from (weak_ptr<const TextContent> content, PlayerText ps, DCPTim * @return Return the corresponding subtitles and their from time. */ pair<PlayerText, DCPTime> -ActiveText::add_to (weak_ptr<const TextContent> content, DCPTime to) +ActiveText::add_to(weak_ptr<const TextContent> content, DCPTime to) { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); - DCPOMATIC_ASSERT (_data.find(content) != _data.end()); + DCPOMATIC_ASSERT(_data.find(content) != _data.end()); _data[content].back().to = to; for (auto& i: _data[content].back().subs.string) { - i.set_out (dcp::Time(to.seconds(), 1000)); + i.set_out(dcp::Time(to.seconds(), 1000)); } - return make_pair (_data[content].back().subs, _data[content].back().from); + return make_pair(_data[content].back().subs, _data[content].back().from); } @@ -152,9 +152,9 @@ ActiveText::add_to (weak_ptr<const TextContent> content, DCPTime to) * @return true if we have any active subtitles from this content. */ bool -ActiveText::have (weak_ptr<const TextContent> content) const +ActiveText::have(weak_ptr<const TextContent> content) const { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); auto i = _data.find(content); if (i == _data.end()) { @@ -166,8 +166,8 @@ ActiveText::have (weak_ptr<const TextContent> content) const void -ActiveText::clear () +ActiveText::clear() { - boost::mutex::scoped_lock lm (_mutex); - _data.clear (); + boost::mutex::scoped_lock lm(_mutex); + _data.clear(); } diff --git a/src/lib/active_text.h b/src/lib/active_text.h index 5430f9681..edbe23242 100644 --- a/src/lib/active_text.h +++ b/src/lib/active_text.h @@ -40,30 +40,30 @@ class TextContent; class ActiveText { public: - ActiveText () {} + ActiveText() {} - ActiveText (ActiveText const&) = delete; - ActiveText& operator= (ActiveText const&) = delete; + ActiveText(ActiveText const&) = delete; + ActiveText& operator=(ActiveText const&) = delete; ActiveText(ActiveText&& other); ActiveText& operator=(ActiveText&& other); - std::list<PlayerText> get_burnt (dcpomatic::DCPTimePeriod period, bool always_burn_captions) const; - void clear_before (dcpomatic::DCPTime time); - void clear (); - void add_from (std::weak_ptr<const TextContent> content, PlayerText ps, dcpomatic::DCPTime from); - std::pair<PlayerText, dcpomatic::DCPTime> add_to (std::weak_ptr<const TextContent> content, dcpomatic::DCPTime to); - bool have (std::weak_ptr<const TextContent> content) const; + std::list<PlayerText> get_burnt(dcpomatic::DCPTimePeriod period, bool always_burn_captions) const; + void clear_before(dcpomatic::DCPTime time); + void clear(); + void add_from(std::weak_ptr<const TextContent> content, PlayerText ps, dcpomatic::DCPTime from); + std::pair<PlayerText, dcpomatic::DCPTime> add_to(std::weak_ptr<const TextContent> content, dcpomatic::DCPTime to); + bool have(std::weak_ptr<const TextContent> content) const; private: class Period { public: - Period () {} + Period() {} - Period (PlayerText s, dcpomatic::DCPTime f) - : subs (s) - , from (f) + Period(PlayerText s, dcpomatic::DCPTime f) + : subs(s) + , from(f) {} PlayerText subs; diff --git a/src/lib/analyse_subtitles_job.cc b/src/lib/analyse_subtitles_job.cc index 66db25f04..c30ff0c30 100644 --- a/src/lib/analyse_subtitles_job.cc +++ b/src/lib/analyse_subtitles_job.cc @@ -42,10 +42,10 @@ using namespace boost::placeholders; #endif -AnalyseSubtitlesJob::AnalyseSubtitlesJob (shared_ptr<const Film> film, shared_ptr<Content> content) - : Job (film) - , _content (content) - , _path (_film->subtitle_analysis_path(content)) +AnalyseSubtitlesJob::AnalyseSubtitlesJob(shared_ptr<const Film> film, shared_ptr<Content> content) + : Job(film) + , _content(content) + , _path(_film->subtitle_analysis_path(content)) { } @@ -57,46 +57,46 @@ AnalyseSubtitlesJob::~AnalyseSubtitlesJob() string -AnalyseSubtitlesJob::name () const +AnalyseSubtitlesJob::name() const { return _("Analysing subtitles"); } string -AnalyseSubtitlesJob::json_name () const +AnalyseSubtitlesJob::json_name() const { return N_("analyse_subtitles"); } void -AnalyseSubtitlesJob::run () +AnalyseSubtitlesJob::run() { auto playlist = make_shared<Playlist>(); - auto content = _content.lock (); - DCPOMATIC_ASSERT (content); - playlist->add (_film, content); + auto content = _content.lock(); + DCPOMATIC_ASSERT(content); + playlist->add(_film, content); auto player = make_shared<Player>(_film, playlist, false); - player->set_ignore_audio (); - player->set_fast (); - player->set_play_referenced (); - player->Text.connect (bind(&AnalyseSubtitlesJob::analyse, this, _1, _2)); + player->set_ignore_audio(); + player->set_fast(); + player->set_play_referenced(); + player->Text.connect(bind(&AnalyseSubtitlesJob::analyse, this, _1, _2)); - set_progress_unknown (); + set_progress_unknown(); if (!content->text.empty()) { - while (!player->pass ()) { + while (!player->pass()) { boost::this_thread::interruption_point(); } } - SubtitleAnalysis analysis (_bounding_box, content->text.front()->x_offset(), content->text.front()->y_offset()); - analysis.write (_path); + SubtitleAnalysis analysis(_bounding_box, content->text.front()->x_offset(), content->text.front()->y_offset()); + analysis.write(_path); - set_progress (1); - set_state (FINISHED_OK); + set_progress(1); + set_state(FINISHED_OK); } @@ -111,7 +111,7 @@ AnalyseSubtitlesJob::analyse(PlayerText const& text, TextType type) if (!_bounding_box) { _bounding_box = i.rectangle; } else { - _bounding_box->extend (i.rectangle); + _bounding_box->extend(i.rectangle); } } @@ -139,14 +139,14 @@ AnalyseSubtitlesJob::analyse(PlayerText const& text, TextType type) for (auto standard: override_standard) { for (auto i: bounding_box(text.string, frame, standard)) { - dcpomatic::Rect<double> rect ( + dcpomatic::Rect<double> rect( double(i.x) / frame.width, double(i.y) / frame.height, double(i.width) / frame.width, double(i.height) / frame.height ); if (!_bounding_box) { _bounding_box = rect; } else { - _bounding_box->extend (rect); + _bounding_box->extend(rect); } } } diff --git a/src/lib/analyse_subtitles_job.h b/src/lib/analyse_subtitles_job.h index ea425763f..bb6aa3f31 100644 --- a/src/lib/analyse_subtitles_job.h +++ b/src/lib/analyse_subtitles_job.h @@ -31,14 +31,14 @@ class Content; class AnalyseSubtitlesJob : public Job { public: - AnalyseSubtitlesJob (std::shared_ptr<const Film> film, std::shared_ptr<Content> content); + AnalyseSubtitlesJob(std::shared_ptr<const Film> film, std::shared_ptr<Content> content); ~AnalyseSubtitlesJob(); - std::string name () const override; - std::string json_name () const override; - void run () override; + std::string name() const override; + std::string json_name() const override; + void run() override; - boost::filesystem::path path () const { + boost::filesystem::path path() const { return _path; } diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc index 50601fc58..bd25593d0 100644 --- a/src/lib/audio_content.cc +++ b/src/lib/audio_content.cc @@ -212,8 +212,8 @@ AudioContent::resampled_frame_rate(shared_ptr<const Film> film) const look different in the DCP compared to the source (slower or faster). */ - if (frc.change_speed) { - t /= frc.speed_up; + if (frc.change_speed()) { + t /= frc.speed_up(); } return lrint(t); @@ -330,11 +330,11 @@ AudioContent::add_properties(shared_ptr<const Film> film, list<UserProperty>& p) } p.push_back( - UserProperty(UserProperty::LENGTH, _("Full length in video frames at content rate"), c.frames_round(frc.source)) + UserProperty(UserProperty::LENGTH, _("Full length in video frames at content rate"), c.frames_round(frc.source())) ); p.push_back(UserProperty(UserProperty::AUDIO, _("DCP sample rate"), resampled_frame_rate(film), _("Hz"))); - p.push_back(UserProperty(UserProperty::LENGTH, _("Full length in video frames at DCP rate"), c.frames_round(frc.dcp))); + p.push_back(UserProperty(UserProperty::LENGTH, _("Full length in video frames at DCP rate"), c.frames_round(frc.dcp()))); } diff --git a/src/lib/audio_mapping.cc b/src/lib/audio_mapping.cc index 939a03414..c926437ea 100644 --- a/src/lib/audio_mapping.cc +++ b/src/lib/audio_mapping.cc @@ -54,26 +54,26 @@ using dcp::raw_convert; * @param input_channels Number of input channels. * @param output_channels Number of output channels. */ -AudioMapping::AudioMapping (int input_channels, int output_channels) +AudioMapping::AudioMapping(int input_channels, int output_channels) { - setup (input_channels, output_channels); + setup(input_channels, output_channels); } void -AudioMapping::setup (int input_channels, int output_channels) +AudioMapping::setup(int input_channels, int output_channels) { _gain.resize(input_channels); for (int i = 0; i < input_channels; ++i) { _gain[i].resize(output_channels); } - make_zero (); + make_zero(); } void -AudioMapping::make_zero () +AudioMapping::make_zero() { for (auto& input: _gain) { for (auto& output: input) { @@ -85,50 +85,50 @@ AudioMapping::make_zero () struct ChannelRegex { - ChannelRegex (string regex_, int channel_) - : regex (regex_) - , channel (channel_) + ChannelRegex(string regex_, dcp::Channel channel_) + : regex(regex_) + , channel(channel_) {} string regex; - int channel; + dcp::Channel channel; }; void -AudioMapping::make_default (AudioProcessor const * processor, optional<boost::filesystem::path> filename) +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); if (processor) { - processor->make_audio_mapping_default (*this); + processor->make_audio_mapping_default(*this); } else { - make_zero (); + make_zero(); if (input_channels() == 1) { bool guessed = false; /* See if we can guess where this stream should go */ 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()) { - set (0, regex[i].channel, 1); + boost::regex e(regex[i].regex, boost::regex::icase); + if (boost::regex_match(filename->filename().string(), e) && static_cast<int>(regex[i].channel) < output_channels()) { + set(0, regex[i].channel, 1); guessed = true; } } @@ -136,41 +136,41 @@ AudioMapping::make_default (AudioProcessor const * processor, optional<boost::fi if (!guessed) { /* If we have no idea, just put it on centre */ - set (0, static_cast<int>(dcp::Channel::CENTRE), 1); + set(0, static_cast<int>(dcp::Channel::CENTRE), 1); } } else { /* 1:1 mapping */ - for (int i = 0; i < min (input_channels(), output_channels()); ++i) { - set (i, i, 1); + for (int i = 0; i < min(input_channels(), output_channels()); ++i) { + set(i, i, 1); } } } } -AudioMapping::AudioMapping (cxml::ConstNodePtr node, int state_version) +AudioMapping::AudioMapping(cxml::ConstNodePtr node, int state_version) { if (state_version < 32) { - setup (node->number_child<int>("ContentChannels"), MAX_DCP_AUDIO_CHANNELS); + setup(node->number_child<int>("ContentChannels"), MAX_DCP_AUDIO_CHANNELS); } else { - setup (node->number_child<int>("InputChannels"), node->number_child<int>("OutputChannels")); + setup(node->number_child<int>("InputChannels"), node->number_child<int>("OutputChannels")); } if (state_version <= 5) { /* Old-style: on/off mapping */ - for (auto i: node->node_children ("Map")) { - set (i->number_child<int>("ContentIndex"), i->number_child<int>("DCP"), 1); + for (auto i: node->node_children("Map")) { + set(i->number_child<int>("ContentIndex"), i->number_child<int>("DCP"), 1); } } else { for (auto i: node->node_children("Gain")) { if (state_version < 32) { - set ( + set( i->number_attribute<int>("Content"), i->number_attribute<int>("DCP"), raw_convert<float>(i->content()) ); } else { - set ( + set( number_attribute<int>(i, "Input", "input"), number_attribute<int>(i, "Output", "output"), raw_convert<float>(i->content()) @@ -182,40 +182,40 @@ AudioMapping::AudioMapping (cxml::ConstNodePtr node, int state_version) void -AudioMapping::set (dcp::Channel input_channel, int output_channel, float g) +AudioMapping::set(dcp::Channel input_channel, int output_channel, float g) { - set (static_cast<int>(input_channel), output_channel, g); + set(static_cast<int>(input_channel), output_channel, g); } void -AudioMapping::set (int input_channel, dcp::Channel output_channel, float g) +AudioMapping::set(int input_channel, dcp::Channel output_channel, float g) { - set (input_channel, static_cast<int>(output_channel), g); + set(input_channel, static_cast<int>(output_channel), g); } void -AudioMapping::set (int input_channel, int output_channel, float g) +AudioMapping::set(int input_channel, int output_channel, float g) { - DCPOMATIC_ASSERT (input_channel < int(_gain.size())); - DCPOMATIC_ASSERT (output_channel < int(_gain[0].size())); + DCPOMATIC_ASSERT(input_channel < int(_gain.size())); + DCPOMATIC_ASSERT(output_channel < int(_gain[0].size())); _gain[input_channel][output_channel] = g; } float -AudioMapping::get (int input_channel, dcp::Channel output_channel) const +AudioMapping::get(int input_channel, dcp::Channel output_channel) const { - return get (input_channel, static_cast<int>(output_channel)); + return get(input_channel, static_cast<int>(output_channel)); } float -AudioMapping::get (int input_channel, int output_channel) const +AudioMapping::get(int input_channel, int output_channel) const { - DCPOMATIC_ASSERT (input_channel < int (_gain.size())); - DCPOMATIC_ASSERT (output_channel < int (_gain[0].size())); + DCPOMATIC_ASSERT(input_channel < int(_gain.size())); + DCPOMATIC_ASSERT(output_channel < int(_gain[0].size())); return _gain[input_channel][output_channel]; } @@ -244,7 +244,7 @@ AudioMapping::as_xml(xmlpp::Element* element) const * differentiation between different AudioMappings. */ string -AudioMapping::digest () const +AudioMapping::digest() const { Digester digester; digester.add(input_channels()); @@ -255,12 +255,12 @@ AudioMapping::digest () const } } - return digester.get (); + return digester.get(); } list<int> -AudioMapping::mapped_output_channels () const +AudioMapping::mapped_output_channels() const { static float const minus_96_db = 0.000015849; @@ -269,20 +269,20 @@ AudioMapping::mapped_output_channels () const for (auto const& i: _gain) { for (auto j: dcp::used_audio_channels()) { if (abs(i[static_cast<int>(j)]) > minus_96_db) { - mapped.push_back (static_cast<int>(j)); + mapped.push_back(static_cast<int>(j)); } } } - mapped.sort (); - mapped.unique (); + mapped.sort(); + mapped.unique(); return mapped; } void -AudioMapping::unmap_all () +AudioMapping::unmap_all() { for (auto& i: _gain) { for (auto& j: i) { diff --git a/src/lib/audio_mapping.h b/src/lib/audio_mapping.h index 68487d908..0dc80193b 100644 --- a/src/lib/audio_mapping.h +++ b/src/lib/audio_mapping.h @@ -46,40 +46,40 @@ class AudioProcessor; class AudioMapping { public: - AudioMapping () {} - AudioMapping (int input_channels, int output_channels); - AudioMapping (cxml::ConstNodePtr, int); + AudioMapping() {} + AudioMapping(int input_channels, int output_channels); + AudioMapping(cxml::ConstNodePtr, int); /* Default copy constructor is fine */ void as_xml(xmlpp::Element*) const; - void make_zero (); - void make_default (AudioProcessor const * processor, boost::optional<boost::filesystem::path> filename = boost::optional<boost::filesystem::path>()); + void make_zero(); + void make_default(AudioProcessor const * processor, boost::optional<boost::filesystem::path> filename = boost::optional<boost::filesystem::path>()); - void set (dcp::Channel input_channel, int output_channel, float); - void set (int input_channel, int output_channel, float); - void set (int input_channel, dcp::Channel output_channel, float); - float get (int input_channel, int output_channel) const; - float get (int input_channel, dcp::Channel output_channel) const; + void set(dcp::Channel input_channel, int output_channel, float); + void set(int input_channel, int output_channel, float); + void set(int input_channel, dcp::Channel output_channel, float); + float get(int input_channel, int output_channel) const; + float get(int input_channel, dcp::Channel output_channel) const; - int input_channels () const { + int input_channels() const { return _gain.size(); } - int output_channels () const { + int output_channels() const { return _gain.empty() ? 0 : _gain[0].size(); } - std::string digest () const; + std::string digest() const; - std::list<int> mapped_output_channels () const; - void unmap_all (); + std::list<int> mapped_output_channels() const; + void unmap_all(); void take_from(AudioMapping const& other); private: - void setup (int input_channels, int output_channels); + void setup(int input_channels, int output_channels); /** Linear gains */ std::vector<std::vector<float>> _gain; diff --git a/src/lib/cinema_sound_processor.cc b/src/lib/cinema_sound_processor.cc index 434fdd1cf..2ddbb9086 100644 --- a/src/lib/cinema_sound_processor.cc +++ b/src/lib/cinema_sound_processor.cc @@ -42,12 +42,12 @@ vector<unique_ptr<const CinemaSoundProcessor>> CinemaSoundProcessor::_cinema_sou /** @param i Our id. * @param n User-visible name. */ -CinemaSoundProcessor::CinemaSoundProcessor (string i, string n, float knee, float below, float above) - : _id (i) - , _name (n) - , _knee (knee) - , _below (below) - , _above (above) +CinemaSoundProcessor::CinemaSoundProcessor(string i, string n, float knee, float below, float above) + : _id(i) + , _name(n) + , _knee(knee) + , _below(below) + , _above(above) { } @@ -55,11 +55,11 @@ CinemaSoundProcessor::CinemaSoundProcessor (string i, string n, float knee, floa /** @return All available sound processors */ vector<CinemaSoundProcessor const *> -CinemaSoundProcessor::all () +CinemaSoundProcessor::all() { vector<CinemaSoundProcessor const *> raw; for (auto& processor: _cinema_sound_processors) { - raw.push_back (processor.get()); + raw.push_back(processor.get()); } return raw; } @@ -69,11 +69,11 @@ CinemaSoundProcessor::all () * methods are used. */ void -CinemaSoundProcessor::setup_cinema_sound_processors () +CinemaSoundProcessor::setup_cinema_sound_processors() { - _cinema_sound_processors.push_back (unique_ptr<CinemaSoundProcessor>(new DolbyCP750)); - _cinema_sound_processors.push_back (unique_ptr<CinemaSoundProcessor>(new USL)); - _cinema_sound_processors.push_back (unique_ptr<CinemaSoundProcessor>(new DatasatAP2x)); + _cinema_sound_processors.push_back(unique_ptr<CinemaSoundProcessor>(new DolbyCP750)); + _cinema_sound_processors.push_back(unique_ptr<CinemaSoundProcessor>(new USL)); + _cinema_sound_processors.push_back(unique_ptr<CinemaSoundProcessor>(new DatasatAP2x)); } @@ -81,14 +81,14 @@ CinemaSoundProcessor::setup_cinema_sound_processors () * @return Corresponding sound processor, or 0. */ CinemaSoundProcessor const * -CinemaSoundProcessor::from_id (string id) +CinemaSoundProcessor::from_id(string id) { - auto i = _cinema_sound_processors.begin (); + auto i = _cinema_sound_processors.begin(); while (i != _cinema_sound_processors.end() && (*i)->id() != id) { ++i; } - if (i == _cinema_sound_processors.end ()) { + if (i == _cinema_sound_processors.end()) { return nullptr; } @@ -100,36 +100,36 @@ CinemaSoundProcessor::from_id (string id) * @return Corresponding sound processor. */ CinemaSoundProcessor const * -CinemaSoundProcessor::from_index (int i) +CinemaSoundProcessor::from_index(int i) { - DCPOMATIC_ASSERT (i >= 0 && i < int(_cinema_sound_processors.size())); + DCPOMATIC_ASSERT(i >= 0 && i < int(_cinema_sound_processors.size())); return _cinema_sound_processors[i].get(); } float -CinemaSoundProcessor::db_for_fader_change (float from, float to) const +CinemaSoundProcessor::db_for_fader_change(float from, float to) const { float db = 0; if (from < to) { if (from <= _knee) { - float const t = min (to, _knee); + float const t = min(to, _knee); db += (t - from) * _below; } if (to > 4) { - float const t = max (from, _knee); + float const t = max(from, _knee); db += (to - t) * _above; } } else { if (from >= _knee) { - float const t = max (to, _knee); + float const t = max(to, _knee); db -= (from - t) * _above; } if (to < _knee) { - float const t = min (from, _knee); + float const t = min(from, _knee); db -= (t - to) * _below; } } diff --git a/src/lib/cinema_sound_processor.h b/src/lib/cinema_sound_processor.h index 3ccaa5c9b..411a70366 100644 --- a/src/lib/cinema_sound_processor.h +++ b/src/lib/cinema_sound_processor.h @@ -43,28 +43,28 @@ class CinemaSoundProcessor { public: - CinemaSoundProcessor (std::string i, std::string n, float knee, float below, float above); - virtual ~CinemaSoundProcessor () {} + CinemaSoundProcessor(std::string i, std::string n, float knee, float below, float above); + virtual ~CinemaSoundProcessor() {} - CinemaSoundProcessor (CinemaSoundProcessor const&) = delete; + CinemaSoundProcessor(CinemaSoundProcessor const&) = delete; CinemaSoundProcessor& operator=(CinemaSoundProcessor const&) = delete; - float db_for_fader_change (float from, float to) const; + float db_for_fader_change(float from, float to) const; /** @return id for our use */ - std::string id () const { + std::string id() const { return _id; } /** @return user-visible name for this sound processor */ - std::string name () const { + std::string name() const { return _name; } - static std::vector<CinemaSoundProcessor const *> all (); - static void setup_cinema_sound_processors (); - static CinemaSoundProcessor const * from_id (std::string id); - static CinemaSoundProcessor const * from_index (int); + static std::vector<CinemaSoundProcessor const *> all(); + static void setup_cinema_sound_processors(); + static CinemaSoundProcessor const * from_id(std::string id); + static CinemaSoundProcessor const * from_index(int); private: /** id for our use */ diff --git a/src/lib/content.cc b/src/lib/content.cc index 8f486380a..067086509 100644 --- a/src/lib/content.cc +++ b/src/lib/content.cc @@ -431,7 +431,7 @@ Content::active_video_frame_rate(shared_ptr<const Film> film) const prepared for any concurrent video content or perhaps just the DCP rate. */ - return film->active_frame_rate_change(position()).source; + return film->active_frame_rate_change(position()).source(); } 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 21159fcac..ac8c4245b 100644 --- a/src/lib/dcp_subtitle_content.cc +++ b/src/lib/dcp_subtitle_content.cc @@ -38,22 +38,25 @@ using std::list; using std::make_shared; using std::shared_ptr; using std::string; +using std::vector; using boost::optional; using namespace dcpomatic; -DCPSubtitleContent::DCPSubtitleContent (boost::filesystem::path path) - : Content (path) +DCPSubtitleContent::DCPSubtitleContent(boost::filesystem::path path) + : Content(path) { - text.push_back (make_shared<TextContent>(this, TextType::OPEN_SUBTITLE, TextType::OPEN_SUBTITLE)); + 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) - : Content (node, film_directory) - , _length (node->number_child<ContentTime::Type> ("Length")) + : Content(node, film_directory) + , _length(node->number_child<ContentTime::Type>("Length")) { list<string> notes; - text = TextContent::from_xml (this, node, version, notes); + text = TextContent::from_xml(this, node, version, notes); } void @@ -63,20 +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); - - /* Default to turning these subtitles on */ - only_text()->set_use (true); + boost::mutex::scoped_lock lm(_mutex); _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); } @@ -115,26 +114,26 @@ DCPSubtitleContent::add_fonts(shared_ptr<TextContent> content, shared_ptr<dcp::T DCPTime -DCPSubtitleContent::full_length (shared_ptr<const Film> film) const +DCPSubtitleContent::full_length(shared_ptr<const Film> film) const { - FrameRateChange const frc (film, shared_from_this()); - return DCPTime (_length, frc); + FrameRateChange const frc(film, shared_from_this()); + return DCPTime(_length, frc); } DCPTime -DCPSubtitleContent::approximate_length () const +DCPSubtitleContent::approximate_length() const { - return DCPTime (_length, FrameRateChange()); + return DCPTime(_length, FrameRateChange()); } string -DCPSubtitleContent::summary () const +DCPSubtitleContent::summary() const { return path_summary() + " " + _("[subtitles]"); } string -DCPSubtitleContent::technical_summary () const +DCPSubtitleContent::technical_summary() const { return Content::technical_summary() + " - " + _("DCP XML subtitles"); } diff --git a/src/lib/dcp_subtitle_content.h b/src/lib/dcp_subtitle_content.h index dde3139a8..5b1c8426d 100644 --- a/src/lib/dcp_subtitle_content.h +++ b/src/lib/dcp_subtitle_content.h @@ -24,12 +24,12 @@ class DCPSubtitleContent : public DCPSubtitle, public Content { public: - DCPSubtitleContent (boost::filesystem::path); - DCPSubtitleContent (cxml::ConstNodePtr, boost::optional<boost::filesystem::path> film_directory, int); + DCPSubtitleContent(boost::filesystem::path); + DCPSubtitleContent(cxml::ConstNodePtr, boost::optional<boost::filesystem::path> film_directory, int); - void examine (std::shared_ptr<const Film> film, std::shared_ptr<Job>, bool tolerant) override; - std::string summary () const override; - std::string technical_summary () const override; + void examine(std::shared_ptr<const Film> film, std::shared_ptr<Job>, bool tolerant) override; + std::string summary() const override; + std::string technical_summary() const override; void as_xml( xmlpp::Element* element, @@ -38,8 +38,8 @@ public: boost::optional<boost::filesystem::path> film_directory ) const override; - dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const override; - dcpomatic::DCPTime approximate_length () const override; + dcpomatic::DCPTime full_length(std::shared_ptr<const Film> film) const override; + dcpomatic::DCPTime approximate_length() const override; private: void add_fonts(std::shared_ptr<TextContent> content, std::shared_ptr<dcp::TextAsset> subtitle_asset); diff --git a/src/lib/dcp_video.cc b/src/lib/dcp_video.cc index 775298091..66f4a3c4c 100644 --- a/src/lib/dcp_video.cc +++ b/src/lib/dcp_video.cc @@ -135,16 +135,32 @@ DCPVideo::get_size() const void DCPVideo::convert_to_xyz(uint16_t* dst) const { - DCPOMATIC_ASSERT(_frame->colour_conversion()); + auto conversion = [](AVPixelFormat fmt) { + return fmt == AV_PIX_FMT_XYZ12LE ? AV_PIX_FMT_XYZ12LE : AV_PIX_FMT_RGB48LE; + }; - auto image = _frame->image(force(AV_PIX_FMT_RGB48LE), VideoRange::FULL, false); - dcp::rgb_to_xyz( - image->data()[0], - dst, - image->size(), - image->stride()[0], - _frame->colour_conversion().get() - ); + auto image = _frame->image(conversion, VideoRange::FULL, false); + + if (_frame->colour_conversion()) { + dcp::rgb_to_xyz( + image->data()[0], + dst, + image->size(), + image->stride()[0], + _frame->colour_conversion().get() + ); + } else { + auto const size = image->size(); + auto const row_bytes = static_cast<size_t>(size.width) * 3 * sizeof(uint16_t); + auto src = image->data()[0]; + auto const src_stride = image->stride()[0]; + auto out = reinterpret_cast<uint8_t*>(dst); + for (int y = 0; y < size.height; ++y) { + memcpy(out, src, row_bytes); + src += src_stride; + out += row_bytes; + } + } } diff --git a/src/lib/dcpomatic_socket.cc b/src/lib/dcpomatic_socket.cc index d3bfbc309..876fa47d3 100644 --- a/src/lib/dcpomatic_socket.cc +++ b/src/lib/dcpomatic_socket.cc @@ -50,7 +50,11 @@ Socket::Socket (int timeout) void Socket::check () { +#if BOOST_VERSION >= 108700 if (_deadline.expiry() <= std::chrono::system_clock::now()) { +#else + if (_deadline.expires_at() <= std::chrono::system_clock::now()) { +#endif _socket.close(); _deadline.expires_at(std::chrono::time_point<std::chrono::system_clock>::max()); } @@ -321,7 +325,11 @@ Socket::set_send_buffer_size (int size) void Socket::set_deadline_from_now(int seconds) { +#if BOOST_VERSION >= 108700 _deadline.expires_after(std::chrono::seconds(seconds)); +#else + _deadline.expires_from_now(std::chrono::seconds(seconds)); +#endif } void diff --git a/src/lib/dcpomatic_time.cc b/src/lib/dcpomatic_time.cc index 60fc5342a..2b1400ccf 100644 --- a/src/lib/dcpomatic_time.cc +++ b/src/lib/dcpomatic_time.cc @@ -48,7 +48,7 @@ dcpomatic::operator<=(HMSF const& a, HMSF const& b) template <> Time<ContentTimeDifferentiator, DCPTimeDifferentiator>::Time (DCPTime d, FrameRateChange f) - : _t (llrint(d.get() * f.speed_up)) + : _t (llrint(d.get() * f.speed_up())) { } @@ -56,7 +56,7 @@ Time<ContentTimeDifferentiator, DCPTimeDifferentiator>::Time (DCPTime d, FrameRa template <> Time<DCPTimeDifferentiator, ContentTimeDifferentiator>::Time (ContentTime d, FrameRateChange f) - : _t (llrint(d.get() / f.speed_up)) + : _t (llrint(d.get() / f.speed_up())) { } 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/encode_server_finder.cc b/src/lib/encode_server_finder.cc index d2ecd03b7..a873b258a 100644 --- a/src/lib/encode_server_finder.cc +++ b/src/lib/encode_server_finder.cc @@ -54,69 +54,69 @@ using namespace boost::placeholders; EncodeServerFinder* EncodeServerFinder::_instance = 0; -EncodeServerFinder::EncodeServerFinder () - : _stop (false) +EncodeServerFinder::EncodeServerFinder() + : _stop(false) { - Config::instance()->Changed.connect (boost::bind (&EncodeServerFinder::config_changed, this, _1)); + Config::instance()->Changed.connect(boost::bind(&EncodeServerFinder::config_changed, this, _1)); } void -EncodeServerFinder::start () +EncodeServerFinder::start() { - _search_thread = boost::thread (boost::bind(&EncodeServerFinder::search_thread, this)); - _listen_thread = boost::thread (boost::bind(&EncodeServerFinder::listen_thread, this)); + _search_thread = boost::thread(boost::bind(&EncodeServerFinder::search_thread, this)); + _listen_thread = boost::thread(boost::bind(&EncodeServerFinder::listen_thread, this)); #ifdef DCPOMATIC_LINUX - pthread_setname_np (_search_thread.native_handle(), "encode-server-search"); - pthread_setname_np (_listen_thread.native_handle(), "encode-server-listen"); + pthread_setname_np(_search_thread.native_handle(), "encode-server-search"); + pthread_setname_np(_listen_thread.native_handle(), "encode-server-listen"); #endif } -EncodeServerFinder::~EncodeServerFinder () +EncodeServerFinder::~EncodeServerFinder() { - stop (); + stop(); } void -EncodeServerFinder::stop () +EncodeServerFinder::stop() { boost::this_thread::disable_interruption dis; _stop = true; - _search_condition.notify_all (); + _search_condition.notify_all(); try { _search_thread.join(); } catch (...) {} _listen_io_context.stop(); try { - _listen_thread.join (); + _listen_thread.join(); } catch (...) {} - boost::mutex::scoped_lock lm (_servers_mutex); - _servers.clear (); + boost::mutex::scoped_lock lm(_servers_mutex); + _servers.clear(); } void -EncodeServerFinder::search_thread () +EncodeServerFinder::search_thread() try { - start_of_thread ("EncodeServerFinder-search"); + start_of_thread("EncodeServerFinder-search"); boost::system::error_code error; dcpomatic::io_context io_context; boost::asio::ip::udp::socket socket(io_context); - socket.open (boost::asio::ip::udp::v4(), error); + socket.open(boost::asio::ip::udp::v4(), error); if (error) { - throw NetworkError ("failed to set up broadcast socket"); + throw NetworkError("failed to set up broadcast socket"); } - socket.set_option (boost::asio::ip::udp::socket::reuse_address(true)); - socket.set_option (boost::asio::socket_base::broadcast(true)); + socket.set_option(boost::asio::ip::udp::socket::reuse_address(true)); + socket.set_option(boost::asio::socket_base::broadcast(true)); string const data = DCPOMATIC_HELLO; int const interval = 10; @@ -125,8 +125,8 @@ try if (Config::instance()->use_any_servers()) { /* Broadcast to look for servers */ try { - boost::asio::ip::udp::endpoint end_point (boost::asio::ip::address_v4::broadcast(), HELLO_PORT); - socket.send_to (boost::asio::buffer(data.c_str(), data.size() + 1), end_point); + boost::asio::ip::udp::endpoint end_point(boost::asio::ip::address_v4::broadcast(), HELLO_PORT); + socket.send_to(boost::asio::buffer(data.c_str(), data.size() + 1), end_point); } catch (...) { } @@ -152,14 +152,14 @@ try /* Discard servers that we haven't seen for a while */ bool removed = false; { - boost::mutex::scoped_lock lm (_servers_mutex); + boost::mutex::scoped_lock lm(_servers_mutex); auto i = _servers.begin(); while (i != _servers.end()) { if (i->last_seen_seconds() > 2 * interval) { auto j = i; ++j; - _servers.erase (i); + _servers.erase(i); i = j; removed = true; } else { @@ -169,49 +169,49 @@ try } if (removed) { - emit (boost::bind(boost::ref(ServersListChanged))); + emit(boost::bind(boost::ref(ServersListChanged))); } - boost::mutex::scoped_lock lm (_search_condition_mutex); - _search_condition.timed_wait (lm, boost::get_system_time() + boost::posix_time::seconds(interval)); + boost::mutex::scoped_lock lm(_search_condition_mutex); + _search_condition.timed_wait(lm, boost::get_system_time() + boost::posix_time::seconds(interval)); } } catch (...) { - store_current (); + store_current(); } void -EncodeServerFinder::listen_thread () +EncodeServerFinder::listen_thread() try { - start_of_thread ("EncodeServerFinder-listen"); + start_of_thread("EncodeServerFinder-listen"); using namespace boost::asio::ip; try { - _listen_acceptor.reset ( + _listen_acceptor.reset( new tcp::acceptor(_listen_io_context, tcp::endpoint(tcp::v4(), is_batch_converter ? BATCH_SERVER_PRESENCE_PORT : MAIN_SERVER_PRESENCE_PORT)) ); } catch (...) { boost::throw_exception(NetworkError(variant::insert_dcpomatic(_("Could not listen for remote encode servers. Perhaps another instance of {} is running.")))); } - start_accept (); + start_accept(); _listen_io_context.run(); } catch (...) { - store_current (); + store_current(); } void -EncodeServerFinder::start_accept () +EncodeServerFinder::start_accept() { _accept_socket = make_shared<Socket>(); - _listen_acceptor->async_accept ( + _listen_acceptor->async_accept( _accept_socket->socket(), boost::bind(&EncodeServerFinder::handle_accept, this, boost::asio::placeholders::error) ); @@ -219,10 +219,10 @@ EncodeServerFinder::start_accept () void -EncodeServerFinder::handle_accept (boost::system::error_code ec) +EncodeServerFinder::handle_accept(boost::system::error_code ec) { if (ec) { - start_accept (); + start_accept(); return; } @@ -230,8 +230,8 @@ EncodeServerFinder::handle_accept (boost::system::error_code ec) try { uint32_t length; - _accept_socket->read (reinterpret_cast<uint8_t*>(&length), sizeof(uint32_t)); - length = ntohl (length); + _accept_socket->read(reinterpret_cast<uint8_t*>(&length), sizeof(uint32_t)); + length = ntohl(length); if (length > 65536) { start_accept(); @@ -239,7 +239,7 @@ EncodeServerFinder::handle_accept (boost::system::error_code ec) } scoped_array<char> buffer(new char[length]); - _accept_socket->read (reinterpret_cast<uint8_t*>(buffer.get()), length); + _accept_socket->read(reinterpret_cast<uint8_t*>(buffer.get()), length); server_available = buffer.get(); } catch (NetworkError&) { /* Maybe the server went away; let's just try again */ @@ -253,7 +253,7 @@ EncodeServerFinder::handle_accept (boost::system::error_code ec) auto const ip = _accept_socket->socket().remote_endpoint().address().to_string(); bool changed = false; { - boost::mutex::scoped_lock lm (_servers_mutex); + boost::mutex::scoped_lock lm(_servers_mutex); auto i = _servers.begin(); while (i != _servers.end() && i->host_name() != ip) { ++i; @@ -262,26 +262,26 @@ EncodeServerFinder::handle_accept (boost::system::error_code ec) if (i != _servers.end()) { i->set_seen(); } else { - EncodeServerDescription sd (ip, xml->number_child<int>("Threads"), xml->optional_number_child<int>("Version").get_value_or(0)); - _servers.push_back (sd); + EncodeServerDescription sd(ip, xml->number_child<int>("Threads"), xml->optional_number_child<int>("Version").get_value_or(0)); + _servers.push_back(sd); changed = true; } } if (changed) { - emit (boost::bind(boost::ref (ServersListChanged))); + emit(boost::bind(boost::ref(ServersListChanged))); } - start_accept (); + start_accept(); } EncodeServerFinder* -EncodeServerFinder::instance () +EncodeServerFinder::instance() { if (!_instance) { - _instance = new EncodeServerFinder (); - _instance->start (); + _instance = new EncodeServerFinder(); + _instance->start(); } return _instance; @@ -289,7 +289,7 @@ EncodeServerFinder::instance () void -EncodeServerFinder::drop () +EncodeServerFinder::drop() { delete _instance; _instance = nullptr; @@ -297,22 +297,22 @@ EncodeServerFinder::drop () list<EncodeServerDescription> -EncodeServerFinder::servers () const +EncodeServerFinder::servers() const { - boost::mutex::scoped_lock lm (_servers_mutex); + boost::mutex::scoped_lock lm(_servers_mutex); return _servers; } void -EncodeServerFinder::config_changed (Config::Property what) +EncodeServerFinder::config_changed(Config::Property what) { if (what == Config::USE_ANY_SERVERS || what == Config::SERVERS) { { - boost::mutex::scoped_lock lm (_servers_mutex); - _servers.clear (); + boost::mutex::scoped_lock lm(_servers_mutex); + _servers.clear(); } - ServersListChanged (); - _search_condition.notify_all (); + ServersListChanged(); + _search_condition.notify_all(); } } diff --git a/src/lib/encode_server_finder.h b/src/lib/encode_server_finder.h index 722786b77..ae83b9609 100644 --- a/src/lib/encode_server_finder.h +++ b/src/lib/encode_server_finder.h @@ -47,28 +47,28 @@ class Socket; class EncodeServerFinder : public Signaller, public ExceptionStore { public: - static EncodeServerFinder* instance (); - static void drop (); + static EncodeServerFinder* instance(); + static void drop(); - std::list<EncodeServerDescription> servers () const; + std::list<EncodeServerDescription> servers() const; /** Emitted whenever the list of servers changes */ boost::signals2::signal<void ()> ServersListChanged; private: - EncodeServerFinder (); - ~EncodeServerFinder (); + EncodeServerFinder(); + ~EncodeServerFinder(); - void start (); - void stop (); + void start(); + void stop(); - void search_thread (); - void listen_thread (); + void search_thread(); + void listen_thread(); - void start_accept (); - void handle_accept (boost::system::error_code ec); + void start_accept(); + void handle_accept(boost::system::error_code ec); - void config_changed (Config::Property what); + void config_changed(Config::Property what); /** Thread to periodically issue broadcasts and requests to find encoding servers */ boost::thread _search_thread; diff --git a/src/lib/ffmpeg.cc b/src/lib/ffmpeg.cc index d7c741d09..50e4cf41d 100644 --- a/src/lib/ffmpeg.cc +++ b/src/lib/ffmpeg.cc @@ -54,68 +54,68 @@ using namespace dcpomatic; boost::mutex FFmpeg::_mutex; -FFmpeg::FFmpeg (std::shared_ptr<const FFmpegContent> c) - : _ffmpeg_content (c) +FFmpeg::FFmpeg(std::shared_ptr<const FFmpegContent> c) + : _ffmpeg_content(c) { - setup_general (); - setup_decoders (); + setup_general(); + setup_decoders(); } -FFmpeg::~FFmpeg () +FFmpeg::~FFmpeg() { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); for (auto& i: _codec_context) { - avcodec_free_context (&i); + avcodec_free_context(&i); } - av_frame_free (&_video_frame); + av_frame_free(&_video_frame); for (auto& audio_frame: _audio_frame) { - av_frame_free (&audio_frame.second); + av_frame_free(&audio_frame.second); } - avformat_close_input (&_format_context); + avformat_close_input(&_format_context); } static int -avio_read_wrapper (void* data, uint8_t* buffer, int amount) +avio_read_wrapper(void* data, uint8_t* buffer, int amount) { - return reinterpret_cast<FFmpeg*>(data)->avio_read (buffer, amount); + return reinterpret_cast<FFmpeg*>(data)->avio_read(buffer, amount); } static int64_t -avio_seek_wrapper (void* data, int64_t offset, int whence) +avio_seek_wrapper(void* data, int64_t offset, int whence) { - return reinterpret_cast<FFmpeg*>(data)->avio_seek (offset, whence); + return reinterpret_cast<FFmpeg*>(data)->avio_seek(offset, whence); } void -FFmpeg::setup_general () +FFmpeg::setup_general() { - _file_group.set_paths (_ffmpeg_content->paths ()); - _avio_buffer = static_cast<uint8_t*> (wrapped_av_malloc(_avio_buffer_size)); - _avio_context = avio_alloc_context (_avio_buffer, _avio_buffer_size, 0, this, avio_read_wrapper, 0, avio_seek_wrapper); + _file_group.set_paths(_ffmpeg_content->paths()); + _avio_buffer = static_cast<uint8_t*>(wrapped_av_malloc(_avio_buffer_size)); + _avio_context = avio_alloc_context(_avio_buffer, _avio_buffer_size, 0, this, avio_read_wrapper, 0, avio_seek_wrapper); if (!_avio_context) { - throw std::bad_alloc (); + throw std::bad_alloc(); } - _format_context = avformat_alloc_context (); + _format_context = avformat_alloc_context(); if (!_format_context) { - throw std::bad_alloc (); + throw std::bad_alloc(); } _format_context->pb = _avio_context; AVDictionary* options = nullptr; - int e = avformat_open_input (&_format_context, 0, 0, &options); + int e = avformat_open_input(&_format_context, 0, 0, &options); if (e < 0) { - throw OpenFileError (_ffmpeg_content->path(0).string(), e, OpenFileError::READ); + throw OpenFileError(_ffmpeg_content->path(0).string(), e, OpenFileError::READ); } - if (avformat_find_stream_info (_format_context, 0) < 0) { - throw DecodeError (_("could not find stream information")); + if (avformat_find_stream_info(_format_context, 0) < 0) { + throw DecodeError(_("could not find stream information")); } /* Find video stream */ @@ -147,15 +147,15 @@ FFmpeg::setup_general () _video_stream = video_stream_undefined_frame_rate.get(); } - _video_frame = av_frame_alloc (); + _video_frame = av_frame_alloc(); if (_video_frame == nullptr) { - throw std::bad_alloc (); + throw std::bad_alloc(); } } void -FFmpeg::setup_decoders () +FFmpeg::setup_decoders() { for (uint32_t i = 0; i < _format_context->nb_streams; ++i) { setup_decoder(i); @@ -166,7 +166,7 @@ FFmpeg::setup_decoders () void FFmpeg::setup_decoder(int stream_index) { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); if (stream_index >= static_cast<int>(_codec_context.size())) { _codec_context.resize(stream_index + 1); @@ -211,7 +211,7 @@ FFmpeg::setup_decoder(int stream_index) AVCodecContext * -FFmpeg::video_codec_context () const +FFmpeg::video_codec_context() const { if (!_video_stream) { return nullptr; @@ -222,7 +222,7 @@ FFmpeg::video_codec_context () const AVCodecContext * -FFmpeg::subtitle_codec_context () const +FFmpeg::subtitle_codec_context() const { auto str = _ffmpeg_content->subtitle_stream(); if (!str) { @@ -234,7 +234,7 @@ FFmpeg::subtitle_codec_context () const int -FFmpeg::avio_read (uint8_t* buffer, int const amount) +FFmpeg::avio_read(uint8_t* buffer, int const amount) { auto result = _file_group.read(buffer, amount); if (result.eof && result.bytes_read == 0) { @@ -245,20 +245,20 @@ FFmpeg::avio_read (uint8_t* buffer, int const amount) int64_t -FFmpeg::avio_seek (int64_t const pos, int whence) +FFmpeg::avio_seek(int64_t const pos, int whence) { if (whence == AVSEEK_SIZE) { - return _file_group.length (); + return _file_group.length(); } - return _file_group.seek (pos, whence); + return _file_group.seek(pos, whence); } FFmpegSubtitlePeriod -FFmpeg::subtitle_period (AVPacket const* packet, AVStream const* stream, AVSubtitle const & sub) +FFmpeg::subtitle_period(AVPacket const* packet, AVStream const* stream, AVSubtitle const & sub) { - auto const packet_time = ContentTime::from_seconds (packet->pts * av_q2d(stream->time_base)); + auto const packet_time = ContentTime::from_seconds(packet->pts * av_q2d(stream->time_base)); auto const start = packet_time + ContentTime::from_seconds(sub.start_display_time / 1e3); if (sub.end_display_time == 0 || sub.end_display_time == static_cast<uint32_t>(-1)) { @@ -270,7 +270,7 @@ FFmpeg::subtitle_period (AVPacket const* packet, AVStream const* stream, AVSubti } } - return FFmpegSubtitlePeriod (start, packet_time + ContentTime::from_seconds(sub.end_display_time / 1e3)); + return FFmpegSubtitlePeriod(start, packet_time + ContentTime::from_seconds(sub.end_display_time / 1e3)); } @@ -280,7 +280,7 @@ FFmpeg::subtitle_period (AVPacket const* packet, AVStream const* stream, AVSubti * in FFmpeg. */ ContentTime -FFmpeg::pts_offset (vector<shared_ptr<FFmpegAudioStream>> audio_streams, optional<ContentTime> first_video, double video_frame_rate) const +FFmpeg::pts_offset(vector<shared_ptr<FFmpegAudioStream>> audio_streams, optional<ContentTime> first_video, double video_frame_rate) const { /* Audio and video frame PTS values may not start with 0. We want to fiddle them so that: @@ -298,15 +298,15 @@ FFmpeg::pts_offset (vector<shared_ptr<FFmpegAudioStream>> audio_streams, optiona /* First, make one of them start at 0 */ - auto po = ContentTime::min (); + auto po = ContentTime::min(); if (first_video) { - po = - first_video.get (); + po = - first_video.get(); } for (auto i: audio_streams) { if (i->first_audio) { - po = max (po, - i->first_audio.get ()); + po = max(po, - i->first_audio.get()); } } @@ -316,14 +316,14 @@ FFmpeg::pts_offset (vector<shared_ptr<FFmpegAudioStream>> audio_streams, optiona I don't think we ever want to do that, as it seems things at -ve PTS are not meant to be seen (use for alignment bars etc.); see mantis #418. */ - if (po > ContentTime ()) { - po = ContentTime (); + if (po > ContentTime()) { + po = ContentTime(); } /* Now adjust so that the video pts starts on a frame */ if (first_video) { auto const fvc = first_video.get() + po; - po += fvc.ceil (video_frame_rate) - fvc; + po += fvc.ceil(video_frame_rate) - fvc; } return po; @@ -331,14 +331,14 @@ FFmpeg::pts_offset (vector<shared_ptr<FFmpegAudioStream>> audio_streams, optiona AVFrame * -FFmpeg::audio_frame (shared_ptr<const FFmpegAudioStream> stream) +FFmpeg::audio_frame(shared_ptr<const FFmpegAudioStream> stream) { auto iter = _audio_frame.find(stream); if (iter != _audio_frame.end()) { return iter->second; } - auto frame = av_frame_alloc (); + auto frame = av_frame_alloc(); if (frame == nullptr) { throw std::bad_alloc(); } diff --git a/src/lib/ffmpeg.h b/src/lib/ffmpeg.h index 63446e5cd..f64f7c7bc 100644 --- a/src/lib/ffmpeg.h +++ b/src/lib/ffmpeg.h @@ -47,25 +47,25 @@ class Log; class FFmpeg { public: - explicit FFmpeg (std::shared_ptr<const FFmpegContent>); - virtual ~FFmpeg (); + explicit FFmpeg(std::shared_ptr<const FFmpegContent>); + virtual ~FFmpeg(); - std::shared_ptr<const FFmpegContent> ffmpeg_content () const { + std::shared_ptr<const FFmpegContent> ffmpeg_content() const { return _ffmpeg_content; } - int avio_read (uint8_t *, int); - int64_t avio_seek (int64_t, int); + int avio_read(uint8_t *, int); + int64_t avio_seek(int64_t, int); protected: - AVCodecContext* video_codec_context () const; - AVCodecContext* subtitle_codec_context () const; - dcpomatic::ContentTime pts_offset ( + AVCodecContext* video_codec_context() const; + AVCodecContext* subtitle_codec_context() const; + dcpomatic::ContentTime pts_offset( std::vector<std::shared_ptr<FFmpegAudioStream>> audio_streams, boost::optional<dcpomatic::ContentTime> first_video, double video_frame_rate ) const; void setup_decoder(int stream_index); - static FFmpegSubtitlePeriod subtitle_period (AVPacket const* packet, AVStream const* stream, AVSubtitle const & sub); + static FFmpegSubtitlePeriod subtitle_period(AVPacket const* packet, AVStream const* stream, AVSubtitle const & sub); std::shared_ptr<const FFmpegContent> _ffmpeg_content; @@ -82,7 +82,7 @@ protected: /** Index of video stream within AVFormatContext */ boost::optional<int> _video_stream; - AVFrame* audio_frame (std::shared_ptr<const FFmpegAudioStream> stream); + AVFrame* audio_frame(std::shared_ptr<const FFmpegAudioStream> stream); /* It would appear (though not completely verified) that one must have a mutex around calls to avcodec_open* and avcodec_close... and here @@ -91,8 +91,8 @@ protected: static boost::mutex _mutex; private: - void setup_general (); - void setup_decoders (); + void setup_general(); + void setup_decoders(); /** AVFrames used for decoding audio streams; accessed with audio_frame() */ std::map<std::shared_ptr<const FFmpegAudioStream>, AVFrame*> _audio_frame; 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_content.cc b/src/lib/ffmpeg_content.cc index 322553586..3ab9bfb0c 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -421,7 +421,7 @@ FFmpegContent::full_length(shared_ptr<const Film> film) const if (audio) { DCPTime longest; for (auto i: audio->streams()) { - longest = max(longest, DCPTime::from_frames(llrint(i->length() / frc.speed_up), i->frame_rate())); + longest = max(longest, DCPTime::from_frames(llrint(i->length() / frc.speed_up()), i->frame_rate())); } return longest; } diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc index 0f38b3247..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/file_group.cc b/src/lib/file_group.cc index 8ff684ed3..44ebe5075 100644 --- a/src/lib/file_group.cc +++ b/src/lib/file_group.cc @@ -37,42 +37,42 @@ using std::vector; /** Construct a FileGroup with no files */ -FileGroup::FileGroup () +FileGroup::FileGroup() { } /** Construct a FileGroup with a single file */ -FileGroup::FileGroup (boost::filesystem::path p) +FileGroup::FileGroup(boost::filesystem::path p) { - _paths.push_back (p); - ensure_open_path (0); - seek (0, SEEK_SET); + _paths.push_back(p); + ensure_open_path(0); + seek(0, SEEK_SET); } /** Construct a FileGroup with multiple files */ -FileGroup::FileGroup (vector<boost::filesystem::path> const & p) - : _paths (p) +FileGroup::FileGroup(vector<boost::filesystem::path> const & p) + : _paths(p) { - ensure_open_path (0); - seek (0, SEEK_SET); + ensure_open_path(0); + seek(0, SEEK_SET); } void -FileGroup::set_paths (vector<boost::filesystem::path> const & p) +FileGroup::set_paths(vector<boost::filesystem::path> const & p) { _paths = p; - ensure_open_path (0); - seek (0, SEEK_SET); + ensure_open_path(0); + seek(0, SEEK_SET); } /** Ensure that the given path index in the content is the _current_file */ void -FileGroup::ensure_open_path (size_t p) const +FileGroup::ensure_open_path(size_t p) const { if (_current_file && _current_path == p) { /* Already open */ @@ -95,7 +95,7 @@ FileGroup::ensure_open_path (size_t p) const int64_t -FileGroup::seek (int64_t pos, int whence) const +FileGroup::seek(int64_t pos, int whence) const { switch (whence) { case SEEK_SET: @@ -122,10 +122,10 @@ FileGroup::seek (int64_t pos, int whence) const } if (i < _paths.size()) { - ensure_open_path (i); + ensure_open_path(i); _current_file->seek(sub_pos, SEEK_SET); } else { - ensure_open_path (_paths.size() - 1); + ensure_open_path(_paths.size() - 1); _current_file->seek(_current_size, SEEK_SET); } @@ -138,9 +138,9 @@ FileGroup::seek (int64_t pos, int whence) const * @param amount Number of bytes to read. */ FileGroup::Result -FileGroup::read (uint8_t* buffer, int amount) const +FileGroup::read(uint8_t* buffer, int amount) const { - DCPOMATIC_ASSERT (_current_file); + DCPOMATIC_ASSERT(_current_file); int read = 0; while (true) { @@ -148,7 +148,7 @@ FileGroup::read (uint8_t* buffer, int amount) const bool eof = false; size_t to_read = amount - read; - DCPOMATIC_ASSERT (_current_file); + DCPOMATIC_ASSERT(_current_file); auto const current_position = _current_file->tell(); if (current_position == -1) { @@ -168,7 +168,7 @@ FileGroup::read (uint8_t* buffer, int amount) const } if (_current_file->error()) { - throw FileError (fmt::format("fread error {}", errno), _paths[_current_path]); + throw FileError(fmt::format("fread error {}", errno), _paths[_current_path]); } if (eof) { @@ -176,7 +176,7 @@ FileGroup::read (uint8_t* buffer, int amount) const if ((_current_path + 1) >= _paths.size()) { return { read, true }; } - ensure_open_path (_current_path + 1); + ensure_open_path(_current_path + 1); } } @@ -186,7 +186,7 @@ FileGroup::read (uint8_t* buffer, int amount) const /** @return Combined length of all the files */ int64_t -FileGroup::length () const +FileGroup::length() const { int64_t len = 0; for (size_t i = 0; i < _paths.size(); ++i) { diff --git a/src/lib/file_group.h b/src/lib/file_group.h index aac72c228..c16b50f89 100644 --- a/src/lib/file_group.h +++ b/src/lib/file_group.h @@ -40,14 +40,14 @@ class FileGroup { public: - FileGroup (); - explicit FileGroup (boost::filesystem::path); - explicit FileGroup (std::vector<boost::filesystem::path> const &); + FileGroup(); + explicit FileGroup(boost::filesystem::path); + explicit FileGroup(std::vector<boost::filesystem::path> const &); - FileGroup (FileGroup const&) = delete; - FileGroup& operator= (FileGroup const&) = delete; + FileGroup(FileGroup const&) = delete; + FileGroup& operator=(FileGroup const&) = delete; - void set_paths (std::vector<boost::filesystem::path> const &); + void set_paths(std::vector<boost::filesystem::path> const &); struct Result { Result(int bytes_read_, bool eof_) @@ -59,12 +59,12 @@ public: bool eof = false; }; - int64_t seek (int64_t, int) const; - Result read (uint8_t*, int) const; - int64_t length () const; + int64_t seek(int64_t, int) const; + Result read(uint8_t*, int) const; + int64_t length() const; private: - void ensure_open_path (size_t) const; + void ensure_open_path(size_t) const; std::vector<boost::filesystem::path> _paths; /** Index of path that we are currently reading from */ 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/frame_rate_change.cc b/src/lib/frame_rate_change.cc index 69296c970..6057f9ca3 100644 --- a/src/lib/frame_rate_change.cc +++ b/src/lib/frame_rate_change.cc @@ -31,74 +31,76 @@ using std::shared_ptr; using std::string; -FrameRateChange::FrameRateChange () +FrameRateChange::FrameRateChange() { } -FrameRateChange::FrameRateChange (double source_, int dcp_) +FrameRateChange::FrameRateChange(double source, int dcp) { - source = source_; - dcp = dcp_; + _source = source; + _dcp = dcp; - if (fabs(source / 2.0 - dcp) < fabs(source - dcp)) { + if (fabs(_source / 2.0 - _dcp) < fabs(_source - _dcp)) { /* The difference between source and DCP frame rate will be lower (i.e. better) if we skip. */ - skip = true; - } else if (fabs(source * 2 - dcp) < fabs(source - dcp)) { + _skip = round(source / dcp) - 1; + } else if (fabs(_source * 2 - _dcp) < fabs(_source - _dcp)) { /* The difference between source and DCP frame rate would be better if we repeated each frame once; it may be better still if we repeated more than once. Work out the required repeat. */ - repeat = round (dcp / source); + _repeat = round(_dcp / _source); } - speed_up = dcp / (source * factor()); + _speed_up = _dcp / (_source * factor()); auto about_equal = [](double a, double b) { - return (fabs (a - b) < VIDEO_FRAME_RATE_EPSILON); + return fabs(a - b) < VIDEO_FRAME_RATE_EPSILON; }; - change_speed = !about_equal (speed_up, 1.0); + _change_speed = !about_equal(_speed_up, 1.0); } -FrameRateChange::FrameRateChange (shared_ptr<const Film> film, shared_ptr<const Content> content) - : FrameRateChange (content->active_video_frame_rate(film), film->video_frame_rate()) +FrameRateChange::FrameRateChange(shared_ptr<const Film> film, shared_ptr<const Content> content) + : FrameRateChange(content->active_video_frame_rate(film), film->video_frame_rate()) { } -FrameRateChange::FrameRateChange (shared_ptr<const Film> film, Content const * content) - : FrameRateChange (content->active_video_frame_rate(film), film->video_frame_rate()) +FrameRateChange::FrameRateChange(shared_ptr<const Film> film, Content const * content) + : FrameRateChange(content->active_video_frame_rate(film), film->video_frame_rate()) { } string -FrameRateChange::description () const +FrameRateChange::description() const { string description; - if (!skip && repeat == 1 && !change_speed) { + if (_skip == 0 && _repeat == 1 && !_change_speed) { description = _("Content and DCP have the same rate.\n"); } else { - if (skip) { + if (_skip == 1) { description = _("DCP will use every other frame of the content.\n"); - } else if (repeat == 2) { + } else if (_skip >= 2) { + description = fmt::format(_("DCP will contain 1 out of every {} frames of the content.\n"), _skip + 1); + } else if (_repeat == 2) { description = _("Each content frame will be doubled in the DCP.\n"); - } else if (repeat > 2) { - description = fmt::format(_("Each content frame will be repeated {} more times in the DCP.\n"), repeat - 1); + } else if (_repeat > 2) { + description = fmt::format(_("Each content frame will be repeated {} more times in the DCP.\n"), _repeat - 1); } - if (change_speed) { - double const pc = dcp * 100 / (source * factor()); + if (_change_speed) { + double const pc = _dcp * 100 / (_source * factor()); char buffer[256]; - snprintf (buffer, sizeof(buffer), _("DCP will run at %.1f%% of the content speed.\n"), pc); + snprintf(buffer, sizeof(buffer), _("DCP will run at %.1f%% of the content speed.\n"), pc); description += buffer; } } diff --git a/src/lib/frame_rate_change.h b/src/lib/frame_rate_change.h index c28342e92..b58e499d8 100644 --- a/src/lib/frame_rate_change.h +++ b/src/lib/frame_rate_change.h @@ -27,36 +27,65 @@ #include <string> -class Film; class Content; +class Film; class FrameRateChange { public: - FrameRateChange (); - FrameRateChange (double, int); - FrameRateChange (std::shared_ptr<const Film> film, std::shared_ptr<const Content> content); - FrameRateChange (std::shared_ptr<const Film> film, Content const * content); + FrameRateChange(); + FrameRateChange(double, int); + FrameRateChange(std::shared_ptr<const Film> film, std::shared_ptr<const Content> content); + FrameRateChange(std::shared_ptr<const Film> film, Content const * content); /** @return factor by which to multiply a source frame rate to get the effective rate after any skip or repeat has happened. */ - double factor () const { - if (skip) { - return 0.5; + double factor() const { + if (_skip > 0) { + return 1.0 / (_skip + 1); } - return repeat; + return _repeat; } - double source = 24; - int dcp = 24; + std::string description() const; - /** true to skip every other frame */ - bool skip = false; + int skip() const { + return _skip; + } + + int repeat() const { + return _repeat; + } + + double speed_up() const { + return _speed_up; + } + + bool change_speed() const { + return _change_speed; + } + + double source() const { + return _source; + } + + int dcp() const { + return _dcp; + } + +private: + double _source = 24; + int _dcp = 24; + + /** Frames to skip between each one to use, e.g. + * 0 to skip no frames, 1 to skip every other one, 2 to skip 2 out of 3, etc. + */ + int _skip = 0; /** number of times to use each frame (e.g. 1 is normal, 2 means repeat each frame once, and so on) */ - int repeat = 1; + int _repeat = 1; /** true if this DCP will run its video faster or slower than the source * without taking into account `repeat' nor `skip'. * (e.g. change_speed will be true if @@ -66,14 +95,12 @@ public: * source is 15.00fps, DCP is 30fps * source is 12.50fps, DCP is 25fps) */ - bool change_speed = false; + bool _change_speed = false; /** Amount by which the video is being sped-up in the DCP; e.g. for a * 24fps source in a 25fps DCP this would be 25/24. */ - double speed_up = 1.0; - - std::string description () const; + double _speed_up = 1.0; }; diff --git a/src/lib/hints.cc b/src/lib/hints.cc index 99882ec0e..071e63761 100644 --- a/src/lib/hints.cc +++ b/src/lib/hints.cc @@ -44,16 +44,19 @@ #include <fmt/format.h> #include <boost/algorithm/string.hpp> #include <iostream> +#include <numeric> #include "i18n.h" using std::cout; using std::make_shared; +using std::map; using std::max; using std::shared_ptr; using std::string; using std::weak_ptr; +using std::vector; using boost::optional; using namespace dcpomatic; #if BOOST_VERSION >= 106100 @@ -227,7 +230,7 @@ Hints::check_speed_up() optional<double> lowest_speed_up; optional<double> highest_speed_up; for (auto i: film()->content()) { - double spu = film()->active_frame_rate_change(i->position()).speed_up; + double spu = film()->active_frame_rate_change(i->position()).speed_up(); if (!lowest_speed_up || spu < *lowest_speed_up) { lowest_speed_up = spu; } @@ -367,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() { @@ -497,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); @@ -509,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))); @@ -584,24 +583,42 @@ Hints::text(PlayerText text, TextType type, optional<DCPTextTrack> track, DCPTim void Hints::closed_caption(PlayerText text, DCPTimePeriod period) { - int lines = text.string.size(); - for (auto i: text.string) { - if (utf8_strlen(i.text()) > MAX_CLOSED_CAPTION_LENGTH) { - ++lines; - if (!_long_ccap) { - _long_ccap = true; - hint( - fmt::format( - "At least one of your closed caption lines has more than {} characters. " - "It is advisable to make each line {} characters at most in length.", - MAX_CLOSED_CAPTION_LENGTH, - MAX_CLOSED_CAPTION_LENGTH) - ); + map<float, vector<StringText>> lines; + for (auto const& line: text.string) { + bool added = false; + for (auto& existing: lines) { + if (std::abs(existing.first - line.v_position()) < dcp::ALIGN_EPSILON) { + existing.second.push_back(line); + added = true; } } + if (!added) { + lines[line.v_position()] = { line }; + } + } + + for (auto const& line: lines) { + int const length = std::accumulate( + line.second.begin(), + line.second.end(), + 0, + [](int acc, StringText const& text) { + return acc + dcp::utf8_strlen(text.text()); + }); + + if (length > MAX_CLOSED_CAPTION_LENGTH && !_long_ccap) { + _long_ccap = true; + hint( + fmt::format( + "At least one of your closed caption lines has more than {} characters. " + "It is advisable to make each line {} characters at most in length.", + MAX_CLOSED_CAPTION_LENGTH, + MAX_CLOSED_CAPTION_LENGTH) + ); + } } - if (!_too_many_ccap_lines && lines > MAX_CLOSED_CAPTION_LINES) { + if (!_too_many_ccap_lines && lines.size() > MAX_CLOSED_CAPTION_LINES) { hint(fmt::format(_("Some of your closed captions span more than {} lines, so they will be truncated."), MAX_CLOSED_CAPTION_LINES)); _too_many_ccap_lines = true; } 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 51e894900..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]; @@ -1573,17 +1581,18 @@ Image::fade(float f) case AV_PIX_FMT_RGB48LE: /* 16-bit little-endian */ for (int c = 0; c < 3; ++c) { - int const stride_pixels = stride()[c] / 2; - int const line_size_pixels = line_size()[c] / 2; + /* Number of R, G, B values */ + int const stride_values = stride()[c] / 2; + int const line_size_values = line_size()[c] / 2; uint16_t* p = reinterpret_cast<uint16_t*>(data()[c]); int const lines = sample_size(c).height; for (int y = 0; y < lines; ++y) { uint16_t* q = p; - for (int x = 0; x < line_size_pixels; ++x) { - *q = int(float(*q) * f); + for (int x = 0; x < line_size_values; ++x) { + *q = int(*q * f); ++q; } - p += stride_pixels; + p += stride_values; } } break; 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/image_content.cc b/src/lib/image_content.cc index 8d3092196..4e9eff237 100644 --- a/src/lib/image_content.cc +++ b/src/lib/image_content.cc @@ -46,33 +46,33 @@ using boost::optional; using namespace dcpomatic; -ImageContent::ImageContent (boost::filesystem::path p) +ImageContent::ImageContent(boost::filesystem::path p) { video = make_shared<VideoContent>(this); if (dcp::filesystem::is_regular_file(p) && valid_image_file(p)) { - add_path (p); + add_path(p); } else { _path_to_scan = p; } - set_default_colour_conversion (); + set_default_colour_conversion(); } ImageContent::ImageContent(cxml::ConstNodePtr node, boost::optional<boost::filesystem::path> film_directory, int version) : Content(node, film_directory) { - video = VideoContent::from_xml (this, node, version, VideoRange::FULL); + video = VideoContent::from_xml(this, node, version, VideoRange::FULL); } string -ImageContent::summary () const +ImageContent::summary() const { - string s = path_summary () + " "; + string s = path_summary() + " "; /* Get the string() here so that the name does not have quotes around it */ - if (still ()) { + if (still()) { s += _("[still]"); } else { s += _("[moving images]"); @@ -83,12 +83,12 @@ ImageContent::summary () const string -ImageContent::technical_summary () const +ImageContent::technical_summary() const { string s = Content::technical_summary() + " - " + video->technical_summary() + " - "; - if (still ()) { + if (still()) { s += _("still"); } else { s += _("moving"); @@ -114,92 +114,92 @@ void ImageContent::examine(shared_ptr<const Film> film, shared_ptr<Job> job, bool tolerant) { if (_path_to_scan) { - job->sub (_("Scanning image files")); + job->sub(_("Scanning image files")); vector<boost::filesystem::path> paths; int n = 0; for (auto i: dcp::filesystem::directory_iterator(*_path_to_scan)) { if (dcp::filesystem::is_regular_file(i.path()) && valid_image_file(i.path())) { - paths.push_back (i.path()); + paths.push_back(i.path()); } ++n; if ((n % 1000) == 0) { - job->set_progress_unknown (); + job->set_progress_unknown(); } } if (paths.empty()) { - throw FileError (_("No valid image files were found in the folder."), *_path_to_scan); + throw FileError(_("No valid image files were found in the folder."), *_path_to_scan); } - sort (paths.begin(), paths.end(), ImageFilenameSorter()); - set_paths (paths); + sort(paths.begin(), paths.end(), ImageFilenameSorter()); + set_paths(paths); } Content::examine(film, job, tolerant); auto examiner = make_shared<ImageExaminer>(film, shared_from_this(), job); video->take_from_examiner(film, examiner); - set_default_colour_conversion (); + set_default_colour_conversion(); } DCPTime -ImageContent::full_length (shared_ptr<const Film> film) const +ImageContent::full_length(shared_ptr<const Film> film) const { - FrameRateChange const frc (film, shared_from_this()); - return DCPTime::from_frames (llrint(video->length_after_3d_combine() * frc.factor()), film->video_frame_rate()); + FrameRateChange const frc(film, shared_from_this()); + return DCPTime::from_frames(llrint(video->length_after_3d_combine() * frc.factor()), film->video_frame_rate()); } DCPTime -ImageContent::approximate_length () const +ImageContent::approximate_length() const { - return DCPTime::from_frames (video->length_after_3d_combine(), 24); + return DCPTime::from_frames(video->length_after_3d_combine(), 24); } string -ImageContent::identifier () const +ImageContent::identifier() const { char buffer[256]; - snprintf (buffer, sizeof(buffer), "%s_%s_%" PRId64, Content::identifier().c_str(), video->identifier().c_str(), video->length()); + snprintf(buffer, sizeof(buffer), "%s_%s_%" PRId64, Content::identifier().c_str(), video->identifier().c_str(), video->length()); return buffer; } bool -ImageContent::still () const +ImageContent::still() const { return number_of_paths() == 1; } void -ImageContent::set_default_colour_conversion () +ImageContent::set_default_colour_conversion() { for (auto i: paths()) { if (valid_j2k_file (i)) { /* We default to no colour conversion if we have JPEG2000 files */ - video->unset_colour_conversion (); + video->unset_colour_conversion(); return; } } - bool const s = still (); + bool const s = still(); - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); if (s) { - video->set_colour_conversion (PresetColourConversion::from_id ("srgb").conversion); + video->set_colour_conversion(PresetColourConversion::from_id("srgb").conversion); } else { - video->set_colour_conversion (PresetColourConversion::from_id ("rec709").conversion); + video->set_colour_conversion(PresetColourConversion::from_id("rec709").conversion); } } void -ImageContent::add_properties (shared_ptr<const Film> film, list<UserProperty>& p) const +ImageContent::add_properties(shared_ptr<const Film> film, list<UserProperty>& p) const { - Content::add_properties (film, p); - video->add_properties (p); + Content::add_properties(film, p); + video->add_properties(p); } diff --git a/src/lib/image_content.h b/src/lib/image_content.h index 4b3b13380..04318ae0d 100644 --- a/src/lib/image_content.h +++ b/src/lib/image_content.h @@ -26,20 +26,20 @@ class ImageContent : public Content { public: - ImageContent (boost::filesystem::path); - ImageContent (cxml::ConstNodePtr, boost::optional<boost::filesystem::path> film_directory, int); + ImageContent(boost::filesystem::path); + ImageContent(cxml::ConstNodePtr, boost::optional<boost::filesystem::path> film_directory, int); - std::shared_ptr<ImageContent> shared_from_this () { - return std::dynamic_pointer_cast<ImageContent> (Content::shared_from_this ()); + std::shared_ptr<ImageContent> shared_from_this() { + return std::dynamic_pointer_cast<ImageContent>(Content::shared_from_this()); }; - std::shared_ptr<const ImageContent> shared_from_this () const { - return std::dynamic_pointer_cast<const ImageContent> (Content::shared_from_this ()); + std::shared_ptr<const ImageContent> shared_from_this() const { + return std::dynamic_pointer_cast<const ImageContent>(Content::shared_from_this()); }; void examine(std::shared_ptr<const Film> film, std::shared_ptr<Job>, bool tolerant) override; - std::string summary () const override; - std::string technical_summary () const override; + std::string summary() const override; + std::string technical_summary() const override; void as_xml( xmlpp::Element* element, @@ -48,17 +48,17 @@ public: boost::optional<boost::filesystem::path> film_directory ) const override; - dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const override; - dcpomatic::DCPTime approximate_length () const override; + dcpomatic::DCPTime full_length(std::shared_ptr<const Film> film) const override; + dcpomatic::DCPTime approximate_length() const override; - std::string identifier () const override; + std::string identifier() const override; - void set_default_colour_conversion (); + void set_default_colour_conversion(); - bool still () const; + bool still() const; private: - void add_properties (std::shared_ptr<const Film> film, std::list<UserProperty>& p) const override; + void add_properties(std::shared_ptr<const Film> film, std::list<UserProperty>& p) const override; boost::optional<boost::filesystem::path> _path_to_scan; }; diff --git a/src/lib/image_decoder.cc b/src/lib/image_decoder.cc index 527a98c7d..29e4a2f07 100644 --- a/src/lib/image_decoder.cc +++ b/src/lib/image_decoder.cc @@ -43,16 +43,16 @@ using dcp::Size; using namespace dcpomatic; -ImageDecoder::ImageDecoder (shared_ptr<const Film> film, shared_ptr<const ImageContent> c) - : Decoder (film) - , _image_content (c) +ImageDecoder::ImageDecoder(shared_ptr<const Film> film, shared_ptr<const ImageContent> c) + : Decoder(film) + , _image_content(c) { video = make_shared<VideoDecoder>(this, c); } bool -ImageDecoder::pass () +ImageDecoder::pass() { if (_frame_video_position >= _image_content->video->length()) { return true; @@ -60,8 +60,8 @@ ImageDecoder::pass () if (!_image_content->still() || !_image) { /* Either we need an image or we are using moving images, so load one */ - auto path = _image_content->path (_image_content->still() ? 0 : _frame_video_position); - if (valid_j2k_file (path)) { + auto path = _image_content->path(_image_content->still() ? 0 : _frame_video_position); + if (valid_j2k_file(path)) { AVPixelFormat pf; if (_image_content->video->colour_conversion()) { /* We have a specified colour conversion: assume the image is RGB */ @@ -88,8 +88,8 @@ ImageDecoder::pass () void -ImageDecoder::seek (ContentTime time, bool accurate) +ImageDecoder::seek(ContentTime time, bool accurate) { - Decoder::seek (time, accurate); - _frame_video_position = time.frames_round (_image_content->active_video_frame_rate(film())); + Decoder::seek(time, accurate); + _frame_video_position = time.frames_round(_image_content->active_video_frame_rate(film())); } diff --git a/src/lib/image_decoder.h b/src/lib/image_decoder.h index 41924735c..2b07e6b28 100644 --- a/src/lib/image_decoder.h +++ b/src/lib/image_decoder.h @@ -31,14 +31,14 @@ class ImageProxy; class ImageDecoder : public Decoder { public: - ImageDecoder (std::shared_ptr<const Film> film, std::shared_ptr<const ImageContent> c); + ImageDecoder(std::shared_ptr<const Film> film, std::shared_ptr<const ImageContent> c); - std::shared_ptr<const ImageContent> content () { + std::shared_ptr<const ImageContent> content() { return _image_content; } - bool pass () override; - void seek (dcpomatic::ContentTime, bool) override; + bool pass() override; + void seek(dcpomatic::ContentTime, bool) override; private: diff --git a/src/lib/image_examiner.cc b/src/lib/image_examiner.cc index 4a91a103f..f39500781 100644 --- a/src/lib/image_examiner.cc +++ b/src/lib/image_examiner.cc @@ -44,16 +44,16 @@ using std::sort; using boost::optional; -ImageExaminer::ImageExaminer (shared_ptr<const Film> film, shared_ptr<const ImageContent> content, shared_ptr<Job>) - : _film (film) - , _image_content (content) +ImageExaminer::ImageExaminer(shared_ptr<const Film> film, shared_ptr<const ImageContent> content, shared_ptr<Job>) + : _film(film) + , _image_content(content) { auto path = content->path(0); - if (valid_j2k_file (path)) { + if (valid_j2k_file(path)) { auto size = dcp::filesystem::file_size(path); dcp::File f(path, "rb"); if (!f) { - throw FileError ("Could not open file for reading", path); + throw FileError("Could not open file for reading", path); } std::vector<uint8_t> buffer(size); f.checked_read(buffer.data(), size); @@ -70,23 +70,23 @@ ImageExaminer::ImageExaminer (shared_ptr<const Film> film, shared_ptr<const Imag _has_alpha = image.image->has_alpha(); } - if (content->still ()) { - _video_length = Config::instance()->default_still_length() * video_frame_rate().get_value_or (film->video_frame_rate ()); + if (content->still()) { + _video_length = Config::instance()->default_still_length() * video_frame_rate().get_value_or(film->video_frame_rate()); } else { - _video_length = _image_content->number_of_paths (); + _video_length = _image_content->number_of_paths(); } } optional<dcp::Size> -ImageExaminer::video_size () const +ImageExaminer::video_size() const { return _video_size; } optional<double> -ImageExaminer::video_frame_rate () const +ImageExaminer::video_frame_rate() const { if (_image_content->video_frame_rate()) { /* The content already knows what frame rate it should be */ @@ -99,7 +99,7 @@ ImageExaminer::video_frame_rate () const bool -ImageExaminer::yuv () const +ImageExaminer::yuv() const { /* We never convert ImageSource from YUV to RGB (though maybe sometimes we should) so it makes sense to just say they are never YUV so the option of a conversion diff --git a/src/lib/image_examiner.h b/src/lib/image_examiner.h index d6cdfac53..dddb6544f 100644 --- a/src/lib/image_examiner.h +++ b/src/lib/image_examiner.h @@ -25,21 +25,21 @@ class ImageContent; class ImageExaminer : public VideoExaminer { public: - ImageExaminer (std::shared_ptr<const Film>, std::shared_ptr<const ImageContent>, std::shared_ptr<Job>); + ImageExaminer(std::shared_ptr<const Film>, std::shared_ptr<const ImageContent>, std::shared_ptr<Job>); - bool has_video () const override { + bool has_video() const override { return true; } - boost::optional<double> video_frame_rate () const override; + boost::optional<double> video_frame_rate() const override; boost::optional<dcp::Size> video_size() const override; - Frame video_length () const override { + Frame video_length() const override { return _video_length; } - bool yuv () const override; - VideoRange range () const override { + bool yuv() const override; + VideoRange range() const override { return VideoRange::FULL; } - PixelQuanta pixel_quanta () const override { + PixelQuanta pixel_quanta() const override { /* See ::yuv - we're assuming the image is not YUV and so not subsampled */ return {}; } diff --git a/src/lib/j2k_image_proxy.cc b/src/lib/j2k_image_proxy.cc index 8fb387158..c2058794e 100644 --- a/src/lib/j2k_image_proxy.cc +++ b/src/lib/j2k_image_proxy.cc @@ -51,57 +51,57 @@ using dcp::ArrayData; /** Construct a J2KImageProxy from a JPEG2000 file */ -J2KImageProxy::J2KImageProxy (boost::filesystem::path path, dcp::Size size, AVPixelFormat pixel_format) - : _data (new dcp::ArrayData(path)) - , _size (size) - , _pixel_format (pixel_format) - , _error (false) +J2KImageProxy::J2KImageProxy(boost::filesystem::path path, dcp::Size size, AVPixelFormat pixel_format) + : _data(new dcp::ArrayData(path)) + , _size(size) + , _pixel_format(pixel_format) + , _error(false) { /* ::image assumes 16bpp */ - DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE); + DCPOMATIC_ASSERT(_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE); } -J2KImageProxy::J2KImageProxy ( +J2KImageProxy::J2KImageProxy( shared_ptr<const dcp::MonoJ2KPictureFrame> frame, dcp::Size size, AVPixelFormat pixel_format, optional<int> forced_reduction ) - : _data (frame) - , _size (size) - , _pixel_format (pixel_format) - , _forced_reduction (forced_reduction) - , _error (false) + : _data(frame) + , _size(size) + , _pixel_format(pixel_format) + , _forced_reduction(forced_reduction) + , _error(false) { /* ::image assumes 16bpp */ - DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE); + DCPOMATIC_ASSERT(_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE); } -J2KImageProxy::J2KImageProxy ( +J2KImageProxy::J2KImageProxy( shared_ptr<const dcp::StereoJ2KPictureFrame> frame, dcp::Size size, dcp::Eye eye, AVPixelFormat pixel_format, optional<int> forced_reduction ) - : _data (eye == dcp::Eye::LEFT ? frame->left() : frame->right()) - , _size (size) - , _eye (eye) - , _pixel_format (pixel_format) - , _forced_reduction (forced_reduction) - , _error (false) + : _data(eye == dcp::Eye::LEFT ? frame->left() : frame->right()) + , _size(size) + , _eye(eye) + , _pixel_format(pixel_format) + , _forced_reduction(forced_reduction) + , _error(false) { /* ::image assumes 16bpp */ - DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE); + DCPOMATIC_ASSERT(_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE); } -J2KImageProxy::J2KImageProxy (shared_ptr<cxml::Node> xml, shared_ptr<Socket> socket) - : _error (false) +J2KImageProxy::J2KImageProxy(shared_ptr<cxml::Node> xml, shared_ptr<Socket> socket) + : _error(false) { - _size = dcp::Size (xml->number_child<int>("Width"), xml->number_child<int>("Height")); + _size = dcp::Size(xml->number_child<int>("Width"), xml->number_child<int>("Height")); if (xml->optional_number_child<int>("Eye")) { _eye = static_cast<dcp::Eye>(xml->number_child<int>("Eye")); } @@ -111,18 +111,18 @@ J2KImageProxy::J2KImageProxy (shared_ptr<cxml::Node> xml, shared_ptr<Socket> soc encode servers). So we can put anything in here. It's a bit of a hack. */ _pixel_format = AV_PIX_FMT_XYZ12LE; - socket->read (data->data(), data->size()); + socket->read(data->data(), data->size()); _data = data; } int -J2KImageProxy::prepare (Image::Alignment alignment, optional<dcp::Size> target_size) const +J2KImageProxy::prepare(Image::Alignment alignment, optional<dcp::Size> target_size) const { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); if (_image && target_size == _target_size) { - DCPOMATIC_ASSERT (_reduce); + DCPOMATIC_ASSERT(_reduce); return *_reduce; } @@ -136,15 +136,15 @@ J2KImageProxy::prepare (Image::Alignment alignment, optional<dcp::Size> target_s } --reduce; - reduce = max (0, reduce); + reduce = max(0, reduce); } try { /* XXX: should check that potentially trashing _data here doesn't matter */ - auto decompressed = dcp::decompress_j2k (const_cast<uint8_t*>(_data->data()), _data->size(), reduce); + auto decompressed = dcp::decompress_j2k(const_cast<uint8_t*>(_data->data()), _data->size(), reduce); _image = make_shared<Image>(_pixel_format, decompressed->size(), alignment); - int const shift = 16 - decompressed->precision (0); + int const shift = 16 - decompressed->precision(0); /* Copy data in whatever format (sRGB or XYZ) into our Image; I'm assuming the data is 12-bit either way. @@ -153,9 +153,9 @@ J2KImageProxy::prepare (Image::Alignment alignment, optional<dcp::Size> target_s int const width = decompressed->size().width; int p = 0; - int* decomp_0 = decompressed->data (0); - int* decomp_1 = decompressed->data (1); - int* decomp_2 = decompressed->data (2); + int* decomp_0 = decompressed->data(0); + int* decomp_1 = decompressed->data(1); + int* decomp_2 = decompressed->data(2); for (int y = 0; y < decompressed->size().height; ++y) { auto q = reinterpret_cast<uint16_t *>(_image->data()[0] + y * _image->stride()[0]); for (int x = 0; x < width; ++x) { @@ -167,7 +167,7 @@ J2KImageProxy::prepare (Image::Alignment alignment, optional<dcp::Size> target_s } } catch (dcp::J2KDecompressionError& e) { _image = make_shared<Image>(_pixel_format, _size, alignment); - _image->make_black (); + _image->make_black(); _error = true; } @@ -179,14 +179,14 @@ J2KImageProxy::prepare (Image::Alignment alignment, optional<dcp::Size> target_s ImageProxy::Result -J2KImageProxy::image (Image::Alignment alignment, optional<dcp::Size> target_size) const +J2KImageProxy::image(Image::Alignment alignment, optional<dcp::Size> target_size) const { - int const r = prepare (alignment, target_size); + int const r = prepare(alignment, target_size); /* I think this is safe without a lock on mutex. _image is guaranteed to be set up when prepare() has happened. */ - return Result (_image, r, _error); + return Result(_image, r, _error); } @@ -204,14 +204,14 @@ J2KImageProxy::add_metadata(xmlpp::Element* element) const void -J2KImageProxy::write_to_socket (shared_ptr<Socket> socket) const +J2KImageProxy::write_to_socket(shared_ptr<Socket> socket) const { - socket->write (_data->data(), _data->size()); + socket->write(_data->data(), _data->size()); } bool -J2KImageProxy::same (shared_ptr<const ImageProxy> other) const +J2KImageProxy::same(shared_ptr<const ImageProxy> other) const { auto jp = dynamic_pointer_cast<const J2KImageProxy>(other); if (!jp) { @@ -222,19 +222,19 @@ J2KImageProxy::same (shared_ptr<const ImageProxy> other) const } -J2KImageProxy::J2KImageProxy (ArrayData data, dcp::Size size, AVPixelFormat pixel_format) - : _data (new ArrayData(data)) - , _size (size) - , _pixel_format (pixel_format) - , _error (false) +J2KImageProxy::J2KImageProxy(ArrayData data, dcp::Size size, AVPixelFormat pixel_format) + : _data(new ArrayData(data)) + , _size(size) + , _pixel_format(pixel_format) + , _error(false) { /* ::image assumes 16bpp */ - DCPOMATIC_ASSERT (_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE); + DCPOMATIC_ASSERT(_pixel_format == AV_PIX_FMT_RGB48 || _pixel_format == AV_PIX_FMT_XYZ12LE); } size_t -J2KImageProxy::memory_used () const +J2KImageProxy::memory_used() const { size_t m = _data->size(); if (_image) { diff --git a/src/lib/j2k_image_proxy.h b/src/lib/j2k_image_proxy.h index 1d2d5cc21..40504ddd5 100644 --- a/src/lib/j2k_image_proxy.h +++ b/src/lib/j2k_image_proxy.h @@ -34,16 +34,16 @@ namespace dcp { class J2KImageProxy : public ImageProxy { public: - J2KImageProxy (boost::filesystem::path path, dcp::Size, AVPixelFormat pixel_format); + J2KImageProxy(boost::filesystem::path path, dcp::Size, AVPixelFormat pixel_format); - J2KImageProxy ( + J2KImageProxy( std::shared_ptr<const dcp::MonoJ2KPictureFrame> frame, dcp::Size, AVPixelFormat pixel_format, boost::optional<int> forced_reduction ); - J2KImageProxy ( + J2KImageProxy( std::shared_ptr<const dcp::StereoJ2KPictureFrame> frame, dcp::Size, dcp::Eye, @@ -51,35 +51,35 @@ public: boost::optional<int> forced_reduction ); - J2KImageProxy (std::shared_ptr<cxml::Node> xml, std::shared_ptr<Socket> socket); + J2KImageProxy(std::shared_ptr<cxml::Node> xml, std::shared_ptr<Socket> socket); /* For tests */ - J2KImageProxy (dcp::ArrayData data, dcp::Size size, AVPixelFormat pixel_format); + J2KImageProxy(dcp::ArrayData data, dcp::Size size, AVPixelFormat pixel_format); - Result image ( + Result image( Image::Alignment alignment, - boost::optional<dcp::Size> size = boost::optional<dcp::Size> () + boost::optional<dcp::Size> size = boost::optional<dcp::Size>() ) const override; void add_metadata(xmlpp::Element*) const override; - void write_to_socket (std::shared_ptr<Socket> override) const override; + void write_to_socket(std::shared_ptr<Socket> override) const override; /** @return true if our image is definitely the same as another, false if it is probably not */ - bool same (std::shared_ptr<const ImageProxy>) const override; - int prepare (Image::Alignment alignment, boost::optional<dcp::Size> = boost::optional<dcp::Size>()) const override; + bool same(std::shared_ptr<const ImageProxy>) const override; + int prepare(Image::Alignment alignment, boost::optional<dcp::Size> = boost::optional<dcp::Size>()) const override; - std::shared_ptr<const dcp::Data> j2k () const { + std::shared_ptr<const dcp::Data> j2k() const { return _data; } - dcp::Size size () const { + dcp::Size size() const { return _size; } - boost::optional<dcp::Eye> eye () const { + boost::optional<dcp::Eye> eye() const { return _eye; } - size_t memory_used () const override; + size_t memory_used() const override; private: std::shared_ptr<const dcp::Data> _data; 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/log.cc b/src/lib/log.cc index aae492faf..e5d1a8206 100644 --- a/src/lib/log.cc +++ b/src/lib/log.cc @@ -40,30 +40,30 @@ using std::shared_ptr; using std::string; -Log::Log () +Log::Log() { } void -Log::log (shared_ptr<const LogEntry> e) +Log::log(shared_ptr<const LogEntry> e) { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); if ((_types & e->type()) == 0) { return; } - do_log (e); + do_log(e); } /** @param n String to log */ void -Log::log (string message, int type) +Log::log(string message, int type) { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); if ((_types & type) == 0) { return; @@ -71,30 +71,30 @@ Log::log (string message, int type) auto e = make_shared<StringLogEntry>(type, message); - do_log (e); + do_log(e); } void -Log::dcp_log (dcp::NoteType type, string m) +Log::dcp_log(dcp::NoteType type, string m) { switch (type) { case dcp::NoteType::PROGRESS: - do_log (make_shared<StringLogEntry>(LogEntry::TYPE_GENERAL, m)); + do_log(make_shared<StringLogEntry>(LogEntry::TYPE_GENERAL, m)); break; case dcp::NoteType::ERROR: - do_log (make_shared<StringLogEntry>(LogEntry::TYPE_ERROR, m)); + do_log(make_shared<StringLogEntry>(LogEntry::TYPE_ERROR, m)); break; case dcp::NoteType::NOTE: - do_log (make_shared<StringLogEntry>(LogEntry::TYPE_WARNING, m)); + do_log(make_shared<StringLogEntry>(LogEntry::TYPE_WARNING, m)); break; } } void -Log::set_types (int t) +Log::set_types(int t) { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); _types = t; } diff --git a/src/lib/log.h b/src/lib/log.h index c6685bda1..e372e618f 100644 --- a/src/lib/log.h +++ b/src/lib/log.h @@ -45,25 +45,25 @@ LIBDCP_ENABLE_WARNINGS class Log { public: - Log (); - virtual ~Log () {} + Log(); + virtual ~Log() {} - Log (Log const&) = delete; - Log& operator= (Log const&) = delete; + Log(Log const&) = delete; + Log& operator=(Log const&) = delete; - void log (std::shared_ptr<const LogEntry> entry); - void log (std::string message, int type); - void dcp_log (dcp::NoteType type, std::string message); + void log(std::shared_ptr<const LogEntry> entry); + void log(std::string message, int type); + void dcp_log(dcp::NoteType type, std::string message); - void set_types (int types); - int types () const { + void set_types(int types); + int types() const { return _types; } /** @param amount Approximate number of bytes to return; the returned value * may be shorter or longer than this. */ - virtual std::string head_and_tail (int amount = 1024) const { + virtual std::string head_and_tail(int amount = 1024) const { (void) amount; return ""; } @@ -74,7 +74,7 @@ protected: mutable boost::mutex _mutex; private: - virtual void do_log (std::shared_ptr<const LogEntry> entry) = 0; + virtual void do_log(std::shared_ptr<const LogEntry> entry) = 0; /** bit-field of log types which should be put into the log (others are ignored) */ int _types = 0; 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/nanomsg.cc b/src/lib/nanomsg.cc index fe3827247..4ec37635e 100644 --- a/src/lib/nanomsg.cc +++ b/src/lib/nanomsg.cc @@ -36,9 +36,9 @@ using boost::optional; #define NANOMSG_URL "ipc:///tmp/dcpomatic.ipc" -Nanomsg::Nanomsg (bool server) +Nanomsg::Nanomsg(bool server) { - _socket = nn_socket (AF_SP, NN_PAIR); + _socket = nn_socket(AF_SP, NN_PAIR); if (_socket < 0) { throw runtime_error("Could not set up nanomsg socket"); } @@ -54,21 +54,21 @@ Nanomsg::Nanomsg (bool server) } -Nanomsg::~Nanomsg () +Nanomsg::~Nanomsg() { - nn_shutdown (_socket, _endpoint); - nn_close (_socket); + nn_shutdown(_socket, _endpoint); + nn_close(_socket); } bool -Nanomsg::send (string s, int timeout) +Nanomsg::send(string s, int timeout) { if (timeout != 0) { - nn_setsockopt (_socket, NN_SOL_SOCKET, NN_SNDTIMEO, &timeout, sizeof(int)); + nn_setsockopt(_socket, NN_SOL_SOCKET, NN_SNDTIMEO, &timeout, sizeof(int)); } - int const r = nn_send (_socket, s.c_str(), s.length(), timeout ? 0 : NN_DONTWAIT); + int const r = nn_send(_socket, s.c_str(), s.length(), timeout ? 0 : NN_DONTWAIT); if (r < 0) { if (errno == ETIMEDOUT || errno == EAGAIN) { return false; @@ -83,7 +83,7 @@ Nanomsg::send (string s, int timeout) optional<string> -Nanomsg::get_from_pending () +Nanomsg::get_from_pending() { if (_pending.empty()) { return {}; @@ -96,10 +96,10 @@ Nanomsg::get_from_pending () void -Nanomsg::recv_and_parse (int flags) +Nanomsg::recv_and_parse(int flags) { char* buf = 0; - int const received = nn_recv (_socket, &buf, NN_MSG, flags); + int const received = nn_recv(_socket, &buf, NN_MSG, flags); if (received < 0) { if (errno == ETIMEDOUT || errno == EAGAIN) { @@ -107,36 +107,35 @@ Nanomsg::recv_and_parse (int flags) } LOG_DISK("nn_recv failed"); - throw CommunicationFailedError (); + throw CommunicationFailedError(); } char* p = buf; for (int i = 0; i < received; ++i) { if (*p == '\n') { - _pending.push_front (_current); + _pending.push_front(_current); _current = ""; } else { _current += *p; } ++p; } - nn_freemsg (buf); + nn_freemsg(buf); } optional<string> -Nanomsg::receive (int timeout) +Nanomsg::receive(int timeout) { if (timeout != 0) { - nn_setsockopt (_socket, NN_SOL_SOCKET, NN_RCVTIMEO, &timeout, sizeof(int)); + nn_setsockopt(_socket, NN_SOL_SOCKET, NN_RCVTIMEO, &timeout, sizeof(int)); } - auto l = get_from_pending (); - if (l) { + if (auto l = get_from_pending()) { return *l; } - recv_and_parse (timeout ? 0 : NN_DONTWAIT); + recv_and_parse(timeout ? 0 : NN_DONTWAIT); - return get_from_pending (); + return get_from_pending(); } diff --git a/src/lib/nanomsg.h b/src/lib/nanomsg.h index 8d89d6d99..bd15a670f 100644 --- a/src/lib/nanomsg.h +++ b/src/lib/nanomsg.h @@ -27,27 +27,27 @@ class Nanomsg { public: - explicit Nanomsg (bool server); - ~Nanomsg (); + explicit Nanomsg(bool server); + ~Nanomsg(); - Nanomsg (Nanomsg const&) = delete; - Nanomsg& operator= (Nanomsg const&) = delete; + Nanomsg(Nanomsg const&) = delete; + Nanomsg& operator=(Nanomsg const&) = delete; /** Try to send a message, waiting for some timeout before giving up. * @param timeout Timeout in milliseconds, or -1 for infinite timeout. * @return true if the send happened, false if there was a timeout. */ - bool send (std::string s, int timeout); + bool send(std::string s, int timeout); /** Try to receive a message, waiting for some timeout before giving up. * @param timeout Timeout in milliseconds, or -1 for infinite timeout. * @return Empty if the timeout was reached, otherwise the received string. */ - boost::optional<std::string> receive (int timeout); + boost::optional<std::string> receive(int timeout); private: - boost::optional<std::string> get_from_pending (); - void recv_and_parse (int flags); + boost::optional<std::string> get_from_pending(); + void recv_and_parse(int flags); int _socket; int _endpoint; 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 7498ca4e7..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); @@ -542,7 +546,7 @@ Player::dcp_to_content_video(shared_ptr<const Piece> piece, DCPTime t) const Instead we convert the DCPTime using the DCP video rate then account for any skip/repeat. */ - return s.frames_floor(piece->frc.dcp) / piece->frc.factor(); + return s.frames_floor(piece->frc.dcp()) / piece->frc.factor(); } @@ -550,7 +554,7 @@ DCPTime Player::content_video_to_dcp(shared_ptr<const Piece> piece, Frame f) const { /* See comment in dcp_to_content_video */ - auto const d = DCPTime::from_frames(f * piece->frc.factor(), piece->frc.dcp) - DCPTime(piece->content->trim_start(), piece->frc); + auto const d = DCPTime::from_frames(f * piece->frc.factor(), piece->frc.dcp()) - DCPTime(piece->content->trim_start(), piece->frc); return d + piece->content->position(); } @@ -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/playlist.cc b/src/lib/playlist.cc index d3315a722..05c2a7e9e 100644 --- a/src/lib/playlist.cc +++ b/src/lib/playlist.cc @@ -730,12 +730,12 @@ Playlist::speed_up_range(int dcp_video_frame_rate) const } if (i->video_frame_rate()) { FrameRateChange const frc(i->video_frame_rate().get(), dcp_video_frame_rate); - range.first = min(range.first, frc.speed_up); - range.second = max(range.second, frc.speed_up); + range.first = min(range.first, frc.speed_up()); + range.second = max(range.second, frc.speed_up()); } else { FrameRateChange const frc(dcp_video_frame_rate, dcp_video_frame_rate); - range.first = min(range.first, frc.speed_up); - range.second = max(range.second, frc.speed_up); + range.first = min(range.first, frc.speed_up()); + range.second = max(range.second, frc.speed_up()); } } 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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 d8d43a137..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-03-23 22:33+0900\n" +"PO-Revision-Date: 2026-04-25 20:27+0900\n" "Last-Translator: \n" "Language-Team: \n" "Language: ja_JP\n" @@ -33,7 +33,7 @@ msgid "" "Cropped to {}x{}" msgstr "" "\n" -"トリミング: {}x{}" +"切り抜ãサイズ: {}x{}" #: src/lib/video_content.cc:467 #, c-format @@ -193,7 +193,7 @@ msgstr "; {} fps" #: src/lib/job.cc:633 msgid "; {} remaining; finishing at {}{}" -msgstr "" +msgstr "; 残り時間 {} ; 終了予定 {}{}" #: src/lib/analytics.cc:58 #, c-format @@ -210,17 +210,17 @@ msgid "" "href=\"https://dcpomatic.com/donate_amount?amount=10\">Go to Paypal to " "donate €10</a></ul><p>Thank you!</font>" msgstr "" -"<h2>{} を使用ã—㦠{} 個㮠DCP を作æˆã—ã¾ã—ãŸ!</h2><img width=\"20%%\" " -"src=\"memory:me.jpg\" align=\"center\"><font size=\"+1\"><p>ã“ã‚“ã«ã¡ã¯ã€‚ç§ã¯ " -"Carlã€{} ã®é–‹ç™ºè€…ã§ã™ã€‚ç§ã¯ç©ºã時間ã«ï¼ˆãƒ†ã‚¹ã‚¿ãƒ¼ã¨ç¿»è¨³è€…ã®ãƒœãƒ©ãƒ³ãƒ†ã‚£ã‚¢ ãƒãƒ¼ãƒ " -"ã®å”力を得ã¦ï¼‰{} ã®é–‹ç™ºã«å–り組んã§ãŠã‚Šã€ãƒ•リー ソフトウェアã¨ã—ã¦ãƒªãƒªãƒ¼ã‚¹ã—" -"ã¦ã„ã¾ã™ã€‚<p>{} ãŒå½¹ã«ç«‹ã¤ã¨æ€ã‚ã‚Œã‚‹å ´åˆã¯ã€ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã¸ã®å¯„ä»˜ã‚’ã”æ¤œè¨Žãã " -"ã•ã„。資金æ´åŠ©ã‚’ã—ã¦ã„ãŸã ã‘ã‚‹ã¨ã€{} ã®é–‹ç™ºã¨æ”¹å–„ã«ã•ã‚‰ã«æ™‚間を費やã™ã“ã¨ãŒã§" -"ãã¾ã™ã€‚<p><ul><li><a href=\"https://dcpomatic.com/donate_amount?" -"amount=40\">Paypal 㧠€40 を寄付</a><li><a href=\"https://dcpomatic.com/" -"donate_amount?amount=20\">Paypal 㧠€20 を寄付</a><li><a href=\"https://" -"dcpomatic.com/donate_amount?amount=10\">Paypal 㧠€10 を寄付</a></ul><p>ã‚り" -"ãŒã¨ã†ã”ã–ã„ã¾ã™ã€‚</font>" +"<h2>{}を使用ã—ã¦{}個ã®DCPを作æˆã—ã¾ã—ãŸ!</h2><img width=\"20%%\" " +"src=\"memory:me.jpg\" align=\"center\"><font size=\"+1\"><p>ã“ã‚“ã«ã¡ã¯ã€‚ç§ã¯" +"Carlã€{}ã®é–‹ç™ºè€…ã§ã™ã€‚ç§ã¯ç©ºã時間ã«ï¼ˆãƒ†ã‚¹ã‚¿ãƒ¼ã¨ç¿»è¨³è€…ã®ãƒœãƒ©ãƒ³ãƒ†ã‚£ã‚¢ ãƒãƒ¼ãƒ ã®" +"å”力を得ã¦ï¼‰{}ã®é–‹ç™ºã«å–り組んã§ãŠã‚Šã€ãƒ•リー ソフトウェアã¨ã—ã¦ãƒªãƒªãƒ¼ã‚¹ã—ã¦ã„" +"ã¾ã™ã€‚<p>{}ãŒå½¹ã«ç«‹ã¤ã¨æ€ã‚ã‚Œã‚‹å ´åˆã¯ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã¸ã®å¯„ä»˜ã‚’ã”æ¤œè¨Žãã ã•ã„。資" +"金æ´åŠ©ã‚’ã—ã¦ã„ãŸã ã‘ã‚‹ã¨ã€{}ã®é–‹ç™ºã¨æ”¹å–„ã«ã•ã‚‰ã«æ™‚間を費やã™ã“ã¨ãŒã§ãã¾ã™ã€‚" +"<p><ul><li><a href=\"https://dcpomatic.com/donate_amount?amount=40\">Paypalã§" +"€40 を寄付</a><li><a href=\"https://dcpomatic.com/donate_amount?" +"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 msgid "" @@ -530,9 +530,8 @@ msgid "Colourspace" msgstr "カラースペース" #: src/lib/combine_dcp_job.cc:48 -#, fuzzy msgid "Combine DCPs" -msgstr "DCPã‚’çµåˆ" +msgstr "複数ã®DCPã‚’çµåˆ" #: src/lib/writer.cc:522 #, fuzzy @@ -563,12 +562,16 @@ msgid "Content to be joined must all have or not have audio" msgstr "çµåˆã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯ã™ã¹ã¦éŸ³å£°ä»˜ãã¾ãŸã¯éŸ³å£°ãªã—ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™" #: src/lib/ffmpeg_content.cc:152 +#, fuzzy msgid "Content to be joined must all have or not have subtitles or captions" msgstr "" +"å‚åŠ ã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯å—幕ã¾ãŸã¯ã‚ャプションãŒã™ã¹ã¦ä»˜ã„ã¦ã„ã‚‹ã‹ã€ä»˜ã„ã¦ã„ãªã„" +"ã‹ã®ã„ãšã‚Œã‹ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚" #: src/lib/ffmpeg_content.cc:146 +#, fuzzy msgid "Content to be joined must all have or not have video" -msgstr "" +msgstr "å‚åŠ ã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯ã™ã¹ã¦å‹•画をå«ã‚€ã‹å«ã¾ãªã„ã‹ã®ã„ãšã‚Œã‹ã§ã‚る。" #: src/lib/text_content.cc:302 msgid "" @@ -610,7 +613,8 @@ msgstr "çµåˆã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯åŒã˜è‰²å¤‰æ›ã«ãªã£ã¦ã„ã‚‹å¿…è¦ãŒ #: src/lib/video_content.cc:215 msgid "Content to be joined must have the same crop." -msgstr "çµåˆã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯åŒã˜ãƒˆãƒªãƒŸãƒ³ã‚°ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚" +msgstr "" +"çµåˆã™ã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¯åŒã˜åˆ‡ã‚ŠæŠœã(クãƒãƒƒãƒ—)サイズã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚" #: src/lib/video_content.cc:219 msgid "Content to be joined must have the same custom ratio setting." @@ -943,9 +947,8 @@ msgid "Email problem report for {}" msgstr "{} ã®å•題レãƒãƒ¼ãƒˆã‚’メールã§é€ä¿¡" #: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:134 -#, fuzzy msgid "Encoding" -msgstr "エンコード済" +msgstr "エンコード進æ—" #: src/lib/dcp_content_type.cc:67 msgid "Episode" @@ -1330,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 {})" @@ -1779,15 +1782,14 @@ msgid "The file {} has been trimmed by {} milliseconds more." msgstr "{}ã¯ã•らã«ã«{}msçŸç¸®ã•れã¾ã—ãŸã€‚" #: src/lib/hints.cc:267 -#, fuzzy 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 " "really wants an old-style MPEG2 DCP." msgstr "" -"ヨーãƒãƒƒãƒ‘ã€ã‚ªãƒ¼ã‚¹ãƒˆãƒ©ãƒ©ã‚·ã‚¢ã€åŒ—ç±³ã®æ˜ 画館ã®å¤§å¤šæ•°ã¯ã€MPEG2ã§ã¯ãªãJPEG2000ã§" -"エンコードã•れãŸDCPを想定ã—ã¦ã„ã¾ã™ã€‚ã”åˆ©ç”¨äºˆå®šã®æ˜ ç”»é¤¨ãŒæœ¬å½“ã«æ—§å¼ã®MPEG2 " -"DCPã‚’å¿…è¦ã¨ã—ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’å¿…ãšã”確èªãã ã•ã„。" +"ヨーãƒãƒƒãƒ‘ãƒ»ã‚ªãƒ¼ã‚¹ãƒˆãƒ©ãƒ©ã‚·ã‚¢ãƒ»åŒ—ç±³ã®æ˜ 画館ã®å¤§å¤šæ•°ã¯MPEG2ã§ã¯ãªãJPEG2000ã§ã‚¨" +"ンコードã•れãŸDCPを想定ã—ã¦ã„ã¾ã™ã€‚ã”åˆ©ç”¨äºˆå®šã®æ˜ ç”»é¤¨ãŒæœ¬å½“ã«æ—§å¼ã®MPEG2 DCP" +"ã‚’å¿…è¦ã¨ã—ã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’å¿…ãšã”確èªãã ã•ã„。" #: src/lib/release_notes.cc:87 #, fuzzy @@ -2074,13 +2076,12 @@ msgstr "" "ンテンツã®ä¸€éƒ¨ã‚’削除ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚" #: src/lib/hints.cc:612 -#, fuzzy msgid "" "You have overlapping closed captions, which are not allowed in Interop " "DCPs. Change your DCP standard to SMPTE." msgstr "" -"å—幕ãŒé‡è¤‡ã—ã¦ã„ã¾ã™ãŒã€ã“れã¯ç›¸äº’é‹ç”¨å¯èƒ½ãªDCPã§ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“。DCPè¦" -"æ ¼ã‚’SMPTEã«å¤‰æ›´ã—ã¦ãã ã•ã„。" +"å—幕ãŒé‡è¤‡ã—ã¦ã„ã¾ã™ãŒã€ã“れã¯Interop DCPã§ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“。DCPè¦æ ¼ã‚’" +"SMPTEã«å¤‰æ›´ã—ã¦ãã ã•ã„。" #: src/lib/hints.cc:290 msgid "" @@ -2417,13 +2418,12 @@ msgstr "" "å½¢å¼ã®å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚" #: src/lib/film.cc:1829 -#, fuzzy msgid "" "{} had to change your settings for referring to DCPs as OV. Please review " "those settings to make sure they are what you want." msgstr "" -"{} 㯠DCP ã‚’ OV ã¨ã—ã¦å‚ç…§ã™ã‚‹ãŸã‚ã«è¨å®šã‚’変更ã™ã‚‹å¿…è¦ãŒã‚りã¾ã—ãŸã€‚è¨å®šã‚’確" -"èªã—ã€æ£ã—ã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。" +"{}ã¯DCPã‚’OVã¨ã—ã¦å‚ç…§ã™ã‚‹ãŸã‚ã«è¨å®šã‚’変更ã™ã‚‹å¿…è¦ãŒã‚りã¾ã—ãŸã€‚è¨å®šã‚’確èªã—ã€" +"æ£ã—ã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。" #: src/lib/film.cc:1795 #, fuzzy 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/text_ring_buffers.cc b/src/lib/text_ring_buffers.cc index e2be7bf41..3650bf6a0 100644 --- a/src/lib/text_ring_buffers.cc +++ b/src/lib/text_ring_buffers.cc @@ -28,17 +28,17 @@ using namespace dcpomatic; void -TextRingBuffers::put (PlayerText text, DCPTextTrack track, DCPTimePeriod period) +TextRingBuffers::put(PlayerText text, DCPTextTrack track, DCPTimePeriod period) { - boost::mutex::scoped_lock lm (_mutex); - _data.push_back (Data(text, track, period)); + boost::mutex::scoped_lock lm(_mutex); + _data.push_back(Data(text, track, period)); } optional<TextRingBuffers::Data> -TextRingBuffers::get () +TextRingBuffers::get() { - boost::mutex::scoped_lock lm (_mutex); + boost::mutex::scoped_lock lm(_mutex); if (_data.empty()) { return {}; } @@ -50,7 +50,7 @@ TextRingBuffers::get () void -TextRingBuffers::clear () +TextRingBuffers::clear() { - _data.clear (); + _data.clear(); } diff --git a/src/lib/text_ring_buffers.h b/src/lib/text_ring_buffers.h index 1f366fc0b..b924a9634 100644 --- a/src/lib/text_ring_buffers.h +++ b/src/lib/text_ring_buffers.h @@ -33,13 +33,13 @@ class TextRingBuffers { public: - void put (PlayerText text, DCPTextTrack track, dcpomatic::DCPTimePeriod period); + void put(PlayerText text, DCPTextTrack track, dcpomatic::DCPTimePeriod period); struct Data { - Data (PlayerText text_, DCPTextTrack track_, dcpomatic::DCPTimePeriod period_) - : text (text_) - , track (track_) - , period (period_) + Data(PlayerText text_, DCPTextTrack track_, dcpomatic::DCPTimePeriod period_) + : text(text_) + , track(track_) + , period(period_) {} PlayerText text; @@ -47,8 +47,8 @@ public: dcpomatic::DCPTimePeriod period; }; - boost::optional<Data> get (); - void clear (); + boost::optional<Data> get(); + void clear(); private: boost::mutex _mutex; diff --git a/src/lib/util.cc b/src/lib/util.cc index adc347ab1..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; } @@ -842,26 +842,6 @@ remap(shared_ptr<const AudioBuffers> input, int output_channels, AudioMapping ma } -size_t -utf8_strlen(string s) -{ - size_t const len = s.length(); - int N = 0; - for (size_t i = 0; i < len; ++i) { - unsigned char c = s[i]; - if ((c & 0xe0) == 0xc0) { - ++i; - } else if ((c & 0xf0) == 0xe0) { - i += 2; - } else if ((c & 0xf8) == 0xf0) { - i += 3; - } - ++N; - } - return N; -} - - /** @param size Size of picture that the subtitle will be overlaid onto */ void emit_subtitle_image(ContentTimePeriod period, dcp::TextImage sub, dcp::Size size, shared_ptr<TextDecoder> decoder) diff --git a/src/lib/util.h b/src/lib/util.h index aa003ff00..9863e5d94 100644 --- a/src/lib/util.h +++ b/src/lib/util.h @@ -84,7 +84,6 @@ extern std::string atmos_asset_filename(std::shared_ptr<dcp::AtmosAsset> asset, extern std::string careful_string_filter(std::string s, std::wstring allowed = L"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.+"); extern std::pair<int, int> audio_channel_types(std::list<int> mapped, int channels); extern std::shared_ptr<AudioBuffers> remap(std::shared_ptr<const AudioBuffers> input, int output_channels, AudioMapping map); -extern size_t utf8_strlen(std::string s); extern void emit_subtitle_image(dcpomatic::ContentTimePeriod period, dcp::TextImage sub, dcp::Size size, std::shared_ptr<TextDecoder> decoder); extern void copy_in_bits(boost::filesystem::path from, boost::filesystem::path to, std::function<void (float)>); extern dcp::Size scale_for_display(dcp::Size s, dcp::Size display_container, dcp::Size film_container, PixelQuanta quanta); diff --git a/src/lib/video_content.cc b/src/lib/video_content.cc index b6e350d34..25c0fac62 100644 --- a/src/lib/video_content.cc +++ b/src/lib/video_content.cc @@ -435,8 +435,10 @@ VideoContent::fade(shared_ptr<const Film> film, ContentTime time) const auto const fade_out_time = ContentTime::from_frames(fade_out(), vfr); auto const end = ContentTime::from_frames(length(), vfr) - _parent->trim_end(); auto const time_after_end_fade_start = time - (end - fade_out_time); + /* The first frame of the fade (at time 0) must have some fade */ + auto const fade_amount = time_after_end_fade_start + ContentTime::from_frames(1, vfr); if (time_after_end_fade_start > ContentTime()) { - return std::max(0.0, 1 - static_cast<double>(time_after_end_fade_start.get()) / fade_out_time.get()); + return std::max(0.0, 1 - static_cast<double>(fade_amount.get()) / fade_out_time.get()); } return {}; diff --git a/src/lib/video_mxf_content.cc b/src/lib/video_mxf_content.cc index a26c54473..1accd7a5c 100644 --- a/src/lib/video_mxf_content.cc +++ b/src/lib/video_mxf_content.cc @@ -41,8 +41,8 @@ using boost::optional; using namespace dcpomatic; -VideoMXFContent::VideoMXFContent (boost::filesystem::path path) - : Content (path) +VideoMXFContent::VideoMXFContent(boost::filesystem::path path) + : Content(path) { } @@ -51,12 +51,12 @@ VideoMXFContent::VideoMXFContent (boost::filesystem::path path) VideoMXFContent::VideoMXFContent(cxml::ConstNodePtr node, boost::optional<boost::filesystem::path> film_directory, int version) : Content(node, film_directory) { - video = VideoContent::from_xml (this, node, version, VideoRange::FULL); + video = VideoContent::from_xml(this, node, version, VideoRange::FULL); } bool -VideoMXFContent::valid_mxf (boost::filesystem::path path) +VideoMXFContent::valid_mxf(boost::filesystem::path path) { Kumu::DefaultLogSink().UnsetFilterFlag(Kumu::LOG_ALLOW_ALL); @@ -71,7 +71,7 @@ VideoMXFContent::valid_mxf (boost::filesystem::path path) try { Kumu::DefaultLogSink().SetFilterFlag(0); - dcp::StereoJ2KPictureAsset sp (path); + dcp::StereoJ2KPictureAsset sp(path); return true; } catch (dcp::MXFFileError& e) { @@ -88,33 +88,33 @@ VideoMXFContent::valid_mxf (boost::filesystem::path path) void VideoMXFContent::examine(shared_ptr<const Film> film, shared_ptr<Job> job, bool tolerant) { - job->set_progress_unknown (); + job->set_progress_unknown(); Content::examine(film, job, tolerant); - video.reset (new VideoContent (this)); + video.reset(new VideoContent(this)); auto examiner = make_shared<VideoMXFExaminer>(shared_from_this()); video->take_from_examiner(film, examiner); - video->unset_colour_conversion (); + video->unset_colour_conversion(); } string -VideoMXFContent::summary () const +VideoMXFContent::summary() const { return fmt::format(_("{} [video]"), path_summary()); } string -VideoMXFContent::technical_summary () const +VideoMXFContent::technical_summary() const { return Content::technical_summary() + " - " + video->technical_summary(); } string -VideoMXFContent::identifier () const +VideoMXFContent::identifier() const { return Content::identifier() + "_" + video->identifier(); } @@ -130,23 +130,23 @@ VideoMXFContent::as_xml(xmlpp::Element* element, bool with_paths, PathBehaviour DCPTime -VideoMXFContent::full_length (shared_ptr<const Film> film) const +VideoMXFContent::full_length(shared_ptr<const Film> film) const { - FrameRateChange const frc (film, shared_from_this()); - return DCPTime::from_frames (llrint(video->length_after_3d_combine() * frc.factor()), film->video_frame_rate()); + FrameRateChange const frc(film, shared_from_this()); + return DCPTime::from_frames(llrint(video->length_after_3d_combine() * frc.factor()), film->video_frame_rate()); } DCPTime -VideoMXFContent::approximate_length () const +VideoMXFContent::approximate_length() const { - return DCPTime::from_frames (video->length_after_3d_combine(), 24); + return DCPTime::from_frames(video->length_after_3d_combine(), 24); } void -VideoMXFContent::add_properties (shared_ptr<const Film> film, list<UserProperty>& p) const +VideoMXFContent::add_properties(shared_ptr<const Film> film, list<UserProperty>& p) const { - Content::add_properties (film, p); - video->add_properties (p); + Content::add_properties(film, p); + video->add_properties(p); } diff --git a/src/lib/video_mxf_content.h b/src/lib/video_mxf_content.h index 4c2d051b0..0383242d5 100644 --- a/src/lib/video_mxf_content.h +++ b/src/lib/video_mxf_content.h @@ -25,21 +25,21 @@ class VideoMXFContent : public Content { public: - VideoMXFContent (boost::filesystem::path path); - VideoMXFContent (cxml::ConstNodePtr node, boost::optional<boost::filesystem::path> film_directory, int version); + VideoMXFContent(boost::filesystem::path path); + VideoMXFContent(cxml::ConstNodePtr node, boost::optional<boost::filesystem::path> film_directory, int version); - std::shared_ptr<VideoMXFContent> shared_from_this () { + std::shared_ptr<VideoMXFContent> shared_from_this() { return std::dynamic_pointer_cast<VideoMXFContent>(Content::shared_from_this()); } - std::shared_ptr<const VideoMXFContent> shared_from_this () const { + std::shared_ptr<const VideoMXFContent> shared_from_this() const { return std::dynamic_pointer_cast<const VideoMXFContent>(Content::shared_from_this()); } void examine(std::shared_ptr<const Film> film, std::shared_ptr<Job> job, bool tolerant) override; - std::string summary () const override; - std::string technical_summary () const override; - std::string identifier () const override; + std::string summary() const override; + std::string technical_summary() const override; + std::string identifier() const override; void as_xml( xmlpp::Element* element, @@ -48,9 +48,9 @@ public: boost::optional<boost::filesystem::path> film_directory ) const override; - dcpomatic::DCPTime full_length (std::shared_ptr<const Film> film) const override; - dcpomatic::DCPTime approximate_length () const override; - void add_properties (std::shared_ptr<const Film> film, std::list<UserProperty>& p) const override; + dcpomatic::DCPTime full_length(std::shared_ptr<const Film> film) const override; + dcpomatic::DCPTime approximate_length() const override; + void add_properties(std::shared_ptr<const Film> film, std::list<UserProperty>& p) const override; - static bool valid_mxf (boost::filesystem::path path); + static bool valid_mxf(boost::filesystem::path path); }; 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/dcpomatic_verifier.cc b/src/tools/dcpomatic_verifier.cc index d24100ff3..c881019d8 100644 --- a/src/tools/dcpomatic_verifier.cc +++ b/src/tools/dcpomatic_verifier.cc @@ -33,6 +33,7 @@ #include "wx/file_dialog.h" #include "wx/i18n_setup.h" #include "wx/id.h" +#include "wx/wx_signal_manager.h" #include "wx/verify_dcp_progress_panel.h" #include "wx/verify_dcp_result_panel.h" #include "wx/wx_util.h" @@ -44,11 +45,13 @@ #include "lib/verify_dcp_job.h" #include "lib/util.h" #include "lib/variant.h" +#include "lib/version.h" #include <dcp/dcp.h> #include <dcp/search.h> #include <dcp/text_formatter.h> #include <dcp/verify_report.h> LIBDCP_DISABLE_WARNINGS +#include <wx/cmdline.h> #include <wx/evtloop.h> #include <wx/progdlg.h> #include <wx/wx.h> @@ -123,7 +126,7 @@ private: class DOMFrame : public wxFrame { public: - explicit DOMFrame(wxString const& title) + explicit DOMFrame(wxString const& title, bool start, vector<boost::filesystem::path> const& dcps_to_load) : wxFrame(nullptr, -1, title) /* Use a panel as the only child of the Frame so that we avoid the dark-grey background on Windows. @@ -145,7 +148,19 @@ public: auto dcp_sizer = new wxBoxSizer(wxHORIZONTAL); add_label_to_sizer(dcp_sizer, _overall_panel, _("DCPs"), true, 0, wxALIGN_CENTER_VERTICAL); - auto add = [this](wxWindow* parent) { + auto load_dcps = [this](vector<boost::filesystem::path> const& dcps) { + wxProgressDialog progress(variant::wx::dcpomatic(), _("Examining DCPs")); + vector<DCPPath> dcp_paths; + for (auto path: dcps) { + for (auto const& dcp: dcp::find_potential_dcps(path)) { + progress.Pulse(); + dcp_paths.push_back(DCPPath(dcp, _kdms)); + } + } + return dcp_paths; + }; + + auto add = [&load_dcps](wxWindow* parent) { #if wxCHECK_VERSION(3, 1, 4) DirDialog dialog(parent, _("Select DCP(s)"), wxDD_MULTIPLE, "AddVerifierInputPath"); #else @@ -153,15 +168,7 @@ public: #endif if (dialog.show()) { - wxProgressDialog progress(variant::wx::dcpomatic(), _("Examining DCPs")); - vector<DCPPath> paths; - for (auto path: dialog.paths()) { - for (auto const& dcp: dcp::find_potential_dcps(path)) { - progress.Pulse(); - paths.push_back(DCPPath(dcp, _kdms)); - } - } - return paths; + return load_dcps(dialog.paths()); } else { return std::vector<DCPPath>{}; } @@ -223,6 +230,12 @@ public: } catch (...) {} } } + + set_dcp_paths(load_dcps(dcps_to_load)); + _dcps->refresh(); + if (start) { + signal_manager->when_idle(boost::bind(&DOMFrame::verify_clicked, this)); + } } private: @@ -381,6 +394,14 @@ private: }; +static const wxCmdLineEntryDesc command_line_description[] = { + { wxCMD_LINE_SWITCH, "s", "start", "start verifying specified DCP(s)", wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL }, + { wxCMD_LINE_SWITCH, "v", "version", "show version", wxCMD_LINE_VAL_NONE, wxCMD_LINE_PARAM_OPTIONAL }, + { wxCMD_LINE_PARAM, 0, 0, "DCP to verify", wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL }, + { wxCMD_LINE_NONE, "", "", "", wxCmdLineParamType (0), 0 } +}; + + /** @class App * @brief The magic App class for wxWidgets. */ @@ -433,7 +454,10 @@ private: */ Config::drop(); - _frame = new DOMFrame(variant::wx::dcpomatic_verifier()); + signal_manager = new wxSignalManager(this); + Bind(wxEVT_IDLE, boost::bind(&App::idle, this, _1)); + + _frame = new DOMFrame(variant::wx::dcpomatic_verifier(), _start, _dcps_to_load); SetTopWindow(_frame); _frame->Maximize(); _frame->Show(); @@ -497,7 +521,41 @@ private: report_exception(); } + void OnInitCmdLine(wxCmdLineParser& parser) override + { + parser.SetDesc(command_line_description); + parser.SetSwitchChars(char_to_wx("-")); + } + + bool OnCmdLineParsed(wxCmdLineParser& parser) override + { + if (parser.Found(char_to_wx("version"))) { + std::cout << "dcpomatic version " << dcpomatic_version << " " << dcpomatic_git_commit << "\n"; + exit(EXIT_SUCCESS); + } + + _start = parser.Found(char_to_wx("start")); + for (auto i = 0UL; i < parser.GetParamCount(); ++i) { + auto const path = boost::filesystem::path(wx_to_std(parser.GetParam(0))); + if (path.filename_is_dot()) { + _dcps_to_load.push_back(path.parent_path()); + } else { + _dcps_to_load.push_back(path); + } + } + + return true; + } + + void idle(wxIdleEvent& ev) + { + signal_manager->ui_idle(); + ev.Skip(); + } + DOMFrame* _frame = nullptr; + bool _start = false; + std::vector<boost::filesystem::path> _dcps_to_load; }; 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..219ce742e 100644 --- a/src/tools/po/it_IT.po +++ b/src/tools/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-02-14 23:48+0100\n" +"POT-Creation-Date: 2026-04-12 11:50+0200\n" "PO-Revision-Date: 2018-09-30 16:31+0200\n" "Last-Translator: William Fanelli <william.f@impronte.com>\n" "Language-Team: \n" @@ -78,21 +78,21 @@ 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" @@ -125,7 +125,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" @@ -151,11 +151,11 @@ msgstr "&Strumenti" msgid "&View" msgstr "&Visualizza" -#: 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 "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 +#: src/tools/dcpomatic_playlist.cc:610 src/tools/dcpomatic_verifier.cc:261 #, fuzzy, c-format msgid "About %s" msgstr "Informazioni" @@ -191,7 +191,7 @@ msgstr "Aggiungi..." msgid "Add &KDM..." msgstr "&Aggiungi KDM..." -#: src/tools/dcpomatic_verifier.cc:180 +#: src/tools/dcpomatic_verifier.cc:187 #, fuzzy msgid "Add KDM..." msgstr "&Aggiungi 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 "" "Si è verificata un'eccezione: %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 "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 +#: src/tools/dcpomatic_playlist.cc:755 src/tools/dcpomatic_verifier.cc:508 #, fuzzy, c-format msgid "An unknown exception occurred. %s" msgstr "Si è verificata un'eccezione sconosciuta." @@ -317,7 +317,7 @@ msgstr "Il contenuto CPL non è criptato." 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 "Controlla aggiornamenti" -#: src/tools/dcpomatic_verifier.cc:362 +#: src/tools/dcpomatic_verifier.cc:375 msgid "Checking KDM" msgstr "" @@ -371,7 +371,7 @@ msgstr "Copia preferenze\tCtrl-C" msgid "Could not create folder to store film." msgstr "Impossibile creare la cartella per archiviare 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." @@ -421,7 +421,7 @@ msgid "" "%s." msgstr "Impossibile caricare 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 "Impossibile caricare KDM." @@ -470,7 +470,7 @@ msgstr "" "Impossibile leggere il file come KDM. Forse è formattato male, o non è una " "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." @@ -535,7 +535,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" @@ -544,7 +544,7 @@ msgstr "CPL" msgid "DCP-o-matic Encode Server" msgstr "DCP-o-MATIC Server per la Codifica" -#: 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 "" @@ -666,7 +666,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 "Seleziona il DCP da aprire" msgid "Select DCP to open as OV" msgstr "Seleziona il DCP da aprire come 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 "Seleziona KDM" @@ -991,7 +991,7 @@ msgstr "Seleziona il file DKDM" msgid "Select DKDM file" msgstr "Seleziona il 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" @@ -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." @@ -1231,7 +1231,7 @@ msgstr "" msgid "User manual..." msgstr "" -#: src/tools/dcpomatic_verifier.cc:201 +#: src/tools/dcpomatic_verifier.cc:208 #, fuzzy msgid "Verify" msgstr "Verifica DCP" @@ -1246,7 +1246,7 @@ msgstr "Verifica DCP" msgid "Verify DCP..." msgstr "Verifica DCP" -#: src/tools/dcpomatic_verifier.cc:187 +#: src/tools/dcpomatic_verifier.cc:194 msgid "Verify picture asset details" msgstr "" @@ -1258,7 +1258,7 @@ msgstr "" msgid "Video waveform..." msgstr "Forma d'onda 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/ja_JP.po b/src/tools/po/ja_JP.po index 2eba0daa6..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-03-23 22:51+0900\n" +"PO-Revision-Date: 2026-04-25 20:27+0900\n" "Last-Translator: \n" "Language-Team: \n" "Language: ja_JP\n" @@ -534,9 +534,8 @@ msgid "Creator" msgstr "作æˆè€…" #: src/tools/dcpomatic_playlist.cc:342 -#, fuzzy msgid "Crop" -msgstr "作物" +msgstr "切り抜ã" #: src/tools/dcpomatic_disk.cc:139 src/tools/dcpomatic_verifier.cc:172 msgid "DCP" @@ -547,7 +546,6 @@ msgid "DCP-o-matic Encode Server" msgstr "DCP-o-matic Encode Server" #: src/tools/dcpomatic_disk.cc:135 src/tools/dcpomatic_verifier.cc:146 -#, fuzzy msgid "DCPs" msgstr "DCP一覧" @@ -610,9 +608,9 @@ msgstr "" "示ã•れã¾ã—ãŸã‹? ãã®å ´åˆã¯ã€Œã¯ã„ã€ã‚’クリックã—ã¦ã‚‚ã†ä¸€åº¦ãŠè©¦ã—ãã ã•ã„。" #: src/tools/dcpomatic.cc:863 -#, fuzzy, c-format +#, c-format msgid "Do you want to overwrite the existing DCP %s?" -msgstr "æ—¢å˜ã® DCP %s を上書ãã—ã¾ã™ã‹?" +msgstr "æ—¢å˜ã®DCPを上書ãã—ã¾ã™ã‹ï¼Ÿ %s" #: src/tools/dcpomatic.cc:167 msgid "Don't close" @@ -816,14 +814,13 @@ msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆã‚’æ–°è¦ä½œæˆ" #: src/tools/dcpomatic_playlist.cc:257 msgid "New Playlist" -msgstr "プレイリストを新è¦ä½œæˆ" +msgstr "æ–°ã—ã„プレイリスト" #: src/tools/dcpomatic.cc:1360 msgid "New...\tCtrl-N" msgstr "æ–°è¦ä½œæˆ\tCtrl-N" #: src/tools/dcpomatic_disk.cc:93 -#, fuzzy msgid "" "No ASSETMAP or ASSETMAP.xml found in this folder. Please choose a DCP " "folder." @@ -1234,8 +1231,8 @@ msgid "" "Tick to check details of the picture asset, such as frame sizes and JPEG2000 " "bitstream validity. These checks are quite time-consuming." msgstr "" -"フレームサイズやJPEG2000ãƒ“ãƒƒãƒˆã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æœ‰åŠ¹æ€§ãªã©ã€ç”»åƒã‚¢ã‚»ãƒƒãƒˆã®è©³ç´°ã‚’確" -"èªã™ã‚‹ã«ã¯ãƒã‚§ãƒƒã‚¯ã‚’入れã¦ãã ã•ã„。ã“れらã®ãƒã‚§ãƒƒã‚¯ã«ã¯ã‹ãªã‚Šæ™‚é–“ãŒã‹ã‹ã‚Šã¾" +"フレームサイズやJPEG2000ãƒ“ãƒƒãƒˆã‚¹ãƒˆãƒªãƒ¼ãƒ ã®æœ‰åŠ¹æ€§ãªã©ã€ç”»åƒãƒ‡ãƒ¼ã‚¿ã®è©³ç´°ã‚’確èª" +"ã™ã‚‹ã«ã¯ãƒã‚§ãƒƒã‚¯ã‚’入れã¦ãã ã•ã„。ã“れらã®ãƒã‚§ãƒƒã‚¯ã«ã¯ã‹ãªã‚Šæ™‚é–“ãŒã‹ã‹ã‚Šã¾" "ã™ã€‚" #: src/tools/dcpomatic_player.cc:712 @@ -1291,9 +1288,8 @@ msgid "Verify DCP..." msgstr "DCPを検証" #: src/tools/dcpomatic_verifier.cc:187 -#, fuzzy msgid "Verify picture asset details" -msgstr "ç”»åƒã‚¢ã‚»ãƒƒãƒˆã®è©³ç´°ã‚’確èªã™ã‚‹" +msgstr "ç”»åƒãƒ‡ãƒ¼ã‚¿ã®è©³ç´°ã‚’確èªã™ã‚‹" #: src/tools/dcpomatic.cc:1437 msgid "Version File (VF)..." 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/audio_dialog.cc b/src/wx/audio_dialog.cc index e0fed493d..797c14356 100644 --- a/src/wx/audio_dialog.cc +++ b/src/wx/audio_dialog.cc @@ -59,12 +59,12 @@ using namespace boost::placeholders; * @param content Content to analyse, or 0 to analyse all of the film's audio. */ AudioDialog::AudioDialog(wxWindow* parent, shared_ptr<Film> film, shared_ptr<Content> content) - : wxDialog ( + : wxDialog( parent, wxID_ANY, _("Audio"), wxDefaultPosition, - wxSize (640, 512), + wxSize(640, 512), #ifdef DCPOMATIC_OSX /* I can't get wxFRAME_FLOAT_ON_PARENT to work on OS X, and although wxSTAY_ON_TOP keeps the window above all others (and not just our own) it's better than nothing for now. @@ -74,57 +74,57 @@ AudioDialog::AudioDialog(wxWindow* parent, shared_ptr<Film> film, shared_ptr<Con wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxFULL_REPAINT_ON_RESIZE | wxFRAME_FLOAT_ON_PARENT #endif ) - , _film (film) - , _content (content) - , _channels (film->audio_channels ()) - , _plot (nullptr) + , _film(film) + , _content(content) + , _channels(film->audio_channels()) + , _plot(nullptr) { - wxFont subheading_font (*wxNORMAL_FONT); - subheading_font.SetWeight (wxFONTWEIGHT_BOLD); + wxFont subheading_font(*wxNORMAL_FONT); + subheading_font.SetWeight(wxFONTWEIGHT_BOLD); - auto overall_sizer = new wxBoxSizer (wxVERTICAL); - auto lr_sizer = new wxBoxSizer (wxHORIZONTAL); + auto overall_sizer = new wxBoxSizer(wxVERTICAL); + auto lr_sizer = new wxBoxSizer(wxHORIZONTAL); - auto left = new wxBoxSizer (wxVERTICAL); + auto left = new wxBoxSizer(wxVERTICAL); _cursor = new StaticText(this, char_to_wx("Cursor: none")); - left->Add (_cursor, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); + left->Add(_cursor, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); _plot = new AudioPlot(this); - left->Add (_plot, 1, wxTOP | wxEXPAND, 12); + left->Add(_plot, 1, wxTOP | wxEXPAND, 12); _sample_peak = new StaticText(this, {}); - left->Add (_sample_peak, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); + left->Add(_sample_peak, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); _true_peak = new StaticText(this, {}); - left->Add (_true_peak, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); + left->Add(_true_peak, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); _integrated_loudness = new StaticText(this, {}); - left->Add (_integrated_loudness, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); + left->Add(_integrated_loudness, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); _loudness_range = new StaticText(this, {}); - left->Add (_loudness_range, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); + left->Add(_loudness_range, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); _leqm = new StaticText(this, {}); - left->Add (_leqm, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); + left->Add(_leqm, 0, wxTOP, DCPOMATIC_SIZER_Y_GAP); - lr_sizer->Add (left, 1, wxALL | wxEXPAND, 12); + lr_sizer->Add(left, 1, wxALL | wxEXPAND, 12); - auto right = new wxBoxSizer (wxVERTICAL); + auto right = new wxBoxSizer(wxVERTICAL); { - auto m = new StaticText (this, _("Channels")); - m->SetFont (subheading_font); - right->Add (m, 1, wxTOP | wxBOTTOM, 16); + auto m = new StaticText(this, _("Channels")); + m->SetFont(subheading_font); + right->Add(m, 1, wxTOP | wxBOTTOM, 16); } for (int i = 0; i < MAX_DCP_AUDIO_CHANNELS; ++i) { - _channel_checkbox[i] = new CheckBox (this, std_to_wx(audio_channel_name(i))); + _channel_checkbox[i] = new CheckBox(this, std_to_wx(audio_channel_name(i))); _channel_checkbox[i]->SetForegroundColour(wxColour(_plot->colour(i))); - right->Add (_channel_checkbox[i], 0, wxEXPAND | wxALL, 3); + right->Add(_channel_checkbox[i], 0, wxEXPAND | wxALL, 3); _channel_checkbox[i]->bind(&AudioDialog::channel_clicked, this, _1); } - show_or_hide_channel_checkboxes (); + show_or_hide_channel_checkboxes(); { - auto m = new StaticText (this, _("Type")); - m->SetFont (subheading_font); - right->Add (m, 1, wxTOP, 16); + auto m = new StaticText(this, _("Type")); + m->SetFont(subheading_font); + right->Add(m, 1, wxTOP, 16); } wxString const types[] = { @@ -133,39 +133,39 @@ AudioDialog::AudioDialog(wxWindow* parent, shared_ptr<Film> film, shared_ptr<Con }; for (int i = 0; i < AudioPoint::COUNT; ++i) { - _type_checkbox[i] = new CheckBox (this, types[i]); - right->Add (_type_checkbox[i], 0, wxEXPAND | wxALL, 3); + _type_checkbox[i] = new CheckBox(this, types[i]); + right->Add(_type_checkbox[i], 0, wxEXPAND | wxALL, 3); _type_checkbox[i]->bind(&AudioDialog::type_clicked, this, _1); } { - auto m = new StaticText (this, _("Smoothing")); - m->SetFont (subheading_font); - right->Add (m, 1, wxTOP, 16); + auto m = new StaticText(this, _("Smoothing")); + m->SetFont(subheading_font); + right->Add(m, 1, wxTOP, 16); } - _smoothing = new wxSlider (this, wxID_ANY, AudioPlot::max_smoothing / 2, 1, AudioPlot::max_smoothing); - _smoothing->Bind (wxEVT_SCROLL_THUMBTRACK, boost::bind (&AudioDialog::smoothing_changed, this)); - right->Add (_smoothing, 0, wxEXPAND); + _smoothing = new wxSlider(this, wxID_ANY, AudioPlot::max_smoothing / 2, 1, AudioPlot::max_smoothing); + _smoothing->Bind(wxEVT_SCROLL_THUMBTRACK, boost::bind(&AudioDialog::smoothing_changed, this)); + right->Add(_smoothing, 0, wxEXPAND); - lr_sizer->Add (right, 0, wxALL, 12); + lr_sizer->Add(right, 0, wxALL, 12); - overall_sizer->Add (lr_sizer, 0, wxEXPAND); + overall_sizer->Add(lr_sizer, 0, wxEXPAND); #ifdef DCPOMATIC_LINUX - auto buttons = CreateSeparatedButtonSizer (wxCLOSE); + auto buttons = CreateSeparatedButtonSizer(wxCLOSE); if (buttons) { - overall_sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder()); + overall_sizer->Add(buttons, wxSizerFlags().Expand().DoubleBorder()); } #endif - SetSizer (overall_sizer); - overall_sizer->Layout (); - overall_sizer->SetSizeHints (this); + SetSizer(overall_sizer); + overall_sizer->Layout(); + overall_sizer->SetSizeHints(this); _plot->Click.connect(boost::ref(Seek)); - _film_connection = film->Change.connect (boost::bind(&AudioDialog::film_change, this, _1, _2)); + _film_connection = film->Change.connect(boost::bind(&AudioDialog::film_change, this, _1, _2)); _film_content_connection = film->ContentChange.connect(boost::bind(&AudioDialog::content_change, this, _1, _2)); if (content) { SetTitle(wxString::Format(_("%s audio - %s"), variant::wx::dcpomatic(), std_to_wx(content->path_for_display().string()))); @@ -179,80 +179,80 @@ AudioDialog::AudioDialog(wxWindow* parent, shared_ptr<Film> film, shared_ptr<Con _playlist = make_shared<Playlist>(); const_pointer_cast<Playlist>(_playlist)->add(film, content); } else { - _playlist = film->playlist (); + _playlist = film->playlist(); } - _plot->Cursor.connect (bind (&AudioDialog::set_cursor, this, _1, _2)); + _plot->Cursor.connect(bind(&AudioDialog::set_cursor, this, _1, _2)); } void -AudioDialog::show_or_hide_channel_checkboxes () +AudioDialog::show_or_hide_channel_checkboxes() { for (int i = 0; i < _channels; ++i) { - _channel_checkbox[i]->Show (); + _channel_checkbox[i]->Show(); } for (int i = _channels; i < MAX_DCP_AUDIO_CHANNELS; ++i) { - _channel_checkbox[i]->Hide (); + _channel_checkbox[i]->Hide(); } } void -AudioDialog::try_to_load_analysis () +AudioDialog::try_to_load_analysis() { - if (!IsShown ()) { + if (!IsShown()) { return; } - auto film = _film.lock (); - DCPOMATIC_ASSERT (film); + auto film = _film.lock(); + DCPOMATIC_ASSERT(film); auto check = _content.lock(); - auto const path = film->audio_analysis_path (_playlist); + auto const path = film->audio_analysis_path(_playlist); if (!dcp::filesystem::exists(path)) { - _plot->set_analysis (shared_ptr<AudioAnalysis> ()); - _analysis.reset (); + _plot->set_analysis(shared_ptr<AudioAnalysis>()); + _analysis.reset(); for (auto i: JobManager::instance()->get()) { if (dynamic_pointer_cast<AnalyseAudioJob>(i)) { - i->cancel (); + i->cancel(); } } - JobManager::instance()->analyse_audio ( - film, _playlist, !static_cast<bool>(check), _analysis_finished_connection, bind (&AudioDialog::analysis_finished, this) + JobManager::instance()->analyse_audio( + film, _playlist, !static_cast<bool>(check), _analysis_finished_connection, bind(&AudioDialog::analysis_finished, this) ); return; } try { - _analysis.reset (new AudioAnalysis (path)); + _analysis.reset(new AudioAnalysis(path)); } catch (OldFormatError& e) { /* An old analysis file: recreate it */ - JobManager::instance()->analyse_audio ( - film, _playlist, !static_cast<bool>(check), _analysis_finished_connection, bind (&AudioDialog::analysis_finished, this) + JobManager::instance()->analyse_audio( + film, _playlist, !static_cast<bool>(check), _analysis_finished_connection, bind(&AudioDialog::analysis_finished, this) ); return; } catch (xmlpp::exception& e) { /* Probably a (very) old-style analysis file: recreate it */ - JobManager::instance()->analyse_audio ( - film, _playlist, !static_cast<bool>(check), _analysis_finished_connection, bind (&AudioDialog::analysis_finished, this) + JobManager::instance()->analyse_audio( + film, _playlist, !static_cast<bool>(check), _analysis_finished_connection, bind(&AudioDialog::analysis_finished, this) ); return; } - _plot->set_analysis (_analysis); - _plot->set_gain_correction (_analysis->gain_correction (_playlist)); - setup_statistics (); - show_or_hide_channel_checkboxes (); + _plot->set_analysis(_analysis); + _plot->set_gain_correction(_analysis->gain_correction(_playlist)); + setup_statistics(); + show_or_hide_channel_checkboxes(); /* Set up some defaults if no check boxes are checked */ int i = 0; - while (i < _channels && (!_channel_checkbox[i] || !_channel_checkbox[i]->GetValue ())) { + while (i < _channels && (!_channel_checkbox[i] || !_channel_checkbox[i]->GetValue())) { ++i; } @@ -260,41 +260,41 @@ AudioDialog::try_to_load_analysis () /* Nothing checked; check mapped ones */ list<int> mapped; - auto content = _content.lock (); + auto content = _content.lock(); if (content) { - mapped = content->audio->mapping().mapped_output_channels (); + mapped = content->audio->mapping().mapped_output_channels(); } else { - mapped = film->mapped_audio_channels (); + mapped = film->mapped_audio_channels(); } for (auto i: mapped) { if (_channel_checkbox[i]) { - _channel_checkbox[i]->SetValue (true); - _plot->set_channel_visible (i, true); + _channel_checkbox[i]->SetValue(true); + _plot->set_channel_visible(i, true); } } } i = 0; - while (i < AudioPoint::COUNT && !_type_checkbox[i]->GetValue ()) { + while (i < AudioPoint::COUNT && !_type_checkbox[i]->GetValue()) { i++; } if (i == AudioPoint::COUNT) { for (int i = 0; i < AudioPoint::COUNT; ++i) { - _type_checkbox[i]->SetValue (true); - _plot->set_type_visible (i, true); + _type_checkbox[i]->SetValue(true); + _plot->set_type_visible(i, true); } } - Refresh (); + Refresh(); } void -AudioDialog::analysis_finished () +AudioDialog::analysis_finished() { - auto film = _film.lock (); + auto film = _film.lock(); if (!film) { /* This should not happen, but if it does we should just give up quietly */ return; @@ -304,24 +304,24 @@ AudioDialog::analysis_finished () /* We analysed and still nothing showed up, so maybe it was cancelled or it failed. Give up. */ - _plot->set_message (_("Could not analyse audio.")); + _plot->set_message(_("Could not analyse audio.")); return; } - try_to_load_analysis (); + try_to_load_analysis(); } void -AudioDialog::channel_clicked (wxCommandEvent& ev) +AudioDialog::channel_clicked(wxCommandEvent& ev) { int c = 0; while (c < _channels && ev.GetEventObject() != _channel_checkbox[c]) { ++c; } - DCPOMATIC_ASSERT (c < _channels); + DCPOMATIC_ASSERT(c < _channels); - _plot->set_channel_visible (c, _channel_checkbox[c]->GetValue ()); + _plot->set_channel_visible(c, _channel_checkbox[c]->GetValue()); } void @@ -332,16 +332,16 @@ AudioDialog::film_change(ChangeType type, FilmProperty p) } if (p == FilmProperty::AUDIO_CHANNELS) { - auto film = _film.lock (); + auto film = _film.lock(); if (film) { - _channels = film->audio_channels (); - try_to_load_analysis (); + _channels = film->audio_channels(); + try_to_load_analysis(); } } } void -AudioDialog::content_change (ChangeType type, int p) +AudioDialog::content_change(ChangeType type, int p) { if (type != ChangeType::DONE) { return; @@ -349,61 +349,61 @@ AudioDialog::content_change (ChangeType type, int p) switch (p) { case AudioContentProperty::STREAMS: - try_to_load_analysis (); + try_to_load_analysis(); break; case AudioContentProperty::GAIN: if (_playlist->content().size() == 1 && _analysis) { /* We can use a short-cut to render the effect of this change, rather than recalculating everything. */ - _plot->set_gain_correction (_analysis->gain_correction (_playlist)); - setup_statistics (); + _plot->set_gain_correction(_analysis->gain_correction(_playlist)); + setup_statistics(); } else { - try_to_load_analysis (); + try_to_load_analysis(); } break; } } void -AudioDialog::type_clicked (wxCommandEvent& ev) +AudioDialog::type_clicked(wxCommandEvent& ev) { int t = 0; while (t < AudioPoint::COUNT && ev.GetEventObject() != _type_checkbox[t]) { ++t; } - DCPOMATIC_ASSERT (t < AudioPoint::COUNT); + DCPOMATIC_ASSERT(t < AudioPoint::COUNT); - _plot->set_type_visible (t, _type_checkbox[t]->GetValue ()); + _plot->set_type_visible(t, _type_checkbox[t]->GetValue()); } void -AudioDialog::smoothing_changed () +AudioDialog::smoothing_changed() { - _plot->set_smoothing (_smoothing->GetValue ()); + _plot->set_smoothing(_smoothing->GetValue()); } void -AudioDialog::setup_statistics () +AudioDialog::setup_statistics() { if (!_analysis) { return; } - auto film = _film.lock (); + auto film = _film.lock(); if (!film) { return; } - auto const peak = _analysis->overall_sample_peak (); + auto const peak = _analysis->overall_sample_peak(); float const peak_dB = linear_to_db(peak.first.peak) + _analysis->gain_correction(_playlist); - _sample_peak->SetLabel ( - wxString::Format ( + _sample_peak->SetLabel( + wxString::Format( _("Sample peak is %.2fdB at %s on %s"), peak_dB, - time_to_timecode (peak.first.time, film->video_frame_rate ()).data (), - std_to_wx (short_audio_channel_name (peak.second)).data () + time_to_timecode(peak.first.time, film->video_frame_rate()).data(), + std_to_wx(short_audio_channel_name(peak.second)).data() ) ); @@ -420,7 +420,7 @@ AudioDialog::setup_statistics () float const peak = _analysis->overall_true_peak().get(); float const peak_dB = linear_to_db(peak) + _analysis->gain_correction(_playlist); - _true_peak->SetLabel (wxString::Format (_("True peak is %.2fdB"), peak_dB)); + _true_peak->SetLabel(wxString::Format(_("True peak is %.2fdB"), peak_dB)); if (peak_dB > -3) { _true_peak->SetForegroundColour(peaking); @@ -432,19 +432,19 @@ AudioDialog::setup_statistics () /* XXX: check whether it's ok to add dB gain to these quantities */ if (static_cast<bool>(_analysis->integrated_loudness())) { - _integrated_loudness->SetLabel ( - wxString::Format ( + _integrated_loudness->SetLabel( + wxString::Format( _("Integrated loudness %.2f LUFS"), - _analysis->integrated_loudness().get() + _analysis->gain_correction (_playlist) + _analysis->integrated_loudness().get() + _analysis->gain_correction(_playlist) ) ); } if (static_cast<bool>(_analysis->loudness_range())) { - _loudness_range->SetLabel ( - wxString::Format ( + _loudness_range->SetLabel( + wxString::Format( _("Loudness range %.2f LU"), - _analysis->loudness_range().get() + _analysis->gain_correction (_playlist) + _analysis->loudness_range().get() + _analysis->gain_correction(_playlist) ) ); } @@ -459,22 +459,22 @@ AudioDialog::setup_statistics () } bool -AudioDialog::Show (bool show) +AudioDialog::Show(bool show) { - bool const r = wxDialog::Show (show); - try_to_load_analysis (); + bool const r = wxDialog::Show(show); + try_to_load_analysis(); return r; } void -AudioDialog::set_cursor (optional<DCPTime> time, optional<float> db) +AudioDialog::set_cursor(optional<DCPTime> time, optional<float> db) { if (!time || !db) { - _cursor->SetLabel (_("Cursor: none")); + _cursor->SetLabel(_("Cursor: none")); return; } auto film = _film.lock(); - DCPOMATIC_ASSERT (film); + DCPOMATIC_ASSERT(film); _cursor->SetLabel(wxString::Format(_("Cursor: %.1fdB at %s"), *db, std_to_wx(time->timecode(film->video_frame_rate())))); } diff --git a/src/wx/audio_dialog.h b/src/wx/audio_dialog.h index 2085a7220..d4a8a9b00 100644 --- a/src/wx/audio_dialog.h +++ b/src/wx/audio_dialog.h @@ -49,22 +49,22 @@ class AudioDialog : public wxDialog public: AudioDialog(wxWindow* parent, std::shared_ptr<Film> film, std::shared_ptr<Content> content = std::shared_ptr<Content>()); - bool Show (bool show = true) override; + bool Show(bool show = true) override; - void set_cursor (boost::optional<dcpomatic::DCPTime> time, boost::optional<float> db); + void set_cursor(boost::optional<dcpomatic::DCPTime> time, boost::optional<float> db); boost::signals2::signal<void (dcpomatic::DCPTime)> Seek; private: void film_change(ChangeType, FilmProperty); - void content_change (ChangeType, int); - void channel_clicked (wxCommandEvent &); - void type_clicked (wxCommandEvent &); - void smoothing_changed (); - void try_to_load_analysis (); - void analysis_finished (); - void setup_statistics (); - void show_or_hide_channel_checkboxes (); + void content_change(ChangeType, int); + void channel_clicked(wxCommandEvent &); + void type_clicked(wxCommandEvent &); + void smoothing_changed(); + void try_to_load_analysis(); + void analysis_finished(); + void setup_statistics(); + void show_or_hide_channel_checkboxes(); std::shared_ptr<AudioAnalysis> _analysis; std::weak_ptr<Film> _film; 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/editable_list.h b/src/wx/editable_list.h index 4b0a48f44..ede66da1c 100644 --- a/src/wx/editable_list.h +++ b/src/wx/editable_list.h @@ -36,15 +36,15 @@ LIBDCP_ENABLE_WARNINGS class EditableListColumn { public: - EditableListColumn (wxString name_) - : name (name_) - , growable (false) + EditableListColumn(wxString name_) + : name(name_) + , growable(false) {} - EditableListColumn (wxString name_, boost::optional<int> width_, bool growable_) - : name (name_) - , width (width_) - , growable (growable_) + EditableListColumn(wxString name_, boost::optional<int> width_, bool growable_) + : name(name_) + , width(width_) + , growable(growable_) {} wxString name; @@ -77,7 +77,7 @@ template<class T> class EditableList : public wxPanel { public: - EditableList ( + EditableList( wxWindow* parent, std::vector<EditableListColumn> columns, std::function<std::vector<T> ()> get, @@ -89,17 +89,17 @@ public: int buttons, boost::optional<wxString> custom_button = {} ) - : wxPanel (parent) - , _get (get) - , _set (set) + : wxPanel(parent) + , _get(get) + , _set(set) , _add(add) , _edit(edit) - , _columns (columns) - , _column (column) - , _default_width (200) + , _columns(columns) + , _column(column) + , _default_width(200) { - _sizer = new wxBoxSizer (wxHORIZONTAL); - SetSizer (_sizer); + _sizer = new wxBoxSizer(wxHORIZONTAL); + SetSizer(_sizer); long style = wxLC_REPORT | wxLC_SINGLE_SEL; if (title == EditableListTitle::INVISIBLE) { @@ -108,18 +108,18 @@ public: int total_width = 0; for (auto i: _columns) { - total_width += i.width.get_value_or (_default_width); + total_width += i.width.get_value_or(_default_width); } #ifdef __WXGTK3__ /* With the GTK3 backend wxListCtrls are hard to pick out from the background of the * window, so put a border in to help. */ - auto border = new wxPanel (this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxBORDER_THEME); + auto border = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL | wxBORDER_THEME); _list = new wxListCtrl(border, wxID_ANY, wxDefaultPosition, wxSize(total_width, -1), style); - auto border_sizer = new wxBoxSizer (wxHORIZONTAL); - border_sizer->Add (_list, 1, wxALL | wxEXPAND, 2); - border->SetSizer (border_sizer); + auto border_sizer = new wxBoxSizer(wxHORIZONTAL); + border_sizer->Add(_list, 1, wxALL | wxEXPAND, 2); + border->SetSizer(border_sizer); #else _list = new wxListCtrl(this, wxID_ANY, wxDefaultPosition, wxSize(total_width, -1), style); #endif @@ -127,20 +127,20 @@ public: int j = 0; for (auto i: _columns) { wxListItem ip; - ip.SetId (j); - ip.SetText (i.name); - _list->InsertColumn (j, ip); + ip.SetId(j); + ip.SetText(i.name); + _list->InsertColumn(j, ip); ++j; } #ifdef __WXGTK3__ - _sizer->Add (border, 1, wxEXPAND); + _sizer->Add(border, 1, wxEXPAND); #else - _sizer->Add (_list, 1, wxEXPAND); + _sizer->Add(_list, 1, wxEXPAND); #endif { - auto s = new wxBoxSizer (wxVERTICAL); + auto s = new wxBoxSizer(wxVERTICAL); if (buttons & EditableListButton::NEW) { _add_button = new Button(this, _("Add...")); s->Add(_add_button, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP); @@ -157,7 +157,7 @@ public: _remove_button = new Button(this, _("Remove")); s->Add(_remove_button, 1, wxEXPAND | wxTOP | wxBOTTOM, DCPOMATIC_BUTTON_STACK_GAP); } - _sizer->Add (s, 0, wxLEFT, DCPOMATIC_SIZER_X_GAP); + _sizer->Add(s, 0, wxLEFT, DCPOMATIC_SIZER_X_GAP); } if (_add_button) { @@ -170,43 +170,43 @@ public: _remove_button->Bind(wxEVT_COMMAND_BUTTON_CLICKED, boost::bind(&EditableList::remove_clicked, this)); } - _list->Bind (wxEVT_COMMAND_LIST_ITEM_SELECTED, boost::bind (&EditableList::selection_changed, this)); - _list->Bind (wxEVT_COMMAND_LIST_ITEM_DESELECTED, boost::bind (&EditableList::selection_changed, this)); + _list->Bind(wxEVT_COMMAND_LIST_ITEM_SELECTED, boost::bind(&EditableList::selection_changed, this)); + _list->Bind(wxEVT_COMMAND_LIST_ITEM_DESELECTED, boost::bind(&EditableList::selection_changed, this)); #if BOOST_VERSION >= 106100 - _list->Bind (wxEVT_SIZE, boost::bind (&EditableList::resized, this, boost::placeholders::_1)); + _list->Bind(wxEVT_SIZE, boost::bind(&EditableList::resized, this, boost::placeholders::_1)); #else - _list->Bind (wxEVT_SIZE, boost::bind (&EditableList::resized, this, _1)); + _list->Bind(wxEVT_SIZE, boost::bind(&EditableList::resized, this, _1)); #endif - refresh (); - selection_changed (); + refresh(); + selection_changed(); } - void refresh () + void refresh() { - _list->DeleteAllItems (); + _list->DeleteAllItems(); - auto current = _get (); + auto current = _get(); for (auto const& i: current) { - add_to_control (i); + add_to_control(i); } } - boost::optional<T> selection () const + boost::optional<T> selection() const { - int item = _list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + int item = _list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (item == -1) { return {}; } - auto all = _get (); - DCPOMATIC_ASSERT (item >= 0 && item < int (all.size ())); + auto all = _get(); + DCPOMATIC_ASSERT(item >= 0 && item < int(all.size())); return all[item]; } - void layout () + void layout() { - _sizer->Layout (); + _sizer->Layout(); } Button* custom_button() @@ -244,21 +244,21 @@ public: private: - void add_to_control (T item) + void add_to_control(T item) { wxListItem list_item; - int const n = _list->GetItemCount (); - list_item.SetId (n); - _list->InsertItem (list_item); + int const n = _list->GetItemCount(); + list_item.SetId(n); + _list->InsertItem(list_item); for (size_t i = 0; i < _columns.size(); ++i) { - _list->SetItem (n, i, std_to_wx (_column (item, i))); + _list->SetItem(n, i, std_to_wx(_column(item, i))); } } - void selection_changed () + void selection_changed() { - int const i = _list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + int const i = _list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (_edit_button) { _edit_button->Enable(i >= 0); } @@ -266,10 +266,10 @@ private: _remove_button->Enable(i >= 0); } - SelectionChanged (); + SelectionChanged(); } - void add_clicked () + void add_clicked() { auto all = _get(); for (auto item: _add(this)) { @@ -279,41 +279,41 @@ private: _set(all); } - void edit_clicked () + void edit_clicked() { - int item = _list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + int item = _list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (item == -1) { return; } - std::vector<T> all = _get (); - DCPOMATIC_ASSERT (item >= 0 && item < int (all.size ())); + std::vector<T> all = _get(); + DCPOMATIC_ASSERT(item >= 0 && item < int(all.size())); _edit(this, all[item]); for (size_t i = 0; i < _columns.size(); ++i) { - _list->SetItem (item, i, std_to_wx (_column (all[item], i))); + _list->SetItem(item, i, std_to_wx(_column(all[item], i))); } - _set (all); + _set(all); } - void remove_clicked () + void remove_clicked() { - int i = _list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + int i = _list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (i == -1) { return; } - _list->DeleteItem (i); - auto all = _get (); - all.erase (all.begin() + i); - _set (all); + _list->DeleteItem(i); + auto all = _get(); + all.erase(all.begin() + i); + _set(all); - selection_changed (); + selection_changed(); } - void resized (wxSizeEvent& ev) + void resized(wxSizeEvent& ev) { int const w = _list->GetSize().GetWidth() - 2; @@ -321,9 +321,9 @@ private: int growable = 0; int j = 0; for (auto i: _columns) { - fixed_width += i.width.get_value_or (_default_width); + fixed_width += i.width.get_value_or(_default_width); if (!i.growable) { - _list->SetColumnWidth (j, i.width.get_value_or(_default_width)); + _list->SetColumnWidth(j, i.width.get_value_or(_default_width)); } else { ++growable; } @@ -333,12 +333,12 @@ private: j = 0; for (auto i: _columns) { if (i.growable) { - _list->SetColumnWidth (j, i.width.get_value_or(_default_width) + (w - fixed_width) / growable); + _list->SetColumnWidth(j, i.width.get_value_or(_default_width) + (w - fixed_width) / growable); } ++j; } - ev.Skip (); + ev.Skip(); } std::function <std::vector<T> ()> _get; 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/full_language_tag_dialog.cc b/src/wx/full_language_tag_dialog.cc index 89987715a..0d0936696 100644 --- a/src/wx/full_language_tag_dialog.cc +++ b/src/wx/full_language_tag_dialog.cc @@ -52,76 +52,75 @@ using namespace boost::placeholders; #endif -FullLanguageTagDialog::FullLanguageTagDialog (wxWindow* parent, dcp::LanguageTag tag) - : wxDialog (parent, wxID_ANY, _("Language Tag"), wxDefaultPosition, wxSize(-1, 500)) +FullLanguageTagDialog::FullLanguageTagDialog(wxWindow* parent, dcp::LanguageTag tag) + : wxDialog(parent, wxID_ANY, _("Language Tag"), wxDefaultPosition, wxSize(-1, 500)) { - _current_tag_list = new wxListCtrl (this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT | wxLC_SINGLE_SEL | wxLC_NO_HEADER); + _current_tag_list = new wxListCtrl(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLC_REPORT | wxLC_SINGLE_SEL | wxLC_NO_HEADER); _current_tag_list->AppendColumn({}, wxLIST_FORMAT_LEFT, 200); _current_tag_list->AppendColumn({}, wxLIST_FORMAT_LEFT, 400); - auto button_sizer = new wxBoxSizer (wxVERTICAL); + auto button_sizer = new wxBoxSizer(wxVERTICAL); _add_script = new wxButton(this, wxID_ANY, _("Add script")); - button_sizer->Add (_add_script, 0, wxTOP | wxBOTTOM | wxEXPAND, 2); + button_sizer->Add(_add_script, 0, wxTOP | wxBOTTOM | wxEXPAND, 2); _add_region = new wxButton(this, wxID_ANY, _("Add region")); - button_sizer->Add (_add_region, 0, wxTOP | wxBOTTOM | wxEXPAND, 2); + button_sizer->Add(_add_region, 0, wxTOP | wxBOTTOM | wxEXPAND, 2); _add_variant = new wxButton(this, wxID_ANY, _("Add variant")); - button_sizer->Add (_add_variant, 0, wxTOP | wxBOTTOM | wxEXPAND, 2); + button_sizer->Add(_add_variant, 0, wxTOP | wxBOTTOM | wxEXPAND, 2); _add_extended = new wxButton(this, wxID_ANY, _("Add extended")); button_sizer->Add(_add_extended, 0, wxTOP | wxBOTTOM | wxEXPAND, 2); _remove = new wxButton(this, wxID_ANY, _("Remove")); - button_sizer->Add (_remove, 0, wxTOP | wxBOTTOM | wxEXPAND, 2); + button_sizer->Add(_remove, 0, wxTOP | wxBOTTOM | wxEXPAND, 2); - _choose_subtag_panel = new LanguageSubtagPanel (this); - _choose_subtag_panel->set (dcp::LanguageTag::SubtagType::LANGUAGE, ""); + _choose_subtag_panel = new LanguageSubtagPanel(this); + _choose_subtag_panel->set(dcp::LanguageTag::SubtagType::LANGUAGE, ""); - auto ltor_sizer = new wxBoxSizer (wxHORIZONTAL); - ltor_sizer->Add (_current_tag_list, 1, wxALL, 8); - ltor_sizer->Add (button_sizer, 0, wxALL, 8); - ltor_sizer->Add (_choose_subtag_panel, 1, wxALL, 8); + auto ltor_sizer = new wxBoxSizer(wxHORIZONTAL); + ltor_sizer->Add(_current_tag_list, 1, wxALL, 8); + ltor_sizer->Add(button_sizer, 0, wxALL, 8); + ltor_sizer->Add(_choose_subtag_panel, 1, wxALL, 8); - auto overall_sizer = new wxBoxSizer (wxVERTICAL); - overall_sizer->Add (ltor_sizer, 0); + auto overall_sizer = new wxBoxSizer(wxVERTICAL); + overall_sizer->Add(ltor_sizer, 0); - auto buttons = CreateSeparatedButtonSizer (wxOK); - if (buttons) { - overall_sizer->Add (buttons, wxSizerFlags().Expand().DoubleBorder()); + if (auto buttons = CreateSeparatedButtonSizer(wxOK)) { + overall_sizer->Add(buttons, wxSizerFlags().Expand().DoubleBorder()); } - SetSizerAndFit (overall_sizer); + SetSizerAndFit(overall_sizer); - set (tag); + set(tag); - _add_script->Bind (wxEVT_BUTTON, boost::bind(&FullLanguageTagDialog::add_to_current_tag, this, dcp::LanguageTag::SubtagType::SCRIPT, boost::optional<dcp::LanguageTag::SubtagData>())); - _add_region->Bind (wxEVT_BUTTON, boost::bind(&FullLanguageTagDialog::add_to_current_tag, this, dcp::LanguageTag::SubtagType::REGION, boost::optional<dcp::LanguageTag::SubtagData>())); - _add_variant->Bind (wxEVT_BUTTON, boost::bind(&FullLanguageTagDialog::add_to_current_tag, this, dcp::LanguageTag::SubtagType::VARIANT, boost::optional<dcp::LanguageTag::SubtagData>())); + _add_script->Bind(wxEVT_BUTTON, boost::bind(&FullLanguageTagDialog::add_to_current_tag, this, dcp::LanguageTag::SubtagType::SCRIPT, boost::optional<dcp::LanguageTag::SubtagData>())); + _add_region->Bind(wxEVT_BUTTON, boost::bind(&FullLanguageTagDialog::add_to_current_tag, this, dcp::LanguageTag::SubtagType::REGION, boost::optional<dcp::LanguageTag::SubtagData>())); + _add_variant->Bind(wxEVT_BUTTON, boost::bind(&FullLanguageTagDialog::add_to_current_tag, this, dcp::LanguageTag::SubtagType::VARIANT, boost::optional<dcp::LanguageTag::SubtagData>())); _add_extended->Bind(wxEVT_BUTTON, boost::bind(&FullLanguageTagDialog::add_to_current_tag, this, dcp::LanguageTag::SubtagType::EXTLANG, boost::optional<dcp::LanguageTag::SubtagData>())); - _remove->Bind (wxEVT_BUTTON, boost::bind(&FullLanguageTagDialog::remove_from_current_tag, this)); + _remove->Bind(wxEVT_BUTTON, boost::bind(&FullLanguageTagDialog::remove_from_current_tag, this)); _choose_subtag_panel->SelectionChanged.connect(bind(&FullLanguageTagDialog::chosen_subtag_changed, this, _1)); _choose_subtag_panel->SearchChanged.connect(bind(&FullLanguageTagDialog::search_changed, this, _1)); - _current_tag_list->Bind (wxEVT_LIST_ITEM_SELECTED, boost::bind(&FullLanguageTagDialog::current_tag_selection_changed, this)); - _current_tag_list->Bind (wxEVT_LIST_ITEM_DESELECTED, boost::bind(&FullLanguageTagDialog::current_tag_selection_changed, this)); + _current_tag_list->Bind(wxEVT_LIST_ITEM_SELECTED, boost::bind(&FullLanguageTagDialog::current_tag_selection_changed, this)); + _current_tag_list->Bind(wxEVT_LIST_ITEM_DESELECTED, boost::bind(&FullLanguageTagDialog::current_tag_selection_changed, this)); } void -FullLanguageTagDialog::remove_from_current_tag () +FullLanguageTagDialog::remove_from_current_tag() { - auto selected = _current_tag_list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + auto selected = _current_tag_list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (selected <= 0) { return; } - _current_tag_subtags.erase (_current_tag_subtags.begin() + selected); - _current_tag_list->DeleteItem (selected); + _current_tag_subtags.erase(_current_tag_subtags.begin() + selected); + _current_tag_list->DeleteItem(selected); - _current_tag_list->SetItemState (min(selected, _current_tag_list->GetItemCount() - 1L), wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); + _current_tag_list->SetItemState(min(selected, _current_tag_list->GetItemCount() - 1L), wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); - setup_sensitivity (); - current_tag_selection_changed (); + setup_sensitivity(); + current_tag_selection_changed(); } -dcp::LanguageTag FullLanguageTagDialog::get () const +dcp::LanguageTag FullLanguageTagDialog::get() const { dcp::LanguageTag tag; @@ -134,50 +133,50 @@ dcp::LanguageTag FullLanguageTagDialog::get () const } switch (i.type) { case dcp::LanguageTag::SubtagType::LANGUAGE: - tag.set_language (i.subtag->subtag); + tag.set_language(i.subtag->subtag); break; case dcp::LanguageTag::SubtagType::SCRIPT: - tag.set_script (i.subtag->subtag); + tag.set_script(i.subtag->subtag); break; case dcp::LanguageTag::SubtagType::REGION: - tag.set_region (i.subtag->subtag); + tag.set_region(i.subtag->subtag); break; case dcp::LanguageTag::SubtagType::VARIANT: - variants.push_back (i.subtag->subtag); + variants.push_back(i.subtag->subtag); break; case dcp::LanguageTag::SubtagType::EXTLANG: - extlangs.push_back (i.subtag->subtag); + extlangs.push_back(i.subtag->subtag); break; } } - tag.set_variants (variants); - tag.set_extlangs (extlangs); + tag.set_variants(variants); + tag.set_extlangs(extlangs); return tag; } void -FullLanguageTagDialog::set (dcp::LanguageTag tag) +FullLanguageTagDialog::set(dcp::LanguageTag tag) { - _current_tag_subtags.clear (); - _current_tag_list->DeleteAllItems (); + _current_tag_subtags.clear(); + _current_tag_list->DeleteAllItems(); bool have_language = false; for (auto const& i: tag.subtags()) { - add_to_current_tag (i.first, i.second); + add_to_current_tag(i.first, i.second); if (i.first == dcp::LanguageTag::SubtagType::LANGUAGE) { have_language = true; } } if (!have_language) { - add_to_current_tag (dcp::LanguageTag::SubtagType::LANGUAGE, dcp::LanguageTag::SubtagData("en", "English")); + add_to_current_tag(dcp::LanguageTag::SubtagType::LANGUAGE, dcp::LanguageTag::SubtagData("en", "English")); } } -string FullLanguageTagDialog::subtag_type_name (dcp::LanguageTag::SubtagType type) +string FullLanguageTagDialog::subtag_type_name(dcp::LanguageTag::SubtagType type) { switch (type) { case dcp::LanguageTag::SubtagType::LANGUAGE: @@ -197,9 +196,9 @@ string FullLanguageTagDialog::subtag_type_name (dcp::LanguageTag::SubtagType typ void -FullLanguageTagDialog::search_changed (string search) +FullLanguageTagDialog::search_changed(string search) { - long int selected = _current_tag_list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + long int selected = _current_tag_list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (selected >= 0) { _current_tag_subtags[selected].last_search = search; } @@ -207,75 +206,75 @@ FullLanguageTagDialog::search_changed (string search) void -FullLanguageTagDialog::add_to_current_tag (dcp::LanguageTag::SubtagType type, optional<dcp::LanguageTag::SubtagData> subtag) +FullLanguageTagDialog::add_to_current_tag(dcp::LanguageTag::SubtagType type, optional<dcp::LanguageTag::SubtagData> subtag) { - _current_tag_subtags.push_back (Subtag(type, subtag)); + _current_tag_subtags.push_back(Subtag(type, subtag)); wxListItem it; - it.SetId (_current_tag_list->GetItemCount()); - it.SetColumn (0); + it.SetId(_current_tag_list->GetItemCount()); + it.SetColumn(0); it.SetText(std_to_wx(subtag_type_name(type))); - _current_tag_list->InsertItem (it); - it.SetColumn (1); + _current_tag_list->InsertItem(it); + it.SetColumn(1); if (subtag) { it.SetText(std_to_wx(subtag->description)); } else { it.SetText(_("Select...")); } - _current_tag_list->SetItem (it); - _current_tag_list->SetItemState (_current_tag_list->GetItemCount() - 1, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); - _choose_subtag_panel->set (type, ""); - setup_sensitivity (); - current_tag_selection_changed (); + _current_tag_list->SetItem(it); + _current_tag_list->SetItemState(_current_tag_list->GetItemCount() - 1, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); + _choose_subtag_panel->set(type, ""); + setup_sensitivity(); + current_tag_selection_changed(); } void -FullLanguageTagDialog::current_tag_selection_changed () +FullLanguageTagDialog::current_tag_selection_changed() { - auto selected = _current_tag_list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + auto selected = _current_tag_list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (selected >= 0) { - _choose_subtag_panel->Enable (true); - _choose_subtag_panel->set (_current_tag_subtags[selected].type, _current_tag_subtags[selected].last_search, _current_tag_subtags[selected].subtag); + _choose_subtag_panel->Enable(true); + _choose_subtag_panel->set(_current_tag_subtags[selected].type, _current_tag_subtags[selected].last_search, _current_tag_subtags[selected].subtag); } else { - _choose_subtag_panel->Enable (false); + _choose_subtag_panel->Enable(false); } } void -FullLanguageTagDialog::chosen_subtag_changed (optional<dcp::LanguageTag::SubtagData> selection) +FullLanguageTagDialog::chosen_subtag_changed(optional<dcp::LanguageTag::SubtagData> selection) { if (!selection) { return; } - auto selected = _current_tag_list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + auto selected = _current_tag_list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (selected >= 0) { _current_tag_subtags[selected].subtag = *selection; _current_tag_list->SetItem(selected, 0, std_to_wx(subtag_type_name(_current_tag_subtags[selected].type))); _current_tag_list->SetItem(selected, 1, std_to_wx(selection->description)); } - setup_sensitivity (); + setup_sensitivity(); } void -FullLanguageTagDialog::setup_sensitivity () +FullLanguageTagDialog::setup_sensitivity() { - _add_script->Enable (); - _add_region->Enable (); - _add_variant->Enable (); + _add_script->Enable(); + _add_region->Enable(); + _add_variant->Enable(); _add_extended->Enable(); for (auto const& i: _current_tag_subtags) { switch (i.type) { case dcp::LanguageTag::SubtagType::SCRIPT: - _add_script->Enable (false); + _add_script->Enable(false); break; case dcp::LanguageTag::SubtagType::REGION: - _add_region->Enable (false); + _add_region->Enable(false); break; case dcp::LanguageTag::SubtagType::VARIANT: - _add_variant->Enable (false); + _add_variant->Enable(false); break; case dcp::LanguageTag::SubtagType::EXTLANG: _add_extended->Enable(false); @@ -284,7 +283,7 @@ FullLanguageTagDialog::setup_sensitivity () break; } } - auto selected = _current_tag_list->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); - _remove->Enable (selected > 0); + auto selected = _current_tag_list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); + _remove->Enable(selected > 0); } diff --git a/src/wx/full_language_tag_dialog.h b/src/wx/full_language_tag_dialog.h index 883b50dfb..0a256f016 100644 --- a/src/wx/full_language_tag_dialog.h +++ b/src/wx/full_language_tag_dialog.h @@ -43,9 +43,9 @@ public: class Subtag { public: - Subtag (dcp::LanguageTag::SubtagType type_, boost::optional<dcp::LanguageTag::SubtagData> subtag_) - : type (type_) - , subtag (subtag_) + Subtag(dcp::LanguageTag::SubtagType type_, boost::optional<dcp::LanguageTag::SubtagData> subtag_) + : type(type_) + , subtag(subtag_) {} dcp::LanguageTag::SubtagType type; @@ -53,20 +53,20 @@ public: std::string last_search; }; - FullLanguageTagDialog (wxWindow* parent, dcp::LanguageTag tag = dcp::LanguageTag("en")); + FullLanguageTagDialog(wxWindow* parent, dcp::LanguageTag tag = dcp::LanguageTag("en")); - dcp::LanguageTag get () const; - void set (dcp::LanguageTag tag); + dcp::LanguageTag get() const; + void set(dcp::LanguageTag tag); private: - std::string subtag_type_name (dcp::LanguageTag::SubtagType type); - void search_changed (std::string search); - void add_to_current_tag (dcp::LanguageTag::SubtagType type, boost::optional<dcp::LanguageTag::SubtagData> subtag); - void remove_from_current_tag (); - void current_tag_selection_changed (); - void chosen_subtag_changed (boost::optional<dcp::LanguageTag::SubtagData> selection); - void setup_sensitivity (); + std::string subtag_type_name(dcp::LanguageTag::SubtagType type); + void search_changed(std::string search); + void add_to_current_tag(dcp::LanguageTag::SubtagType type, boost::optional<dcp::LanguageTag::SubtagData> subtag); + void remove_from_current_tag(); + void current_tag_selection_changed(); + void chosen_subtag_changed(boost::optional<dcp::LanguageTag::SubtagData> selection); + void setup_sensitivity(); std::vector<Subtag> _current_tag_subtags; wxListCtrl* _current_tag_list; 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/kdm_dialog.cc b/src/wx/kdm_dialog.cc index 97aa835c6..11b2901b9 100644 --- a/src/wx/kdm_dialog.cc +++ b/src/wx/kdm_dialog.cc @@ -63,80 +63,80 @@ using namespace boost::placeholders; #endif -KDMDialog::KDMDialog (wxWindow* parent, shared_ptr<const Film> film) - : wxDialog (parent, wxID_ANY, _("Make KDMs")) - , _film (film) +KDMDialog::KDMDialog(wxWindow* parent, shared_ptr<const Film> film) + : wxDialog(parent, wxID_ANY, _("Make KDMs")) + , _film(film) { /* Main sizers */ - auto horizontal = new wxBoxSizer (wxHORIZONTAL); - auto left = new wxBoxSizer (wxVERTICAL); - auto right = new wxBoxSizer (wxVERTICAL); + auto horizontal = new wxBoxSizer(wxHORIZONTAL); + auto left = new wxBoxSizer(wxVERTICAL); + auto right = new wxBoxSizer(wxVERTICAL); - horizontal->Add (left, 1, wxEXPAND | wxRIGHT, DCPOMATIC_SIZER_X_GAP * 4); - horizontal->Add (right, 1, wxEXPAND); + horizontal->Add(left, 1, wxEXPAND | wxRIGHT, DCPOMATIC_SIZER_X_GAP * 4); + horizontal->Add(right, 1, wxEXPAND); /* Font for sub-headings */ - wxFont subheading_font (*wxNORMAL_FONT); - subheading_font.SetWeight (wxFONTWEIGHT_BOLD); + wxFont subheading_font(*wxNORMAL_FONT); + subheading_font.SetWeight(wxFONTWEIGHT_BOLD); /* Sub-heading: Screens */ - auto h = new StaticText (this, _("Screens")); - h->SetFont (subheading_font); - left->Add (h, 0, wxBOTTOM, DCPOMATIC_SIZER_Y_GAP); - _screens = new ScreensPanel (this); - left->Add (_screens, 1, wxEXPAND | wxBOTTOM, DCPOMATIC_SIZER_Y_GAP); + auto h = new StaticText(this, _("Screens")); + h->SetFont(subheading_font); + left->Add(h, 0, wxBOTTOM, DCPOMATIC_SIZER_Y_GAP); + _screens = new ScreensPanel(this); + left->Add(_screens, 1, wxEXPAND | wxBOTTOM, DCPOMATIC_SIZER_Y_GAP); /* Sub-heading: Timing */ /// TRANSLATORS: translate the word "Timing" here; do not include the "KDM|" prefix - h = new StaticText (this, S_("KDM|Timing")); - h->SetFont (subheading_font); - right->Add (h); - _timing = new KDMTimingPanel (this); - right->Add (_timing); + h = new StaticText(this, S_("KDM|Timing")); + h->SetFont(subheading_font); + right->Add(h); + _timing = new KDMTimingPanel(this); + right->Add(_timing); /* Sub-heading: CPL */ - h = new StaticText (this, _("CPL")); - h->SetFont (subheading_font); - right->Add (h); + h = new StaticText(this, _("CPL")); + h->SetFont(subheading_font); + right->Add(h); vector<dcp::CPLSummary> cpls; for (auto const& i: film->cpls()) { if (i.encrypted) { - cpls.push_back (i); + cpls.push_back(i); } } - _cpl = new KDMCPLPanel (this, cpls); - right->Add (_cpl, 0, wxEXPAND); + _cpl = new KDMCPLPanel(this, cpls); + right->Add(_cpl, 0, wxEXPAND); /* Sub-heading: Output */ - h = new StaticText (this, _("Output")); - h->SetFont (subheading_font); + h = new StaticText(this, _("Output")); + h->SetFont(subheading_font); right->Add(h, 0, wxTOP, DCPOMATIC_SUBHEADING_TOP_PAD); _output = new TallKDMOutputPanel(this); - right->Add (_output, 0, wxEXPAND | wxTOP, DCPOMATIC_SIZER_GAP); + right->Add(_output, 0, wxEXPAND | wxTOP, DCPOMATIC_SIZER_GAP); - _make = new Button (this, _("Make KDMs")); - right->Add (_make, 0, wxTOP | wxBOTTOM, DCPOMATIC_SIZER_GAP); + _make = new Button(this, _("Make KDMs")); + right->Add(_make, 0, wxTOP | wxBOTTOM, DCPOMATIC_SIZER_GAP); /* Make an overall sizer to get a nice border */ - auto overall_sizer = new wxBoxSizer (wxVERTICAL); - overall_sizer->Add (horizontal, 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, DCPOMATIC_DIALOG_BORDER); + auto overall_sizer = new wxBoxSizer(wxVERTICAL); + overall_sizer->Add(horizontal, 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, DCPOMATIC_DIALOG_BORDER); /* Bind */ _screens->ScreensChanged.connect(boost::bind(&KDMDialog::screens_changed, this)); - _timing->TimingChanged.connect (boost::bind (&KDMDialog::setup_sensitivity, this)); - _make->Bind (wxEVT_BUTTON, boost::bind (&KDMDialog::make_clicked, this)); + _timing->TimingChanged.connect(boost::bind(&KDMDialog::setup_sensitivity, this)); + _make->Bind(wxEVT_BUTTON, boost::bind(&KDMDialog::make_clicked, this)); _cpl->Changed.connect(boost::bind(&KDMDialog::cpl_changed, this)); cpl_changed(); - setup_sensitivity (); + setup_sensitivity(); - SetSizer (overall_sizer); - overall_sizer->Layout (); - overall_sizer->SetSizeHints (this); + SetSizer(overall_sizer); + overall_sizer->Layout(); + overall_sizer->SetSizeHints(this); } @@ -162,29 +162,29 @@ KDMDialog::cpl_changed() void -KDMDialog::setup_sensitivity () +KDMDialog::setup_sensitivity() { - _screens->setup_sensitivity (); - _output->setup_sensitivity (); - _make->Enable (!_screens->screens().empty() && _timing->valid() && _cpl->has_selected()); + _screens->setup_sensitivity(); + _output->setup_sensitivity(); + _make->Enable(!_screens->screens().empty() && _timing->valid() && _cpl->has_selected()); } bool -KDMDialog::confirm_overwrite (boost::filesystem::path path) +KDMDialog::confirm_overwrite(boost::filesystem::path path) { - return confirm_dialog ( + return confirm_dialog( this, - wxString::Format (_("File %s already exists. Do you want to overwrite it?"), std_to_wx(path.string()).data()) + wxString::Format(_("File %s already exists. Do you want to overwrite it?"), std_to_wx(path.string()).data()) ); } void -KDMDialog::make_clicked () +KDMDialog::make_clicked() { - auto film = _film.lock (); - DCPOMATIC_ASSERT (film); + auto film = _film.lock(); + DCPOMATIC_ASSERT(film); list<KDMWithMetadataPtr> kdms; try { @@ -200,7 +200,7 @@ KDMDialog::make_clicked () vector<KDMCertificatePeriod> period_checks; - std::function<dcp::DecryptedKDM (dcp::LocalTime, dcp::LocalTime)> make_kdm = [film, this](dcp::LocalTime begin, dcp::LocalTime end) { + std::function<dcp::DecryptedKDM(dcp::LocalTime, dcp::LocalTime)> make_kdm = [film, this](dcp::LocalTime begin, dcp::LocalTime end) { return film->make_kdm(_cpl->cpl(), begin, end); }; @@ -220,7 +220,7 @@ KDMDialog::make_clicked () period_checks ); if (p) { - kdms.push_back (p); + kdms.push_back(p); } } @@ -238,7 +238,7 @@ KDMDialog::make_clicked () } catch (dcp::BadKDMDateError& e) { if (e.starts_too_early()) { - error_dialog (this, _("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.")); + error_dialog(this, _("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.")); } else { error_dialog( this, @@ -250,21 +250,21 @@ KDMDialog::make_clicked () } return; } catch (runtime_error& e) { - error_dialog (this, std_to_wx(e.what())); + error_dialog(this, std_to_wx(e.what())); return; } - auto result = _output->make(kdms, film->dcp_name(), bind (&KDMDialog::confirm_overwrite, this, _1)); + auto result = _output->make(kdms, film->dcp_name(), bind(&KDMDialog::confirm_overwrite, this, _1)); if (result.first) { - JobManager::instance()->add (result.first); + JobManager::instance()->add(result.first); } if (result.second > 0) { /* XXX: proper plural form support in wxWidgets? */ wxString s = result.second == 1 ? _("%d KDM written to %s") : _("%d KDMs written to %s"); - message_dialog ( + message_dialog( this, - wxString::Format (s, result.second, std_to_wx(_output->directory().string()).data()) + wxString::Format(s, result.second, std_to_wx(_output->directory().string()).data()) ); } } diff --git a/src/wx/kdm_dialog.h b/src/wx/kdm_dialog.h index b6e4b7604..168fb2544 100644 --- a/src/wx/kdm_dialog.h +++ b/src/wx/kdm_dialog.h @@ -44,12 +44,12 @@ class ScreensPanel; class KDMDialog : public wxDialog { public: - KDMDialog (wxWindow *, std::shared_ptr<const Film> film); + KDMDialog(wxWindow *, std::shared_ptr<const Film> film); private: - void setup_sensitivity (); - void make_clicked (); - bool confirm_overwrite (boost::filesystem::path path); + void setup_sensitivity(); + void make_clicked(); + bool confirm_overwrite(boost::filesystem::path path); void cpl_changed(); void screens_changed(); diff --git a/src/wx/po/cs_CZ.po b/src/wx/po/cs_CZ.po index c5982fb6c..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,15 +237,15 @@ 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 %n" -msgstr "<IssueDate> má neplatnou hodnotu %n" +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 (%n)" -msgstr "<MainSoundConfiguration> ie neplatný (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" +msgstr "<MainSoundConfiguration> ie neplatný (%error)" #: src/wx/subtitle_appearance_dialog.cc:118 msgid "<b>New colour</b>" @@ -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 %n tile parts instead of 3." -msgstr "RámeÄek 2K JPEG2000 obsahuje %n dÃlů dlaždic mÃsto 3." +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 +#: src/wx/verify_dcp_result_panel.cc:584 #, c-format -msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %n" -msgstr "SnÃmek 2K JPEG2000 obsahuje neplatnou hodnotu Rsiz (capabilities) %n" +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:507 #, c-format -msgid "A 2K JPEG2000 frame has %n POC marker(s) instead of 0." -msgstr "RámeÄek 2K JPEG2000 má %n POP mÃsto 0 znaÄek." +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:492 +#: src/wx/verify_dcp_result_panel.cc:542 #, c-format -msgid "A 2K JPEG2000 frame has %n guard bits instead of 1." -msgstr "RámeÄek 2K JPEG2000 má %n ochranných bitů mÃsto 1." +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:562 +#: src/wx/verify_dcp_result_panel.cc:577 #, c-format -msgid "A 4K JPEG2000 frame contains %n tile parts instead of 6." -msgstr "RámeÄek 4K JPEG2000 obsahuje %n dÃlků dlaždic mÃsto 6." +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:576 +#: src/wx/verify_dcp_result_panel.cc:591 #, c-format -msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %n" -msgstr "Rámec 4K JPEG2000 obsahuje neplatnou hodnotu Rsiz (capabilities) %n" +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:534 +#: src/wx/verify_dcp_result_panel.cc:514 #, c-format -msgid "A 4K JPEG2000 frame has %n POC marker(s) instead of 1." -msgstr "RámeÄek 4K JPEG2000 má %n POC znaÄek mÃsto 1." +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:499 +#: src/wx/verify_dcp_result_panel.cc:549 #, c-format -msgid "A 4K JPEG2000 frame has %n guard bits instead of 2." -msgstr "RámeÄek 4K JPEG2000 má %n ochranných bitů mÃsto 2." +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:548 +#: 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 %n instead of 32." -msgstr "Rámec JPEG2000 má výšku kódového bloku %n namÃsto 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 %n instead of 32." -msgstr "Rámec JPEG2000 má Å¡ÃÅ™ku kódového bloku %n namÃsto 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,21 +349,21 @@ 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 (%n)." -msgstr "SnÃmek má neplatný kódový tok JPEG2000 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "SnÃmek má neplatný kódový tok JPEG2000 (%error)." #: src/wx/hints_dialog.cc:183 #, c-format 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,14 +574,14 @@ 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> %n has been used." -msgstr "Byl použit neplatný <ContentKind> %n." +msgid "An invalid <ContentKind> %content_kind has been used." +msgstr "Byl použit neplatný <ContentKind> %content_kind." #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 msgid "An unknown exception occurred." @@ -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,10 +870,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Asset skrytých titulků %n má nenulovou hodnotu <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." +msgstr "Asset skrytých titulků %asset_id má nenulovou hodnotu <EntryPoint>." #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 msgid "Closed captions" @@ -1005,10 +1015,10 @@ 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 (%n)" -msgstr "Nelze naÄÃst DCP (%n)" +msgid "Could not read DCP (%error)" +msgstr "Nelze naÄÃst DCP (%error)" #: src/wx/gl_video_view.cc:131 #, c-format @@ -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,14 +1582,14 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" "SnÃmek %frame obsahuje komponentu obrázku, která je pÅ™ÃliÅ¡ velká (komponenta " -"%component má velikost %size bytů)." +"%component má velikost %size_in_bytes bytů)." #: src/wx/dcp_panel.cc:868 msgid "Frame Rate" @@ -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,10 +3332,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Datový zdroj titulků %n má nenulový <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "Datový zdroj titulků %asset_id má nenulový <EntryPoint>." #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." -msgstr "ASSETMAP %n má vÃce než jeden asset se stejným ID." +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 %n" -msgstr "CPL %cpl má neplatný prostor názvů %n" +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 (%n)" -msgstr "CPL %f má neplatnou znaÄku metadat rozÅ¡ÃÅ™enà CPL (%n)" +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 %n instead of 1." -msgstr "DCP má FFOC %n mÃsto 1." +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 %n instead of the reel duration minus one." -msgstr "DCP má LFOC %n namÃsto doby trvánà reelu minus jedna." +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,115 +3556,119 @@ 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 %n" -msgstr "PKL %f má neplatný jmenný prostor %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." msgstr "" -"PKL %n má <AnnotationText> který neodpovÃdá jeho CPL <ContentTitleText>." +"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 %n has encrypted content but is not signed." -msgstr "PKL %n má Å¡ifrovaný obsah, ale nenà podepsaný." +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 %n has more than one asset with the same ID." -msgstr "PKL %n má vÃce než jeden asset se stejným ID." +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 (%n)." -msgstr "XML v %f je poÅ¡kozený (%n)." +msgid "The XML in %f is malformed (%error)." +msgstr "XML v %f je poÅ¡kozený (%error)." -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "XML v %f je poÅ¡kozený na řádku %l (%n)." +#: 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 %n 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á %n 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 %n has more than one namespace declaration." -msgstr "XML v aktivu titulků %n má vÃce než jednu deklaraci jmenného prostoru." +"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 +#: src/wx/verify_dcp_result_panel.cc:331 #, 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." +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:295 +#: src/wx/verify_dcp_result_panel.cc:328 #, c-format -msgid "The asset %f is missing." -msgstr "Datový zdroj %f chybÃ." +msgid "" +"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á." -#: src/wx/verify_dcp_result_panel.cc:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "Datový zdroj %n má dobu trvánà kratšà než 1 vteÅ™inu, což je neplatné." +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:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "" -"Datový zdroj %n má intrinsickou dobu trvánà kratšà než 1 sekundu, která je " -"neplatná." +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:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "Datový zdroj %n nemá <Hash> v CPL." +msgid "The asset %f is missing." +msgstr "Datový zdroj %f chybÃ." -#: 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 "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 %n has no <EntryPoint> tag." -msgstr "UzavÅ™ený titulek majetku %n nemá <EntryPoint> znaÄky." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." +msgstr "UzavÅ™ený titulek majetku %asset_id nemá <EntryPoint> znaÄky." #: src/wx/film_name_location_dialog.cc:146 #, c-format @@ -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 \"%n\" 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 „%n“ 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 %n 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á %n 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,38 +3763,37 @@ 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 -msgid "The invalid language tag %n is used." -msgstr "PoužÃvá se neplatná znaÄka jazyka %n." +#: 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." #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 (%s) urÄitého Äasovaného textu nenà stejná jako doba " -"trvánà kontejneru (%s) 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 -msgid "The sound asset %f has an invalid bit depth of %n." -msgstr "Zvukový prostÅ™edek %f má neplatnou bitovou hloubku %n." +#: 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 %n contains no subtitles." -msgstr "Asset titulků %n neobsahuje žádné titulky." - -#: src/wx/verify_dcp_result_panel.cc:426 -#, c-format -msgid "The subtitle asset %n has no <EntryPoint> tag." -msgstr "Datový zdroj titulku %n 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 %n 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á %n 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 %n." -msgstr "Datový zdroj videa %f použÃvá neplatnou velikost obrázku %n." +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." -#: 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 %n 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 %n 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 fc64b5fb8..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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -236,14 +236,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +344,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "Filmen i en spole har en ugyldig billedhastighed" #: src/wx/hints_dialog.cc:183 @@ -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,13 +579,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +885,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -1031,9 +1037,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Kunne ikke indlæse KDM" #: src/wx/gl_video_view.cc:131 @@ -1598,25 +1604,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3385,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,111 +3604,113 @@ 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 %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -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 \"%n\" 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 %n 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,9 +3796,8 @@ 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 7eef7dd31..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,14 +240,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3." msgstr "" -"A 2K JPEG2000 Frame enthält %n 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 %n" -msgstr "A JPEG2000 Frame enthält einen ungültigen POC-Marker (%n)." +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 %n POC marker(s) instead of 0." -msgstr "A 2K JPEG2000 Frame hat %n 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 %n guard bits instead of 1." -msgstr "A 2K JPEG2000 Frame hat %n 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 %n tile parts instead of 6." +msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6." msgstr "" -"A 4K JPEG2000 Frame enthält %n 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 %n" -msgstr "A JPEG2000 Frame enthält einen ungültigen POC-Marker (%n)." +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 %n POC marker(s) instead of 1." -msgstr "A 2K JPEG2000 Frame hat %n 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 %n guard bits instead of 2." -msgstr "A 2K JPEG2000 Frame hat %n 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 %n instead of 32." -msgstr "A JPEG2000 Frame hat eine Code-Block-Höhe von %n 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 %n instead of 32." -msgstr "A JPEG2000 Frame hat eine Code-Block-Breite von %n 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,9 +361,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "Eine Videodatei enthält eine unzulässige Bildrate!" #: src/wx/hints_dialog.cc:183 @@ -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,13 +599,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" -"Closed Caption-Mediendatei %n ('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,9 +1074,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Konnte KDM nicht laden" #: src/wx/gl_video_view.cc:131 @@ -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,11 +1666,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: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 bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3499,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,115 +3722,117 @@ 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 %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." -msgstr "Das XML in %f ist nicht wohlgeformt (%n)." +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 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "Das XML in %f ist in Zeile %l nicht wohlgeformt (%n)." +#: 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 %n 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 %n 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 %n 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') %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -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 \"%n\" 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 %n 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,9 +3917,8 @@ 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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) %n 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 e9eacf928..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,14 +232,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +338,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "" #: src/wx/hints_dialog.cc:183 @@ -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,13 +554,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +846,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -985,9 +991,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "" #: src/wx/gl_video_view.cc:131 @@ -1518,25 +1524,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3231,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,109 +3442,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 #, c-format -msgid "The PKL %f has an invalid namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -3571,49 +3579,48 @@ 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 \"%n\" 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 %n 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 53aa6e51e..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,14 +235,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +343,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "" #: src/wx/hints_dialog.cc:183 @@ -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,13 +578,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +886,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -1034,9 +1040,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "No se pudo cargar la KDM." #: src/wx/gl_video_view.cc:131 @@ -1607,25 +1613,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3408,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,109 +3628,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 #, c-format -msgid "The PKL %f has an invalid namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -3760,49 +3768,48 @@ 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 \"%n\" 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 %n 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 8ed697b55..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,15 +238,15 @@ 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 %n" -msgstr "<IssueDate> یک مقدار نامعتبر دارد %n" +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 (%n)" -msgstr "<MainSoundConfiguration> تعداد نادرست کانالها را بیان میکند(%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" +msgstr "<MainSoundConfiguration> تعداد نادرست کانالها را بیان میکند(%error)" #: src/wx/subtitle_appearance_dialog.cc:118 msgid "<b>New colour</b>" @@ -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 %n tile parts instead of 3." -msgstr "یک ÙØ±ÛŒÙ… 2k JPEG2000 به جای 3 قطعه شامل %n قطعه است." +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 %n" -msgstr "یک ÙØ±ÛŒÙ… JPEG2000 شامل نشانه POC نادرستی است(%n)." +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 +#: src/wx/verify_dcp_result_panel.cc:507 #, c-format -msgid "A 2K JPEG2000 frame has %n POC marker(s) instead of 0." -msgstr "یک ÙØ±ÛŒÙ… 2k JPEG2000 به جای 0 شامل %n نشانه(های)POC است." +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:492 +#: src/wx/verify_dcp_result_panel.cc:542 #, c-format -msgid "A 2K JPEG2000 frame has %n guard bits instead of 1." -msgstr "یک ÙØ±ÛŒÙ… 2k JPEG2000 به جای 1 بیت شامل %n بیت Ù…ØØ§Ùظ است." +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:562 +#: src/wx/verify_dcp_result_panel.cc:577 #, c-format -msgid "A 4K JPEG2000 frame contains %n tile parts instead of 6." -msgstr "یک ÙØ±ÛŒÙ… 4k JPEG2000 به جای 6 قطعه شامل %n قطعه است." +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 %n" -msgstr "یک ÙØ±ÛŒÙ… JPEG2000 شامل نشانه POC نادرستی است(%n)." +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 +#: src/wx/verify_dcp_result_panel.cc:514 #, c-format -msgid "A 4K JPEG2000 frame has %n POC marker(s) instead of 1." -msgstr "یک ÙØ±ÛŒÙ… 4k JPEG2000 به جای 1 شامل %n نشانه(های)POC است." +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:499 +#: src/wx/verify_dcp_result_panel.cc:549 #, c-format -msgid "A 4K JPEG2000 frame has %n guard bits instead of 2." -msgstr "یک ÙØ±ÛŒÙ… 4k JPEG2000 به جای2 بیت شامل %n بیت Ù…ØØ§Ùظ است." +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:548 +#: 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 %n instead of 32." -msgstr "یک ÙØ±ÛŒÙ… JPEG2000 به جای 32 یک بلوک-کد با Ø§Ø±ØªÙØ§Ø¹ %n دارد." +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 %n instead of 32." -msgstr "یک ÙØ±ÛŒÙ… JPEG2000 به جای 32 یک بلوک-کد با عرض %n دارد." +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,21 +347,21 @@ 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 (%n)." -msgstr "یک ÙØ±ÛŒÙ… تصویر دارای یک رشته کد نامعتبر JPEG2000 است (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "یک ÙØ±ÛŒÙ… تصویر دارای یک رشته کد نامعتبر JPEG2000 است (%error)." #: src/wx/hints_dialog.cc:183 #, c-format 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,14 +571,14 @@ 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> %n has been used." -msgstr "یک ContentKind> %n> نا معتبر Ø§Ø³ØªÙØ§Ø¯Ù‡ شده است." +msgid "An invalid <ContentKind> %content_kind has been used." +msgstr "یک ContentKind> %content_kind> نا معتبر Ø§Ø³ØªÙØ§Ø¯Ù‡ شده است." #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 msgid "An unknown exception occurred." @@ -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,10 +867,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Ù…ØØªÙˆØ§ÛŒ ÙØ§ÛŒÙ„ زیرنویس Ùیلم %n یک غیر ØµÙØ± دارد <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." +msgstr "Ù…ØØªÙˆØ§ÛŒ ÙØ§ÛŒÙ„ زیرنویس Ùیلم %asset_id یک غیر ØµÙØ± دارد <EntryPoint>." #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 msgid "Closed captions" @@ -1006,10 +1013,10 @@ 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 (%n)" -msgstr "نمیتوان دی سی Ù¾ÛŒ (%n) را خواند" +msgid "Could not read DCP (%error)" +msgstr "نمیتوان دی سی Ù¾ÛŒ (%error) را خواند" #: src/wx/gl_video_view.cc:131 #, c-format @@ -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,11 +1580,11 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "اجزا تصویری ÙØ±ÛŒÙ… %f بسیار بزرگ است(اندازه جز%c برابر %s بایت است)." #: src/wx/dcp_panel.cc:868 @@ -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,10 +3341,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Ù…ØØªÙˆØ§ÛŒ زیرنویس %n یک غیر ØµÙØ± در <EntryPoint> دارد." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "Ù…ØØªÙˆØ§ÛŒ زیرنویس %asset_id یک غیر ØµÙØ± در <EntryPoint> دارد." #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." -msgstr "در ÙØ§ÛŒÙ„ ASSETMAP بنام %n بیش از یک Ù…ØØªÙˆØ§ با شتاسه مشابه وجود دارد." +msgid "The ASSETMAP %asset_map_id has more than one asset with the same 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 %n" -msgstr "این سی Ù¾ÛŒ ال %c دارای یک ÙØ¶Ø§ÛŒ نام نامعتبر است %n" +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 (%n)" +msgid "The CPL %f has an invalid CPL extension metadata tag (%error)" msgstr "" -"ÙØ§ÛŒÙ„ سی Ù¾ÛŒ ال %f دارای یک برچسب متادیتای پسوند سی Ù¾ÛŒ ال نامعتبر است (%n)" +"ÙØ§ÛŒÙ„ سی Ù¾ÛŒ ال %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 %n instead of 1." -msgstr "دی سی Ù¾ÛŒ به جای 1 عدد دارای %n عدد ÙØ±ÛŒÙ… اول Ù…ØØªÙˆØ§ است(FFOC)." +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 %n instead of the reel duration minus one." +msgid "The DCP has a LFOC of %time instead of the reel duration minus one." msgstr "" -"دی سی Ù¾ÛŒ به جای مدت ØÙ„قه منهای یک، دارای (LFOC )نشانگر ÙØ±ÛŒÙ… آخر Ù…ØØªÙˆØ§ÛŒ %n " +"دی سی Ù¾ÛŒ به جای مدت ØÙ„قه منهای یک، دارای (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,47 +3570,49 @@ 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 %n" -msgstr "این ÙØ§ÛŒÙ„ %f دارای ÙØ¶Ø§ÛŒ نام نامعتبر است %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." msgstr "" -"Ùهرست پکیج (PKL) بنام: %n دارای یک <AnnotationText> است Ú©Ù‡ با " +"Ùهرست پکیج (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 %n has encrypted content but is not signed." -msgstr "Ùهرست پکیج(PKL) بنام: %n دارای Ù…ØØªÙˆØ§ÛŒ رمزگذاری شده است اما امضا ندارد." +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 %n has more than one asset with the same ID." -msgstr "Ùهرست پکیج (PKL) بنام: %n دارای بیش از یک Ù…ØØªÙˆØ§ با شناسه مشابه است." +msgid "The PKL %pkl_id has more than one asset with the same 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,69 +3620,71 @@ 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 (%n)." -msgstr "ÙØ§ÛŒÙ„ XML در %f نادرست است (%n)." +msgid "The XML in %f is malformed (%error)." +msgstr "ÙØ§ÛŒÙ„ XML در %f نادرست است (%error)." -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "کدهای XML در %f نادرست هستند در خط (%n)%i." +#: 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 %n 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 بیش از %n بایت است Ú©Ù‡ خارج از ØØ¯ مجاز 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 %n has more than one namespace declaration." -msgstr "این XML ÙØ§ÛŒÙ„ زیرنویس %n بیش از یک اعلان ÙØ¶Ø§ÛŒ نام دارد." +"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 +#: 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 سه بعدی است اما ÙØ§ÛŒÙ„ MXF آن به عنوان دو بعدی علامت زده شده است." +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:295 +#: src/wx/verify_dcp_result_panel.cc:328 #, c-format -msgid "The asset %f is missing." -msgstr "ÙØ§ÛŒÙ„ %f موجود نیست." +msgid "" +"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:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "مدت ÙØ§ÛŒÙ„ %n کمتر از یک ثانیه است Ú©Ù‡ معتبر نیست." +msgid "The asset %asset_id has no <Hash> in the CPL." +msgstr "ÙØ§ÛŒÙ„ %asset_id در سی Ù¾ÛŒ ال ÙØ§Ù‚د <Hash> است." -#: src/wx/verify_dcp_result_panel.cc:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "مدت زمان ØÙ‚یقی ÙØ§ÛŒÙ„ %n کمتر از یک ثانیه است Ú©Ù‡ معتبر نیست." +msgid "The asset %f is 3D but its MXF is marked as 2D." +msgstr "" +"ÙØ§ÛŒÙ„ %f سه بعدی است اما ÙØ§ÛŒÙ„ MXF آن به عنوان دو بعدی علامت زده شده است." -#: src/wx/verify_dcp_result_panel.cc:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "ÙØ§ÛŒÙ„ %n در سی Ù¾ÛŒ ال ÙØ§Ù‚د <Hash> است." +msgid "The asset %f is missing." +msgstr "ÙØ§ÛŒÙ„ %f موجود نیست." -#: 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 "ÙØ§ÛŒÙ„ با شناسه %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 %n has no <EntryPoint> tag." -msgstr "ÙØ§ÛŒÙ„ زیرنویس %n ÙØ§Ù‚د برچسب <EntryPoint> است." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." +msgstr "ÙØ§ÛŒÙ„ زیرنویس %asset_id ÙØ§Ù‚د برچسب <EntryPoint> است." #: src/wx/film_name_location_dialog.cc:146 #, c-format @@ -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 \"%n\" 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 "" -"ÙØ§ÛŒÙ„ Ùونت برای Ùونت با شناسه \"%n\" موجود نیست Ùˆ یا در ÙØ§ÛŒÙ„ 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 %n 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 بیش از %n بایت هستند Ú©Ù‡ بیش از ØØ¬Ù… مجاز 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,37 +3776,36 @@ msgstr "" "cpl(%calculated_hash) مطابقت ندارد. این Ø§ØØªÙ…ال وجود دارد Ú©Ù‡ اصل ÙØ§ÛŒÙ„ دچار " "مشکل باشد." -#: src/wx/verify_dcp_result_panel.cc:342 -#, c-format -msgid "The invalid language tag %n is used." -msgstr "برچسب زبان %n مورد Ø§Ø³ØªÙØ§Ø¯Ù‡ نادرست است." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." +msgstr "برچسب زبان %language مورد Ø§Ø³ØªÙØ§Ø¯Ù‡ نادرست است." #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) of its MXF." +"The reel duration (%other_duration) of some timed text is not the same as " +"the ContainerDuration (%duration) of its MXF." msgstr "" -"مدت زمان ØÙ„قه (%s ) Ùیلم مربوط به برخی زیرنویسها با ContainerDuration آن " -"(%s) در ÙØ§ÛŒÙ„ MXF یکسان نیست." +"مدت زمان ØÙ„قه (%other_duration ) Ùیلم مربوط به برخی زیرنویسها با " +"ContainerDuration آن (%duration) در ÙØ§ÛŒÙ„ MXF یکسان نیست." -#: src/wx/verify_dcp_result_panel.cc:408 -#, c-format -msgid "The sound asset %f has an invalid bit depth of %n." -msgstr "ÙØ§ÛŒÙ„ صدای %f دارای عمق بیت نامعتبر %n است." +#: 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 %n contains no subtitles." -msgstr "ÙØ§ÛŒÙ„ زیرنویس %n ÙØ§Ù‚د متن زیرنویس است." - -#: src/wx/verify_dcp_result_panel.cc:426 -#, c-format -msgid "The subtitle asset %n has no <EntryPoint> tag." -msgstr "ÙØ§ÛŒÙ„ زیرنویس %n برچسب <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 %n 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 بیش از %n بایت ØØ¬Ù… دارد Ú©Ù‡ بیش از ØØ¬Ù… مجاز 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 %n." -msgstr "ÙØ§ÛŒÙ„ ویدیوی %f از اندازه تصویرنادرست %n Ø§Ø³ØªÙØ§Ø¯Ù‡ میکند." +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 %n 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ÙØ§ÛŒÙ„ %n به دی سی Ù¾ÛŒ دیگری اشاره دارد، بنابر این یک " -"\"نسخه ÙØ§ÛŒÙ„\"(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 0668304d4..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,15 +236,15 @@ 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 %n" -msgstr "<IssueDate> a une valeur %n invalide" +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 (%n)" -msgstr "<MainSoundConfiguration> est invalide (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" +msgstr "<MainSoundConfiguration> est invalide (%error)" #: src/wx/subtitle_appearance_dialog.cc:118 msgid "<b>New colour</b>" @@ -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 %n tile parts instead of 3." +msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3." msgstr "" -"Une image JPEG2000 2K contient %n 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 %n" +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 %n" +"Une image JPEG2000 2K contient une valeur Rsiz (capacités) invalide de " +"%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 %n POC marker(s) instead of 0." -msgstr "Une image JPEG2000 2K a %n marqueur(s) POC au lieu de 0." +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:492 +#: src/wx/verify_dcp_result_panel.cc:542 #, c-format -msgid "A 2K JPEG2000 frame has %n guard bits instead of 1." -msgstr "Une image JPEG2000 2K a %n bits de garde au lieu de 1." +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:562 +#: src/wx/verify_dcp_result_panel.cc:577 #, c-format -msgid "A 4K JPEG2000 frame contains %n tile parts instead of 6." +msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6." msgstr "" -"Une image JPEG2000 2K contient %n parties de tuile (tile parts) au lieu de 6." +"Une image JPEG2000 2K contient %tile_parts parties de tuile (tile parts) au " +"lieu de 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 %n" +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 %n" +"Une image JPEG2000 4K contient une valeur Rsiz (capacités) invalide de " +"%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 %n POC marker(s) instead of 1." -msgstr "Une image JPEG2000 4K a %n marqueur(s) POC au lieu de 1." +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:499 +#: src/wx/verify_dcp_result_panel.cc:549 #, c-format -msgid "A 4K JPEG2000 frame has %n guard bits instead of 2." -msgstr "Une image JPEG2000 4K a %n bits de garde au lieu de 2." +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:548 +#: 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 %n instead of 32." -msgstr "Une image JPEG2000 a une hauteur de bloc de code de %n 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 %n instead of 32." -msgstr "Une image JPEG2000 a une largeur de bloc de code de %n 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,22 +359,22 @@ 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 (%n)." -msgstr "Une image a un codestream JPEG2000 invalide (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "Une image a un codestream JPEG2000 invalide (%error)." #: src/wx/hints_dialog.cc:183 #, c-format 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,14 +584,14 @@ 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> %n has been used." -msgstr "Un <ContentKind> %n invalide a été utilisé." +msgid "An invalid <ContentKind> %content_kind has been used." +msgstr "Un <ContentKind> %content_kind invalide a été utilisé." #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 msgid "An unknown exception occurred." @@ -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,10 +882,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "La ressource de sous-titres codés %n a un <EntryPoint> non nul." +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." #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 msgid "Closed captions" @@ -1016,10 +1027,10 @@ 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 (%n)" -msgstr "Impossible de lire le DCP (%n)" +msgid "Could not read DCP (%error)" +msgstr "Impossible de lire le DCP (%error)" #: src/wx/gl_video_view.cc:131 #, c-format @@ -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,14 +1584,14 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" "L'image %frame a une composante d'image trop grande (la composante " -"%component a une taille de %size bytes)." +"%component a une taille de %size_in_bytes bytes)." #: src/wx/dcp_panel.cc:868 msgid "Frame Rate" @@ -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,10 +3349,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "La ressource de sous-titres %n a un <EntryPoint> non nul." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "La ressource de sous-titres %asset_id a un <EntryPoint> non nul." #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." -msgstr "L'ASSETMAP %n a plusieurs ressources avec un même ID." +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 %n" -msgstr "La CPL %cpl a un namespace %n invalide" +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 (%n)" -msgstr "La CPL %f a une balise de métadonnées d'extension CPL invalide (%n)" +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)" -#: 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 %n instead of 1." -msgstr "Le DCP a un FFOC de %n au lieu de 1." +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 %n instead of the reel duration minus one." -msgstr "Le DCP a un LFOC de %n au lieu de la durée de la bobine moins un." +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 %n" -msgstr "La PKL %f a un namespace %n invalide" +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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." msgstr "" -"La PKL %n 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 %n has encrypted content but is not signed." -msgstr "La PKL %n a un contenu crypté mais n'est pas signée." +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 %n has more than one asset with the same ID." -msgstr "La PKL %n a un contenu crypté mais n'est pas signée." +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 (%n)." -msgstr "Le XML dans %f est malformé (%n)." +msgid "The XML in %f is malformed (%error)." +msgstr "Le XML dans %f est malformé (%error)." -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "Le XML dans %f est malformé à la ligne %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n contient plus d'une déclaration " +"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." +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." -#: 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 "La ressource %f est manquante." +msgid "" +"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." -#: src/wx/verify_dcp_result_panel.cc:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "" -"La ressource %n a une durée inférieure à 1 seconde, ce qui n'est pas valide." +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:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "" -"La ressource %n a une durée intrinsèque inférieure à 1 seconde, ce qui n'est " -"pas valide." +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:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "La ressource %n n'a pas de <Hash> dans la CPL." +msgid "The asset %f is missing." +msgstr "La ressource %f est manquante." -#: 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 " @@ -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 %n has no <EntryPoint> tag." -msgstr "La ressource de sous-titres codés %n n'a pas de balise <EntryPoint>." +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>." #: 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 \"%n\" 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 \"%n\" 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 %n 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 %n 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,17 +3803,16 @@ 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 -msgid "The invalid language tag %n is used." -msgstr "La balise de langue non valide %n a été utilisée." +#: 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." #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 (%s) d'un texte minuté n'est pas la même que la " -"ContainerDuration (%s) 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 %n." -msgstr "La ressource sonore %f a nombre de bits par échantillon %n invalide." +msgid "The sound asset %f has an invalid bit depth of %bit_depth." +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 %n contains no subtitles." -msgstr "La ressource de sous-titres %n ne contient pas de sous-titres." - -#: src/wx/verify_dcp_result_panel.cc:426 -#, c-format -msgid "The subtitle asset %n has no <EntryPoint> tag." -msgstr "La ressource de sous-titre %n 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 %n 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 %n 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 %n." -msgstr "La ressource vidéo %f utilise la taille d'image invalide %n." +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." -#: 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 %n 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 %n 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 a1ec2fbd8..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,14 +232,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +338,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "" #: src/wx/hints_dialog.cc:183 @@ -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,13 +554,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +846,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -986,9 +992,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "" #: src/wx/gl_video_view.cc:131 @@ -1523,25 +1529,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3237,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,109 +3448,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 #, c-format -msgid "The PKL %f has an invalid namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -3577,49 +3585,48 @@ 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 \"%n\" 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 %n 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 b34c4be43..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,14 +235,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +343,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "" #: src/wx/hints_dialog.cc:183 @@ -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,13 +578,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +887,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -1033,9 +1039,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Impossibile caricare la KDM (%s)" #: src/wx/gl_video_view.cc:131 @@ -1605,25 +1611,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3398,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,109 +3618,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 #, c-format -msgid "The PKL %f has an invalid namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -3749,49 +3757,48 @@ 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 \"%n\" 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 %n 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 ee82cbd2d..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-03-23 23:11+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 ã®æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚" @@ -419,10 +419,13 @@ msgid "Add a DCP." msgstr "DCPã‚’è¿½åŠ " #: src/wx/content_panel.cc:277 +#, fuzzy msgid "" "Add a folder of image files (which will be used as a moving image sequence) " "or a folder of sound files." msgstr "" +"ç”»åƒãƒ•ァイルã¾ãŸã¯éŸ³å£°ãƒ•ァイルをå«ã‚€ãƒ•ã‚©ãƒ«ãƒ€ã‚’è¿½åŠ ã—ã¦ãã ã•ã„。(画åƒãƒ•ァイ" +"ルã¯å‹•画シーケンスã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ï¼‰" #: src/wx/full_language_tag_dialog.cc:69 #, fuzzy @@ -460,7 +463,6 @@ msgid "Add recipient" msgstr "å—ä¿¡è€…ã‚’è¿½åŠ " #: src/wx/dcp_timeline.cc:173 -#, fuzzy msgid "Add reel boundary" msgstr "ãƒªãƒ¼ãƒ«å¢ƒç•Œã‚’è¿½åŠ " @@ -588,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 "注釈テã‚スト" @@ -964,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" @@ -1083,13 +1084,12 @@ msgid "Creator" msgstr "作æˆè€…" #: src/wx/video_panel.cc:91 -#, fuzzy msgid "Crop" msgstr "切り抜ã" #: src/wx/ratio_picker.cc:37 msgid "Crop output to" -msgstr "出力画é¢ã‚¢ã‚¹ãƒšã‚¯ãƒˆæ¯”" +msgstr "切り抜ã出力" #: src/wx/update_dialog.cc:68 msgid "Current version" @@ -1491,7 +1491,6 @@ msgid "Filename format" msgstr "ファイルåフォーマット" #: src/wx/film_name_location_dialog.cc:48 -#, fuzzy msgid "Film name" msgstr "プãƒã‚¸ã‚§ã‚¯ãƒˆå" @@ -1519,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)" @@ -1576,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 @@ -1583,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 @@ -1618,7 +1622,6 @@ msgid "From address" msgstr "é€ä¿¡å…ˆãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹" #: src/wx/film_name_location_dialog.cc:66 -#, fuzzy msgid "From template" msgstr "テンプレート元" @@ -2020,7 +2023,6 @@ msgid "Length" msgstr "é•·ã•" #: src/wx/player_information.cc:181 -#, fuzzy msgid "Length: {} ({} frames)" msgstr "é•·ã•: {} ({} フレーム)" @@ -2288,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" @@ -2790,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 @@ -3450,7 +3452,7 @@ msgstr "" #: src/wx/verify_dcp_result_panel.cc:671 #, c-format msgid "The CPL %cpl has an invalid namespace %n" -msgstr "" +msgstr "CPL%cplã«ã¯ç„¡åйãªåå‰ç©ºé–“%nãŒå«ã¾ã‚Œã¦ã„ã¾ã™" #: src/wx/verify_dcp_result_panel.cc:462 #, c-format @@ -3561,7 +3563,7 @@ msgstr "" #: src/wx/verify_dcp_result_panel.cc:690 #, c-format msgid "The PKL %f has an invalid namespace %n" -msgstr "" +msgstr "PKL%fã«ã¯ç„¡åйãªåå‰ç©ºé–“%nãŒå«ã¾ã‚Œã¦ã„ã¾ã™" #: src/wx/verify_dcp_result_panel.cc:468 #, c-format @@ -3628,7 +3630,7 @@ msgstr "" #, c-format msgid "" "The XML in the subtitle asset %n has more than one namespace declaration." -msgstr "" +msgstr "å—幕データ%n内ã®XMLã«ã¯è¤‡æ•°ã®åå‰ç©ºé–“宣言ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚" #: src/wx/verify_dcp_result_panel.cc:327 #, c-format @@ -4580,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 2afdb1d0a..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,15 +236,15 @@ 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 %n" -msgstr "<IssueDate>ì— ìœ íš¨í•˜ì§€ ì•Šì€ ê°’ %nì´(ê°€) 있습니다" +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 (%n)" -msgstr "<MainSoundConfiguration>ì´ ìœ íš¨í•˜ì§€ 않습니다 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" +msgstr "<MainSoundConfiguration>ì´ ìœ íš¨í•˜ì§€ 않습니다 (%error)" #: src/wx/subtitle_appearance_dialog.cc:118 msgid "<b>New colour</b>" @@ -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 %n tile parts instead of 3." -msgstr "2K JPEG2000 í”„ë ˆìž„ì´ 3ê°œ ëŒ€ì‹ %nê°œì˜ íƒ€ì¼ íŒŒíŠ¸ë¥¼ í¬í•¨í•˜ê³ 있습니다." +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 #, c-format -msgid "A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %n" +msgid "" +"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of " +"%capabilities" msgstr "" -"2K JPEG2000 í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ Rsiz(capabilities) ê°’ %nì´(ê°€) í¬í•¨ë˜ì–´ 있" -"습니다" +"2K JPEG2000 í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ Rsiz(capabilities) ê°’ %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 %n POC marker(s) instead of 0." -msgstr "2K JPEG2000 í”„ë ˆìž„ì— 0ê°œ ëŒ€ì‹ %nê°œì˜ POC 마커가 있습니다." +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:492 +#: src/wx/verify_dcp_result_panel.cc:542 #, c-format -msgid "A 2K JPEG2000 frame has %n guard bits instead of 1." -msgstr "2K JPEG2000 í”„ë ˆìž„ì— 1ê°œ ëŒ€ì‹ %nê°œì˜ ê°€ë“œ 비트가 있습니다." +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:562 +#: src/wx/verify_dcp_result_panel.cc:577 #, c-format -msgid "A 4K JPEG2000 frame contains %n tile parts instead of 6." -msgstr "4K JPEG2000 í”„ë ˆìž„ì´ 6ê°œ ëŒ€ì‹ %nê°œì˜ íƒ€ì¼ íŒŒíŠ¸ë¥¼ í¬í•¨í•˜ê³ 있습니다." +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 #, c-format -msgid "A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %n" +msgid "" +"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of " +"%capabilities" msgstr "" -"4K JPEG2000 í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ Rsiz(capabilities) ê°’ %nì´(ê°€) í¬í•¨ë˜ì–´ 있" -"습니다" +"4K JPEG2000 í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ Rsiz(capabilities) ê°’ %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 %n POC marker(s) instead of 1." -msgstr "4K JPEG2000 í”„ë ˆìž„ì— 1ê°œ ëŒ€ì‹ %nê°œì˜ POC 마커가 있습니다." +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:499 +#: src/wx/verify_dcp_result_panel.cc:549 #, c-format -msgid "A 4K JPEG2000 frame has %n guard bits instead of 2." -msgstr "4K JPEG2000 í”„ë ˆìž„ì— 2ê°œ ëŒ€ì‹ %nê°œì˜ ê°€ë“œ 비트가 있습니다." +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:548 +#: 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 %n instead of 32." -msgstr "JPEG2000 í”„ë ˆìž„ì˜ ì½”ë“œ ë¸”ë¡ ë†’ì´ê°€ 32 ëŒ€ì‹ %n입니다." +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 %n instead of 32." -msgstr "JPEG2000 í”„ë ˆìž„ì˜ ì½”ë“œ ë¸”ë¡ ë„ˆë¹„ê°€ 32 ëŒ€ì‹ %n입니다." +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,21 +350,21 @@ 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 (%n)." -msgstr "ì˜ìƒ í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ JPEG2000 코드스트림(%n)ì´ ìžˆìŠµë‹ˆë‹¤." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "ì˜ìƒ í”„ë ˆìž„ì— ìœ íš¨í•˜ì§€ ì•Šì€ JPEG2000 코드스트림(%error)ì´ ìžˆìŠµë‹ˆë‹¤." #: src/wx/hints_dialog.cc:183 #, c-format 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,14 +580,14 @@ 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> %n has been used." -msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ <ContentKind> %nì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹¤." +msgid "An invalid <ContentKind> %content_kind has been used." +msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ <ContentKind> %content_kindì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹¤." #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 msgid "An unknown exception occurred." @@ -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,10 +881,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "캡션 ì—ì…‹ %nì— 0ì´ ì•„ë‹Œ <EntryPoint>ê°€ 있습니다." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." +msgstr "캡션 ì—ì…‹ %asset_idì— 0ì´ ì•„ë‹Œ <EntryPoint>ê°€ 있습니다." #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 msgid "Closed captions" @@ -1020,10 +1028,10 @@ 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 (%n)" -msgstr "DCP를 ì½ì„ 수 없습니다 (%n)" +msgid "Could not read DCP (%error)" +msgstr "DCP를 ì½ì„ 수 없습니다 (%error)" #: src/wx/gl_video_view.cc:131 #, c-format @@ -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,14 +1589,14 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" "í”„ë ˆìž„ %frameì˜ ì´ë¯¸ì§€ ì»´í¬ë„ŒíЏ í¬ê¸°ê°€ 너무 í½ë‹ˆë‹¤. (ì»´í¬ë„ŒíЏ %componentì˜ í¬" -"기가 %size ë°”ì´íŠ¸ìž„)" +"기가 %size_in_bytes ë°”ì´íŠ¸ìž„)" #: src/wx/dcp_panel.cc:868 msgid "Frame Rate" @@ -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,10 +3369,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "ìžë§‰ ì—ì…‹ %nì— 0ì´ ì•„ë‹Œ <EntryPoint>ê°€ 있습니다." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "ìžë§‰ ì—ì…‹ %asset_idì— 0ì´ ì•„ë‹Œ <EntryPoint>ê°€ 있습니다." #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." -msgstr "ASSETMAP %nì— ë™ì¼í•œ ID를 가진 ì—ì…‹ì´ ë‘˜ ì´ìƒ 있습니다." +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 %n" -msgstr "CPL %cplì— ìœ íš¨í•˜ì§€ ì•Šì€ ë„¤ìž„ìŠ¤íŽ˜ì´ìФ %nì´(ê°€) 있습니다" +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 (%n)" -msgstr "CPL %fì— ìœ íš¨í•˜ì§€ ì•Šì€ CPL 확장 메타ë°ì´í„° 태그(%n)ê°€ 있습니다." +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 %n instead of 1." -msgstr "DCPì˜ FFOCê°€ 1ì´ ì•„ë‹Œ %n입니다." +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 %n instead of the reel duration minus one." -msgstr "DCPì˜ LFOCê°€ (릴 ê¸¸ì´ - 1)ì´ ì•„ë‹Œ %n입니다." +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,103 +3588,108 @@ 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 %n" -msgstr "PKL %fì— ìœ íš¨í•˜ì§€ ì•Šì€ ë„¤ìž„ìŠ¤íŽ˜ì´ìФ %nì´(ê°€) 있습니다." +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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." msgstr "" -"PKL %nì˜ <AnnotationText>ê°€ 해당 CPLì˜ <ContentTitleText>와 ì¼ì¹˜í•˜ì§€ 않습니" +"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 %n has encrypted content but is not signed." -msgstr "PKL %nì— ì•”í˜¸í™”ëœ ì½˜í…ì¸ ê°€ í¬í•¨ë˜ì–´ 있지만 서명ë˜ì§€ 않았습니다." +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 %n has more than one asset with the same ID." -msgstr "PKL %nì— ë™ì¼í•œ ID를 가진 ì—ì…‹ì´ ë‘˜ ì´ìƒ 있습니다." +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 (%n)." -msgstr "%fì˜ XML 형ì‹ì´ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤ (%n)." +msgid "The XML in %f is malformed (%error)." +msgstr "%fì˜ XML 형ì‹ì´ 잘못ë˜ì—ˆìŠµë‹ˆë‹¤ (%error)." -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "%fì˜ XML 형ì‹ì´ %l번째 줄ì—서 잘못ë˜ì—ˆìŠµë‹ˆë‹¤ (%n)." +#: 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 %n bytes which is over the " -"256KB limit." -msgstr "캡션 ì—ì…‹ %fì˜ XML ìš©ëŸ‰ì´ %n ë°”ì´íŠ¸ë¡œ, ì œí•œì¹˜ì¸ 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 %n has more than one namespace declaration." -msgstr "ìžë§‰ ì—ì…‹ %nì˜ XMLì— ë‘˜ ì´ìƒì˜ 네임스페ì´ìФ ì„ ì–¸ì´ ìžˆìŠµë‹ˆë‹¤." +"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로 표시ë˜ì–´ 있습니다." +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:295 +#: src/wx/verify_dcp_result_panel.cc:328 #, c-format -msgid "The asset %f is missing." -msgstr "ì—ì…‹ %fì´(ê°€) 누ë½ë˜ì—ˆìŠµë‹ˆë‹¤." +msgid "" +"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:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "ì—ì…‹ %nì˜ ìž¬ìƒ ì‹œê°„ì´ 1ì´ˆ 미만ì´ë©°, ì´ëŠ” ìœ íš¨í•˜ì§€ 않습니다." +msgid "The asset %asset_id has no <Hash> in the CPL." +msgstr "ì—ì…‹ %asset_idì— ëŒ€í•œ <Hash>ê°€ CPLì— ì—†ìŠµë‹ˆë‹¤." -#: src/wx/verify_dcp_result_panel.cc:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "ì—ì…‹ %nì˜ ê³ ìœ ìž¬ìƒ ì‹œê°„ì´ 1ì´ˆ 미만ì´ë©°, ì´ëŠ” ìœ íš¨í•˜ì§€ 않습니다." +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:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "ì—ì…‹ %nì— ëŒ€í•œ <Hash>ê°€ CPLì— ì—†ìŠµë‹ˆë‹¤." +msgid "The asset %f is missing." +msgstr "ì—ì…‹ %fì´(ê°€) 누ë½ë˜ì—ˆìŠµë‹ˆë‹¤." -#: 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 " @@ -3685,10 +3698,10 @@ 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 %n has no <EntryPoint> tag." -msgstr "캡션 ì—ì…‹ %nì— <EntryPoint> 태그가 없습니다." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." +msgstr "캡션 ì—ì…‹ %asset_idì— <EntryPoint> 태그가 없습니다." #: src/wx/film_name_location_dialog.cc:146 #, c-format @@ -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 \"%n\" 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 \\\"%n\\\"ì— ëŒ€í•œ í°íЏ 파ì¼ì„ ì°¾ì„ ìˆ˜ 없거나 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 %n 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ì˜ í°íЏ ìš©ëŸ‰ì´ %n ë°”ì´íŠ¸ë¡œ, ì œí•œì¹˜ì¸ 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,37 +3793,36 @@ msgstr "" "PKL ë‚´ CPL %cplì˜ í•´ì‹œê°’(%reference_hash)ì´ CPL 파ì¼(%calculated_hash)ê³¼ ì¼ì¹˜" "하지 않습니다. CPL 파ì¼ì´ ì†ìƒë˜ì—ˆì„ ê°€ëŠ¥ì„±ì´ ìžˆìŠµë‹ˆë‹¤." -#: src/wx/verify_dcp_result_panel.cc:342 -#, c-format -msgid "The invalid language tag %n is used." -msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ ì–¸ì–´ 태그 %nì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹¤." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." +msgstr "ìœ íš¨í•˜ì§€ ì•Šì€ ì–¸ì–´ 태그 %languageì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹¤." #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) of its MXF." +"The reel duration (%other_duration) of some timed text is not the same as " +"the ContainerDuration (%duration) of its MXF." msgstr "" -"ì¼ë¶€ 타임드 í…ìŠ¤íŠ¸ì˜ ë¦´ ìž¬ìƒ ì‹œê°„(%s)ì´ í•´ë‹¹ MXFì˜ ì»¨í…Œì´ë„ˆ ìž¬ìƒ ì‹œê°„(%s)ê³¼ " -"다릅니다." +"ì¼ë¶€ 타임드 í…ìŠ¤íŠ¸ì˜ ë¦´ ìž¬ìƒ ì‹œê°„(%other_duration)ì´ í•´ë‹¹ MXFì˜ ì»¨í…Œì´ë„ˆ 재" +"ìƒ ì‹œê°„(%duration)ê³¼ 다릅니다." -#: src/wx/verify_dcp_result_panel.cc:408 -#, c-format -msgid "The sound asset %f has an invalid bit depth of %n." -msgstr "사운드 ì—ì…‹ %fì˜ ë¹„íŠ¸ ì‹¬ë„ %nì€(는) ìœ íš¨í•˜ì§€ 않습니다." +#: 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 %n contains no subtitles." -msgstr "ìžë§‰ ì—ì…‹ %nì— ìžë§‰ì´ 없습니다." - -#: src/wx/verify_dcp_result_panel.cc:426 -#, c-format -msgid "The subtitle asset %n has no <EntryPoint> tag." -msgstr "ìžë§‰ ì—ì…‹ %nì— <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 %n 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ì˜ ìš©ëŸ‰ì´ %n ë°”ì´íŠ¸ë¡œ, ì œí•œì¹˜ì¸ 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 %n." -msgstr "ì˜ìƒ ì—ì…‹ %fì— ìœ íš¨í•˜ì§€ ì•Šì€ ì´ë¯¸ì§€ í¬ê¸° %nì´(ê°€) 사용ë˜ì—ˆìŠµë‹ˆë‹¤." +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 "최소 한 ê³³ì—서 í´ë¡œì¦ˆë“œ ìº¡ì…˜ì´ 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 %n 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(ë˜ëŠ” ê·¸ 외)ì˜ ì—ì…‹ %nì„ ì°¸ì¡°í•˜ë¯€ë¡œ \"ë²„ì „ 파ì¼\"(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 0c4750de7..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,15 +236,15 @@ 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 %n" -msgstr "<IssueDate> heeft een ongeldige waarde %n" +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 (%n)" -msgstr "<MainSoundConfiguration> is ongeldig (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" +msgstr "<MainSoundConfiguration> is ongeldig (%error)" #: src/wx/subtitle_appearance_dialog.cc:118 msgid "<b>New colour</b>" @@ -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 %n tile parts instead of 3." -msgstr "Een 2K JPEG2000-frame bevat %n tile parts in plaats van 3." +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 %n" +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 %n" +"Een 2K JPEG2000-frame bevat een ongeldige Rsiz (capabilities) waarde van " +"%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 %n POC marker(s) instead of 0." -msgstr "Een 2K JPEG2000-frame heeft %n POC marker(s) in plaats van 0." +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:492 +#: src/wx/verify_dcp_result_panel.cc:542 #, c-format -msgid "A 2K JPEG2000 frame has %n guard bits instead of 1." -msgstr "Een 2K JPEG2000-frame heeft %n guard bits in plaats van 1." +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:562 +#: src/wx/verify_dcp_result_panel.cc:577 #, c-format -msgid "A 4K JPEG2000 frame contains %n tile parts instead of 6." -msgstr "Een 4K JPEG2000-frame bevat %n tile parts in plaats van 6." +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 %n" +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 %n" +"Een 4K JPEG2000-frame bevat een ongeldige Rsiz (capabilities) waarde van " +"%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 %n POC marker(s) instead of 1." -msgstr "Een 4K JPEG2000-frame heeft %n POC marker(s) in plaats van 1." +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:499 +#: src/wx/verify_dcp_result_panel.cc:549 #, c-format -msgid "A 4K JPEG2000 frame has %n guard bits instead of 2." -msgstr "Een 4K JPEG2000-frame heeft %n guard bits in plaats van 2." +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:548 +#: 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 %n 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 %n 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 %n 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 %n 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,21 +354,21 @@ 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 (%n)." -msgstr "Een picture frame heeft een ongeldige JPEG2000 codestream (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "Een picture frame heeft een ongeldige JPEG2000 codestream (%error)." #: src/wx/hints_dialog.cc:183 #, c-format 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,14 +578,14 @@ 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> %n has been used." -msgstr "Er is een ongeldige <ContentKind> %n gebruikt." +msgid "An invalid <ContentKind> %content_kind has been used." +msgstr "Er is een ongeldige <ContentKind> %content_kind gebruikt." #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 msgid "An unknown exception occurred." @@ -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,10 +881,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Closed caption asset %n heeft een <EntryPoint> dat niet nul is." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." +msgstr "Closed caption asset %asset_id heeft een <EntryPoint> dat niet nul is." #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 msgid "Closed captions" @@ -1015,10 +1027,10 @@ 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 (%n)" -msgstr "Kan DCP niet lezen (%n)" +msgid "Could not read DCP (%error)" +msgstr "Kan DCP niet lezen (%error)" #: src/wx/gl_video_view.cc:131 #, c-format @@ -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,14 +1582,14 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" "Frame %frame bevat een beeldcomponent die te groot is (component %component " -"is %size bytes groot)." +"is %size_in_bytes bytes groot)." #: src/wx/dcp_panel.cc:868 msgid "Frame Rate" @@ -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,10 +3331,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Subtitle asset %n heeft een <EntryPoint> dat niet nul is." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "Subtitle asset %asset_id heeft een <EntryPoint> dat niet nul is." #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." -msgstr "De ASSETMAP %n heeft meer dan één asset met dezelfde ID." +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 %n" -msgstr "De CPL %cpl heeft een ongeldige namespace %n" +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 (%n)" -msgstr "De CPL %f heeft een ongeldige CPL extension metadata tag (%n)" +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 %n instead of 1." -msgstr "De DCP heeft een FFOC (first frame of content) van %n in plaats van 1." +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." -#: 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 %n instead of the reel duration minus one." +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 %n 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,41 +3563,41 @@ 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 %n" -msgstr "De PKL %f heeft een ongeldige namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." msgstr "" -"De PKL %n heeft een <AnnotationText> die niet overeenkomt met de " +"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 %n has encrypted content but is not signed." -msgstr "De PKL %n heeft versleutelde content, maar is niet ondertekend." +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 %n has more than one asset with the same ID." -msgstr "De PKL %n heeft meer dan één asset met dezelfde ID." +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 (%n)." -msgstr "De XML in %f is onjuist (%n)." +msgid "The XML in %f is malformed (%error)." +msgstr "De XML in %f is onjuist (%error)." -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "De XML in %f is onjuist op regel %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n heeft meer dan één namespace declaratie." +"De XML in de subtitle asset %asset_id heeft meer dan één namespace " +"declaratie." -#: 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 "De asset %f is 3D, maar zijn MXF is gemarkeerd als 2D." +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." -#: 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 "De asset %f ontbreekt." +msgid "" +"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." -#: src/wx/verify_dcp_result_panel.cc:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "" -"De asset %n heeft een duration van minder dan 1 seconde, wat ongeldig is." +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:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "" -"De asset %n heeft een intrinsic duration van minder dan 1 seconde, wat " -"ongeldig is." +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:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "De asset %n heeft geen <Hash> in de CPL." +msgid "The asset %f is missing." +msgstr "De asset %f ontbreekt." -#: 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 " @@ -3664,10 +3681,10 @@ 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 %n has no <EntryPoint> tag." -msgstr "De closed caption asset %n heeft geen <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." +msgstr "De closed caption asset %asset_id heeft geen <EntryPoint> tag." #: src/wx/film_name_location_dialog.cc:146 #, c-format @@ -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 \"%n\" 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 \"%n\" 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 %n 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 %n 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,17 +3780,16 @@ 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 -msgid "The invalid language tag %n is used." -msgstr "De ongeldige language tag %n wordt gebruikt." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." +msgstr "De ongeldige language tag %language wordt gebruikt." #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 (%s) van sommige timed text is niet hetzelfde als de " -"ContainerDuration (%s) 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 %n." -msgstr "De sound asset %f heeft een ongeldige bit depth van %n." +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 %n contains no subtitles." -msgstr "De subtitle asset %n bevat geen ondertitels." - -#: src/wx/verify_dcp_result_panel.cc:426 -#, c-format -msgid "The subtitle asset %n has no <EntryPoint> tag." -msgstr "De subtitle asset %n 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 %n 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 %n 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 %n." -msgstr "De video asset %f gebruikt de ongeldige beeldgrootte %n." +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 %n 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 %n 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 57d9584c8..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,14 +237,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +msgid "A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3." msgstr "" -"Klatka obrazu 2K JPEG2000 zawiera %n 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 %n" -msgstr "Klatka obrazu JPEG2000 zawiera nieprawidÅ‚owy znacznik POC (%n)." +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 %n POC marker(s) instead of 0." -msgstr "Klatka obrazu 2K JPEG2000 zawiera %n 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 %n 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 %n 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 %n tile parts instead of 6." +msgid "A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6." msgstr "" -"Klatka obrazu 4K JPEG2000 zawiera %n 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 %n" -msgstr "Klatka obrazu JPEG2000 zawiera nieprawidÅ‚owy znacznik POC (%n)." +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 %n POC marker(s) instead of 1." -msgstr "Klatka obrazu 4K JPEG2000 zawiera %n 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n 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,21 +365,21 @@ 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 (%n)." -msgstr "Klatka obrazu ma nieprawidÅ‚owy strumieÅ„ kodowy JPEG2000 (%n)" +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "Klatka obrazu ma nieprawidÅ‚owy strumieÅ„ kodowy JPEG2000 (%error)" #: src/wx/hints_dialog.cc:183 #, c-format 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,13 +592,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,10 +904,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Plik z napisami %n zawiera niezerowy <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." +msgstr "Plik z napisami %asset_id zawiera niezerowy <EntryPoint>." #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 msgid "Closed captions" @@ -1038,9 +1052,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Nie udaÅ‚o siÄ™ odczytać DCP: %s" #: src/wx/gl_video_view.cc:131 @@ -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,11 +1632,11 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,10 +3430,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Plik z napisami %n posiada niezerowy znacznik <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "Plik z napisami %asset_id posiada niezerowy znacznik <EntryPoint>." #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." +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 %n" -msgstr "Plik z dźwiÄ™kiem %f posiada nieprawidÅ‚owÄ… liczbÄ™ klatek: %n." +msgid "The CPL %cpl has an invalid namespace %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 (%n)" -msgstr "Plik CPL %f ma nieprawidÅ‚owy tag rozszerzenia metadanych CPL (%n)" +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 %n instead of 1." +msgid "The DCP has a FFOC of %time instead of 1." msgstr "" -"DCP ma %n znaczników pierwszej klatki materiaÅ‚u (FFOC) zamiast jednego." +"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 %n instead of the reel duration minus one." +msgid "The DCP has a LFOC of %time instead of the reel duration minus one." msgstr "" -"DCP ma %n znaczników ostatniej klatki materiaÅ‚u (LFOC) zamiast dÅ‚ugoÅ›ci " +"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 %n" -msgstr "Plik z dźwiÄ™kiem %f posiada nieprawidÅ‚owÄ… liczbÄ™ klatek: %n." +msgid "The PKL %f has an invalid namespace %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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." msgstr "" -"Plik PKL %n 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 %n has encrypted content but is not signed." -msgstr "Plik PKL %n posiada zaszyfrowanÄ… zawartość, ale nie jest podpisany." +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 %n has more than one asset with the same ID." -msgstr "Plik PKL %n posiada zaszyfrowanÄ… zawartość, ale nie jest podpisany." +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." -#: 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 (%n)." -msgstr "Plik XML w %f zawiera błędy (%n)." +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 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "Plik XML w %f zawiera błędy w linii %l (%n)." +#: 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 %n 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 %n 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 %n 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." -msgstr "Zawartość %f jest w formacie 3D, ale plik MXF jest oznaczony jako 2D." +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:295 +#: src/wx/verify_dcp_result_panel.cc:328 #, c-format -msgid "The asset %f is missing." -msgstr "Nie mogÄ™ znaleźć zawartoÅ›ci %f." +msgid "" +"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:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "Zawartość %n trwa krócej niż 1 sekunda, co jest nieprawidÅ‚owe." +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:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "" -"Rzeczywista dÅ‚ugość materiaÅ‚u %n jest krótsza od 1 sekundy, co jest " -"nieprawidÅ‚owe." +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:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "Zawartość %n nie ma znacznika <Hash> w pliku CPL." +msgid "The asset %f is missing." +msgstr "Nie mogÄ™ znaleźć zawartoÅ›ci %f." -#: 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 %n has no <EntryPoint> tag." -msgstr "MateriaÅ‚ z napisami kodowanymi %n nie ma znacznika <EntryPoint>." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." +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 \"%n\" 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 %n 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Ä… %n 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,38 +3876,37 @@ 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 -msgid "The invalid language tag %n is used." -msgstr "Użyto nieprawidÅ‚owego oznaczenia jÄ™zyka %n." +#: 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." #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 (%s) zawarta w niektórych napisach jest inna od dÅ‚ugoÅ›ci " -"materiaÅ‚u (%s) 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 %n." -msgstr "Plik z dźwiÄ™kiem %f posiada nieprawidÅ‚owÄ… liczbÄ™ klatek: %n." +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 %n 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 %n has no <EntryPoint> tag." -msgstr "Plik z napisami %n 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 %n bytes which is over the 115MB limit." -msgstr "Plik z napisami %f zajmuje %n 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 %n." -msgstr "MateriaÅ‚ wideo %f ma nieprawidÅ‚owÄ… rozdzielczość: %n." +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 %n 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 %n 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 c9d814c1f..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,14 +236,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +344,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "" #: src/wx/hints_dialog.cc:183 @@ -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,13 +579,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +890,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -1038,9 +1044,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Não foi possÃvel carregar o KDM." #: src/wx/gl_video_view.cc:131 @@ -1609,25 +1615,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3409,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,109 +3631,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 #, c-format -msgid "The PKL %f has an invalid namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -3763,49 +3771,48 @@ 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 \"%n\" 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 %n 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 28d4b7cd2..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,14 +236,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +342,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "" #: src/wx/hints_dialog.cc:183 @@ -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,13 +577,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +886,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -1034,9 +1040,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Não foi possÃvel carregar a KDM (%s)" #: src/wx/gl_video_view.cc:131 @@ -1612,25 +1618,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3425,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,109 +3645,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 #, c-format -msgid "The PKL %f has an invalid namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -3774,49 +3782,48 @@ 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 \"%n\" 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 %n 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 79143ba3e..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,15 +234,15 @@ 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 %n" -msgstr "<IssueDate> имеет недопуÑтимое значение %n" +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 (%n)" -msgstr "<MainSoundConfiguration> недопуÑтима (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" +msgstr "<MainSoundConfiguration> недопуÑтима (%error)" #: src/wx/subtitle_appearance_dialog.cc:118 msgid "<b>New colour</b>" @@ -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 %n tile parts instead of 3." -msgstr "Кадр 2K JPEG2000 Ñодержит %n чаÑти(ей) тайла вмеÑто 3." +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 %n" +msgid "" +"A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of " +"%capabilities" msgstr "" -"Кадр 2K JPEG2000 Ñодержит недопуÑтимое значение Rsiz (возможноÑти), равное %n" +"Кадр 2K JPEG2000 Ñодержит недопуÑтимое значение Rsiz (возможноÑти), равное " +"%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 %n POC marker(s) instead of 0." -msgstr "Кадр 2K JPEG2000 Ñодержит %n маркера(ов) POC вмеÑто 0." +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:492 +#: src/wx/verify_dcp_result_panel.cc:542 #, c-format -msgid "A 2K JPEG2000 frame has %n guard bits instead of 1." -msgstr "Кадр 2K JPEG2000 Ñодержит %n защитных разрÑда(ов) вмеÑто 1." +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:562 +#: src/wx/verify_dcp_result_panel.cc:577 #, c-format -msgid "A 4K JPEG2000 frame contains %n tile parts instead of 6." -msgstr "Кадр 4K JPEG2000 Ñодержит %n чаÑти(ей) тайла вмеÑто 6." +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 %n" +msgid "" +"A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of " +"%capabilities" msgstr "" -"Кадр 4K JPEG2000 Ñодержит недопуÑтимое значение Rsiz (возможноÑти), равное %n" +"Кадр 4K JPEG2000 Ñодержит недопуÑтимое значение Rsiz (возможноÑти), равное " +"%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 %n POC marker(s) instead of 1." -msgstr "Кадр 4K JPEG2000 Ñодержит %n маркера(ов) POC вмеÑто 1." +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:499 +#: src/wx/verify_dcp_result_panel.cc:549 #, c-format -msgid "A 4K JPEG2000 frame has %n guard bits instead of 2." -msgstr "Кадр 4K JPEG2000 Ñодержит %n защитных разрÑда(ов) вмеÑто 2." +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:548 +#: 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 %n instead of 32." -msgstr "Кадр JPEG2000 имеет выÑоту кода блока %n вмеÑто 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 %n instead of 32." -msgstr "Кадр JPEG2000 имеет ширину кода блока %n вмеÑто 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,21 +346,21 @@ 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 (%n)." -msgstr "Кадр Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñодержит некорректный поток кода JPEG2000 (%n)" +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "Кадр Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñодержит некорректный поток кода JPEG2000 (%error)" #: src/wx/hints_dialog.cc:183 #, c-format 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,14 +571,14 @@ 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> %n has been used." -msgstr "Было иÑпользовано недопуÑтимое значение <Content Kind> %n." +msgid "An invalid <ContentKind> %content_kind has been used." +msgstr "Было иÑпользовано недопуÑтимое значение <Content Kind> %content_kind." #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 msgid "An unknown exception occurred." @@ -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 %n has a non-zero <EntryPoint>." -msgstr "РеÑурÑов Ñкрытых Ñубтитров %n Ñодержит ненулевой тег <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." +msgstr "" +"РеÑурÑов Ñкрытых Ñубтитров %asset_id Ñодержит ненулевой тег <EntryPoint>." #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 msgid "Closed captions" @@ -1008,10 +1017,10 @@ 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 (%n)" -msgstr "Ðе удалоÑÑŒ прочитать DCP (%n)" +msgid "Could not read DCP (%error)" +msgstr "Ðе удалоÑÑŒ прочитать DCP (%error)" #: src/wx/gl_video_view.cc:131 #, c-format @@ -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,14 +1586,14 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" "Кадр %frame Ñодержит Ñлишком большой компонент Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ (размер " -"компонента %component равен %size в байтах)." +"компонента %component равен %size_in_bytes в байтах)." #: src/wx/dcp_panel.cc:868 msgid "Frame Rate" @@ -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,10 +3370,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "РеÑÑƒÑ€Ñ Ñубтитров %n Ñодержит ненулевой тег <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "РеÑÑƒÑ€Ñ Ñубтитров %asset_id Ñодержит ненулевой тег <EntryPoint>." #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." +msgid "The ASSETMAP %asset_map_id has more than one asset with the same ID." msgstr "" -"Ð’ ASSETMAP %n ÑодержитÑÑ Ð±Ð¾Ð»ÐµÐµ одного реÑурÑа Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ идентификатором." +"Ð’ 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 %n" -msgstr "CPL %cpl Ñодержит недопуÑтимое проÑтранÑтво имен %n" +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 (%n)" -msgstr "CPL %f Ñодержит некорректный тег \"CPL extension metadata\" (%n)" +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 %n instead of 1." -msgstr "DCP имеет маркер FFOC, равный %n вмеÑто 1." +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 %n instead of the reel duration minus one." +msgid "The DCP has a LFOC of %time instead of the reel duration minus one." msgstr "" -"DCP имеет маркер LFOC, равный %n вмеÑто \"продолжительноÑть чаÑти фильма " +"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,41 +3599,42 @@ 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 %n" -msgstr "Ð’ файле PCL %f указано недопуÑтимое проÑтранÑтво имен %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." msgstr "" -"PKL %n Ñодержит тег <AnnotationText>, который не ÑоответÑтвует тегу " +"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 %n has encrypted content but is not signed." -msgstr "PKL %n не подпиÑан, но Ñодержит зашифрованный контент." +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 %n has more than one asset with the same ID." -msgstr "Ð’ PKL %n ÑодержитÑÑ Ð±Ð¾Ð»ÐµÐµ одного реÑурÑа Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñ‹Ð¼ идентификатором." +msgid "The PKL %pkl_id has more than one asset with the same 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 (%n)." -msgstr "XML в %f Ñодержит ошибку (%n)." +msgid "The XML in %f is malformed (%error)." +msgstr "XML в %f Ñодержит ошибку (%error)." -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "XML в %f Ñодержит ошибку в Ñтроке %l (%n)." +#: 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 %n 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 занимает %n байт, что превышает " -"лимит 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 %n has more than one namespace declaration." -msgstr "XML в Ñубтитре %n Ñодержит более одного объÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾ÑтранÑтва имен." +"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 +#: 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." +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:295 +#: src/wx/verify_dcp_result_panel.cc:328 #, c-format -msgid "The asset %f is missing." -msgstr "РеÑÑƒÑ€Ñ %f отÑутÑтвует." +msgid "" +"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:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "ПродолжительноÑть реÑурÑа %n менее 1 Ñекунды, что некорректно." +msgid "The asset %asset_id has no <Hash> in the CPL." +msgstr "РеÑÑƒÑ€Ñ %asset_id не Ñодержит тег <Hash> в CPL." -#: src/wx/verify_dcp_result_panel.cc:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "" -"СобÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть реÑурÑа %n менее 1 Ñекунды, что некорректно." +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:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "РеÑÑƒÑ€Ñ %n не Ñодержит тег <Hash> в CPL." +msgid "The asset %f is missing." +msgstr "РеÑÑƒÑ€Ñ %f отÑутÑтвует." -#: 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 " @@ -3699,10 +3714,10 @@ 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 %n has no <EntryPoint> tag." -msgstr "РеÑÑƒÑ€Ñ Ñкрытых Ñубтитров %n не Ñодержит тег <EntryPoint>." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." +msgstr "РеÑÑƒÑ€Ñ Ñкрытых Ñубтитров %asset_id не Ñодержит тег <EntryPoint>." #: src/wx/film_name_location_dialog.cc:146 #, c-format @@ -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 \"%n\" 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 "" -"Файл шрифта Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð¼ шрифта \"%n\" не был найден или на него не " -"было ÑÑылки в 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 %n 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 занимают %n байт, что превышает лимит в 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,38 +3809,37 @@ msgstr "" "Ð¥Ñш (%reference_hash) CPL %cpl в PKL неÑоглаÑован Ñ CPL-файлом " "(%calculated_hash). Возможно Ñто значит, что CPL-файл повреждён.." -#: src/wx/verify_dcp_result_panel.cc:342 -#, c-format -msgid "The invalid language tag %n is used." -msgstr "ИÑпользуетÑÑ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ тег Ñзыка %n." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." +msgstr "ИÑпользуетÑÑ Ð½ÐµÐºÐ¾Ñ€Ñ€ÐµÐºÑ‚Ð½Ñ‹Ð¹ тег Ñзыка %language." #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) of its MXF." +"The reel duration (%other_duration) of some timed text is not the same as " +"the ContainerDuration (%duration) of its MXF." msgstr "" -"ПродолжительноÑть чаÑти фильма (%s) Ð´Ð»Ñ Ñубтитров не Ñовпадает Ñ " -"продолжительноÑть контейнера (%s) в его MXF." +"ПродолжительноÑть чаÑти фильма (%other_duration) Ð´Ð»Ñ Ñубтитров не Ñовпадает " +"Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñть контейнера (%duration) в его MXF." -#: src/wx/verify_dcp_result_panel.cc:408 -#, c-format -msgid "The sound asset %f has an invalid bit depth of %n." -msgstr "Звуковой реÑÑƒÑ€Ñ %f имеет некорректную битовую глубину %n." +#: 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 %n contains no subtitles." -msgstr "РеÑÑƒÑ€Ñ Ñубтитров %n не Ñодержит Ñубтитров." - -#: src/wx/verify_dcp_result_panel.cc:426 -#, c-format -msgid "The subtitle asset %n has no <EntryPoint> tag." -msgstr "РеÑÑƒÑ€Ñ Ñубтитров %n не Ñодержит тег <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 %n bytes which is over the 115MB limit." -msgstr "РеÑÑƒÑ€Ñ Ñубтитров %f занимает %n байт, что превышает лимит в 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 %n." -msgstr "ВидеореÑÑƒÑ€Ñ %f имеет некорректный размер Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ %n." +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 %n 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 ÑÑылаетÑÑ Ð½Ð° реÑÑƒÑ€Ñ %n в другом (других) 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." @@ -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 21fc3d83e..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,14 +237,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +343,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "" #: src/wx/hints_dialog.cc:183 @@ -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,13 +582,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +889,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -1039,9 +1045,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Nemôžem naÄÃtaÅ¥ kDM (%s)" #: src/wx/gl_video_view.cc:131 @@ -1617,25 +1623,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3427,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,109 +3647,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 #, c-format -msgid "The PKL %f has an invalid namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -3776,49 +3784,48 @@ 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 \"%n\" 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 %n 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 0c7bbfe68..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,15 +235,15 @@ 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 %n" -msgstr "<IssueDate> ima neveljavno vrednost %n" +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 (%n)" -msgstr "<MainSoundConfiguration> opisuje nepravilno Å¡tevilo kanalov (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" +msgstr "<MainSoundConfiguration> opisuje nepravilno Å¡tevilo kanalov (%error)" #: src/wx/subtitle_appearance_dialog.cc:118 msgid "<b>New colour</b>" @@ -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 %n tile parts instead of 3." -msgstr "SliÄica 2K JPEG2000 vsebuje %n delov tlakovcev namesto 3." +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 %n" -msgstr "SliÄica JPEG2000 vsebuje neveljavno oznako POC (%n)." +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 +#: src/wx/verify_dcp_result_panel.cc:507 #, c-format -msgid "A 2K JPEG2000 frame has %n POC marker(s) instead of 0." -msgstr "SliÄica 2K JPEG2000 ima %n oznak POC namesto 0." +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:492 +#: src/wx/verify_dcp_result_panel.cc:542 #, c-format -msgid "A 2K JPEG2000 frame has %n guard bits instead of 1." -msgstr "SliÄica 2K JPEG2000 ima %n varovalnih bitov namesto 1." +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:562 +#: src/wx/verify_dcp_result_panel.cc:577 #, c-format -msgid "A 4K JPEG2000 frame contains %n tile parts instead of 6." -msgstr "SliÄica 4K JPEG2000 vsebuje %n delov tlakovcev namesto 6." +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 %n" -msgstr "SliÄica JPEG2000 vsebuje neveljavno oznako POC (%n)." +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 +#: src/wx/verify_dcp_result_panel.cc:514 #, c-format -msgid "A 4K JPEG2000 frame has %n POC marker(s) instead of 1." -msgstr "SliÄica 4K JPEG2000 ima %n oznak POC namesto 1." +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:499 +#: src/wx/verify_dcp_result_panel.cc:549 #, c-format -msgid "A 4K JPEG2000 frame has %n guard bits instead of 2." -msgstr "SliÄica 4K JPEG2000 ima %n varovalnih bitov namesto 2." +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:548 +#: 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 %n instead of 32." -msgstr "SliÄica JPEG2000 ima viÅ¡ino kodnega bloka %n 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 %n instead of 32." -msgstr "SliÄica JPEG2000 ima Å¡irino kodnega bloka %n 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,21 +346,21 @@ 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 (%n)." -msgstr "SliÄica ima neveljaven kodni tok JPEG2000 (%n)" +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "SliÄica ima neveljaven kodni tok JPEG2000 (%error)" #: src/wx/hints_dialog.cc:183 #, c-format 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,14 +575,14 @@ 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> %n has been used." -msgstr "Uporabljen je bil neveljaven <ContentKind> %n." +msgid "An invalid <ContentKind> %content_kind has been used." +msgstr "Uporabljen je bil neveljaven <ContentKind> %content_kind." #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 msgid "An unknown exception occurred." @@ -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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" -"Sredstvo zaprtega napisa z %n 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,9 +1026,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Ni bilo mogoÄe prebrati DCP: %s" #: src/wx/gl_video_view.cc:131 @@ -1569,28 +1578,28 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" "Okvir %frame ima slikovno komponento, ki je prevelika (komponenta %component " -"je velika %size bajtov)." +"je velika %size_in_bytes bajtov)." #: src/wx/dcp_panel.cc:868 msgid "Frame Rate" @@ -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,10 +3365,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Enota podnaslova %n ima ne-niÄelno toÄko vstopa <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "Enota podnaslova %asset_id ima ne-niÄelno toÄko vstopa <EntryPoint>." #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." -msgstr "ASSETMAP %n ima veÄ kot eno sredstvo z istim ID-jem." +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 %n" -msgstr "ZvoÄno sredstvo %f nima veveljavne hitrosti sliÄic %n." +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 (%n)" -msgstr "CPL %f ima neveljavno oznako metapodatkov CPL razÅ¡iritve (%n)" +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 %n instead of 1." -msgstr "DCP ima FFOC %n namesto 1." +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 %n instead of the reel duration minus one." -msgstr "DCP ima LFOC %n namesto trajanja koluta manj 1." +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,40 +3589,40 @@ 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 %n" -msgstr "ZvoÄno sredstvo %f nima veveljavne hitrosti sliÄic %n." +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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." msgstr "" -"PKL %n ima <AnnotationText>, ki se ne ujema s CPL-jevim <ContentTitleText>." +"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 %n has encrypted content but is not signed." -msgstr "PKL %n ima Å¡ifrirano vsebino, vendar ni podpisan." +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 %n has more than one asset with the same ID." -msgstr "PKL %n ima veÄ kot eno sredstvo z istim ID." +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 (%n)." -msgstr "XML v %f je nepravilno oblikovan (%n)." +msgid "The XML in %f is malformed (%error)." +msgstr "XML v %f je nepravilno oblikovan (%error)." -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "XML v %f je nepravilno oblikovan v vrstici %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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." +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:295 +#: src/wx/verify_dcp_result_panel.cc:328 #, c-format -msgid "The asset %f is missing." -msgstr "Manjka sredstvo %f." +msgid "" +"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." -#: src/wx/verify_dcp_result_panel.cc:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "Sredstvo %n ima trajanje manj kot 1 sekundo, kar je neveljavno." +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:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "" -"Sredstvo %n ima imanentno trajanje manj kot 1 sekundo, kar je neveljavno." +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:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "Sredstvo %n nima kontrolne vsote <Hash> v CPL." +msgid "The asset %f is missing." +msgstr "Manjka sredstvo %f." -#: 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 " @@ -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 %n has no <EntryPoint> tag." -msgstr "Sredstvo zaprtega napisa %n nima oznake vstopne toÄke <EntryPoint>." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." +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 \"%n\" 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 »%n« 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 %n 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 %n 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,37 +3803,36 @@ 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 -msgid "The invalid language tag %n is used." -msgstr "Uporabljena je neveljavna jezikovna oznaka %n." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." +msgstr "Uporabljena je neveljavna jezikovna oznaka %language." #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 (%s) nekega Äasovno opredeljenega besedila ni enako trajanju " -"vsebnika (%s) 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 %n." -msgstr "ZvoÄno sredstvo %f nima veveljavne hitrosti sliÄic %n." +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 %n contains no subtitles." -msgstr "Sredstvo podnaslovov %n ne vsebuje podnaslovov." - -#: src/wx/verify_dcp_result_panel.cc:426 -#, c-format -msgid "The subtitle asset %n has no <EntryPoint> tag." -msgstr "Sredstvo podnaslovov %n 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 %n 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 %n 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 %n." -msgstr "Sredstvo videa %f uporablja neveljavno velikost slike %n." +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 %n 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 %n 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 0c939e941..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,14 +237,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." -msgstr "En 2K JPEG2000-bild innehÃ¥ller %n bildsegment istället för 3." +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 %n" -msgstr "En JPEG2000-bild innehÃ¥ller en felaktig POC-markering (%n)." +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 +# Svengelska +#: src/wx/verify_dcp_result_panel.cc:507 #, c-format -msgid "A 2K JPEG2000 frame has %n POC marker(s) instead of 0." -msgstr "En 2K JPEG2000-bild innehÃ¥ller %n POC-markeing(ar) istället för 0." +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." -# Svengelska -#: src/wx/verify_dcp_result_panel.cc:492 +#: src/wx/verify_dcp_result_panel.cc:542 #, c-format -msgid "A 2K JPEG2000 frame has %n guard bits instead of 1." -msgstr "En 2K JPEG2000-bild innehÃ¥ller %n guard bits istället för 1." +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:562 +#: src/wx/verify_dcp_result_panel.cc:577 #, c-format -msgid "A 4K JPEG2000 frame contains %n tile parts instead of 6." -msgstr "En 4K JPEG2000-bild innehÃ¥ller %n bildsegment istället för 6." +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 %n" -msgstr "En JPEG2000-bild innehÃ¥ller en felaktig POC-markering (%n)." +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 +#: src/wx/verify_dcp_result_panel.cc:514 #, c-format -msgid "A 4K JPEG2000 frame has %n POC marker(s) instead of 1." -msgstr "En 4K JPEG2000-bild innehÃ¥ller %n POC-markeing(ar) istället för 1." +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:499 +#: src/wx/verify_dcp_result_panel.cc:549 #, c-format -msgid "A 4K JPEG2000 frame has %n guard bits instead of 2." -msgstr "En 4K JPEG2000-bild innehÃ¥ller %n guard bits istället för 2." +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:548 +#: 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 %n instead of 32." -msgstr "En JPEG2000-bild innehÃ¥ller en kodblockshöjd pÃ¥ %n 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 %n instead of 32." -msgstr "En JPEG2000-bild innehÃ¥ller en kodblocksbredd pÃ¥ %n 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,21 +356,21 @@ 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 (%n)." -msgstr "En bild har en trasig JPEG2000-ström (%n)" +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "En bild har en trasig JPEG2000-ström (%error)" #: src/wx/hints_dialog.cc:183 #, c-format 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,13 +585,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,10 +896,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "Undertexten %n har en icke-tom <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." +msgstr "Undertexten %asset_id har en icke-tom <EntryPoint>." #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 msgid "Closed captions" @@ -1033,9 +1045,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Kunde inte ladda DCP: %s" #: src/wx/gl_video_view.cc:131 @@ -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,11 +1626,11 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,10 +3418,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "UndertexttillgÃ¥ngen %n har en icke-tom <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "UndertexttillgÃ¥ngen %asset_id har en icke-tom <EntryPoint>." #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." +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 %n" -msgstr "LjudspÃ¥ret %f har ogiltlig bildhastighet %n." +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 (%n)" -msgstr "CPL:en %f har en felaktig CPL-utöknings metadata tagg (%n)" +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 %n instead of 1." -msgstr "DCP:n har en FFOC av %n istället för 1." +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 %n instead of the reel duration minus one." -msgstr "DCP:n har en LFOC av %n istället för rullens längd minus ett." +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,118 +3650,121 @@ 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 %n" -msgstr "LjudspÃ¥ret %f har ogiltlig bildhastighet %n." +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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." msgstr "" -"PKL:en %n har en <AnnotationText> som inte stämmer med CPL:ens " +"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 %n has encrypted content but is not signed." -msgstr "PKL:en %n har krypterat innehÃ¥ll men är inte signerat." +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 %n has more than one asset with the same ID." -msgstr "PKL:en %n har krypterat innehÃ¥ll men är inte signerat." +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 (%n)." -msgstr "XML-koden i %f är felaktig (%n)." +msgid "The XML in %f is malformed (%error)." +msgstr "XML-koden i %f är felaktig (%error)." -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "XML-koden i %f är felaktig pÃ¥ rad %l (%n)" +#: 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 %n 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 %n 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 %n 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." -msgstr "TillgÃ¥ngen %f är 3D men dess MXF är markerat som 2D." +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:295 +#: src/wx/verify_dcp_result_panel.cc:328 #, c-format -msgid "The asset %f is missing." -msgstr "Komponenten %f saknas." +msgid "" +"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:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "Komponenten %n har en speltid under 1 sekund, vilket inte är tillÃ¥tet." +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:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "" -"Komponenten %n har en faktisk speltid under 1 sekund, vilket inte är " -"tillÃ¥tet." +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:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "Komponenten %n har ingen <Hash> i CPL:en." +msgid "The asset %f is missing." +msgstr "Komponenten %f saknas." -#: 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 %n has no <EntryPoint> tag." -msgstr "UndertexttillgÃ¥ngen %n har ingen <EntryPoint> tagg." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." +msgstr "UndertexttillgÃ¥ngen %asset_id har ingen <EntryPoint> tagg." #: src/wx/film_name_location_dialog.cc:146 #, fuzzy, c-format @@ -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 \"%n\" 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 %n 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 %n 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,38 +3856,37 @@ 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 -msgid "The invalid language tag %n is used." -msgstr "Den felaktiga sprÃ¥ktaggen %n används." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." +msgstr "Den felaktiga sprÃ¥ktaggen %language används." #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 (%s) för nÃ¥gon tajmad text är inte samma som ContainerDuration " -"(%s) 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 %n." -msgstr "LjudspÃ¥ret %f har ogiltlig bildhastighet %n." +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 %n 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 %n has no <EntryPoint> tag." -msgstr "UndertexttillgÃ¥ngen %n 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 %n 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 %n 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 %n." -msgstr "VideotillgÃ¥ngen %f använder den felaktiga bildstorleken %n." +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." -#: 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 %n 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 %n 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 e9eacf928..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,14 +232,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +338,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "" #: src/wx/hints_dialog.cc:183 @@ -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,13 +554,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +846,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -985,9 +991,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "" #: src/wx/gl_video_view.cc:131 @@ -1518,25 +1524,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3231,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,109 +3442,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 #, c-format -msgid "The PKL %f has an invalid namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -3571,49 +3579,48 @@ 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 \"%n\" 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 %n 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 066cdf071..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,14 +234,14 @@ 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 %n" +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 (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" msgstr "" #: src/wx/subtitle_appearance_dialog.cc:118 @@ -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 %n tile parts instead of 3." +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 %n" +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 %n 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 %n 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 %n tile parts instead of 6." +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 %n" +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 %n 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 %n 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 %n 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 %n 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,9 +342,9 @@ 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 (%n)." +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." msgstr "" #: src/wx/hints_dialog.cc:183 @@ -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,13 +578,13 @@ 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> %n has been used." +msgid "An invalid <ContentKind> %content_kind has been used." msgstr "" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 @@ -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,9 +888,9 @@ msgstr "" "ÐатиÑніть кнопку, щоб вÑтановити однакові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ñього обраного " "контенту." -#: src/wx/verify_dcp_result_panel.cc:435 +#: src/wx/verify_dcp_result_panel.cc:450 #, c-format -msgid "Closed caption asset %n has a non-zero <EntryPoint>." +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 @@ -1036,9 +1042,9 @@ 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 (%n)" +msgid "Could not read DCP (%error)" msgstr "Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ KDM." #: src/wx/gl_video_view.cc:131 @@ -1606,25 +1612,25 @@ 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 " -"is %size bytes in size)." +"is %size_in_bytes bytes in size)." msgstr "" #: src/wx/dcp_panel.cc:868 @@ -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,9 +3402,9 @@ 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 %n has a non-zero <EntryPoint>." +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." msgstr "" #: src/wx/export_subtitles_dialog.cc:105 @@ -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 %n has more than one asset with the same ID." +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 %n" +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 (%n)" +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 %n instead of 1." +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 %n instead of the reel duration minus one." +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,109 +3622,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 #, c-format -msgid "The PKL %f has an invalid namespace %n" +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 %n has an <AnnotationText> which does not match its CPL's " +"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 %n has encrypted content but is not signed." +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 %n has more than one asset with the same ID." +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 (%n)." +msgid "The XML in %f is malformed (%error)." msgstr "" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." +#: 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 %n 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 %n 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 %n 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 %n 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 %n 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 %n has no <EntryPoint> tag." +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." msgstr "" #: src/wx/film_name_location_dialog.cc:146 @@ -3753,49 +3761,48 @@ 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 \"%n\" 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 %n 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 -msgid "The invalid language tag %n is used." +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." msgstr "" #: src/wx/smpte_metadata_dialog.cc:63 @@ -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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) 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 %n." +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 %n 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 %n 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 %n 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 %n." +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 %n 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 fd0524ed8..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,15 +247,15 @@ 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 %n" -msgstr "<IssueDate> å…·æœ‰æ— æ•ˆå€¼ %n" +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 (%n)" -msgstr "<MainSoundConfiguration> ä¸å¯ç”¨ (%n)" +msgid "<MainSoundConfiguration> is invalid (%error)" +msgstr "<MainSoundConfiguration> ä¸å¯ç”¨ (%error)" #: src/wx/subtitle_appearance_dialog.cc:118 msgid "<b>New colour</b>" @@ -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 %n tile parts instead of 3." -msgstr "2K JPEG2000帧包å«%n个图å—éƒ¨åˆ†ï¼Œè€Œä¸æ˜¯3个。" +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 %n" -msgstr "一个 2K JPEG2000 å¸§åŒ…å«æ— 效的 Rsiz(承载力)值 %n" +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 +#: src/wx/verify_dcp_result_panel.cc:507 #, c-format -msgid "A 2K JPEG2000 frame has %n POC marker(s) instead of 0." -msgstr "2K JPEG2000帧具有 %n POCæ ‡è®°è€Œä¸æ˜¯0。" +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:492 +#: src/wx/verify_dcp_result_panel.cc:542 #, c-format -msgid "A 2K JPEG2000 frame has %n guard bits instead of 1." -msgstr "2K JPEG2000帧具有 %n ä¿æŠ¤ä½è€Œä¸æ˜¯1。" +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:562 +#: src/wx/verify_dcp_result_panel.cc:577 #, c-format -msgid "A 4K JPEG2000 frame contains %n tile parts instead of 6." -msgstr "4K JPEG2000å¸§åŒ…å« %n 个图å—éƒ¨åˆ†ï¼Œè€Œä¸æ˜¯6个。" +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 %n" -msgstr "一个 2K JPEG2000 å¸§åŒ…å«æ— 效的 Rsiz(承载力)值 %n" +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 +#: src/wx/verify_dcp_result_panel.cc:514 #, c-format -msgid "A 4K JPEG2000 frame has %n POC marker(s) instead of 1." -msgstr "4K JPEG2000帧具有 %n POCæ ‡è®°è€Œä¸æ˜¯1。" +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:499 +#: src/wx/verify_dcp_result_panel.cc:549 #, c-format -msgid "A 4K JPEG2000 frame has %n guard bits instead of 2." -msgstr "4K JPEG2000帧具有 %n ä¿æŠ¤ä½ è€Œä¸æ˜¯2。" +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:548 +#: 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 %n instead of 32." -msgstr "JPEG2000帧的代ç å—高度为 %n ï¼Œè€Œä¸æ˜¯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 %n instead of 32." -msgstr "JPEG2000帧的代ç å—宽度为 %n ï¼Œè€Œä¸æ˜¯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,21 +353,21 @@ 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 (%n)." -msgstr "å›¾ç‰‡å¸§åŒ…å«æ— 效的JPEG2000ç æµï¼ˆ%n)" +msgid "A picture frame has an invalid JPEG2000 codestream (%error)." +msgstr "å›¾ç‰‡å¸§åŒ…å«æ— 效的JPEG2000ç æµï¼ˆ%error)" #: src/wx/hints_dialog.cc:183 #, c-format 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,14 +573,14 @@ 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> %n has been used." -msgstr "ä¸€ä¸ªæ— æ•ˆçš„ <ContentKind> %n 被使用。" +msgid "An invalid <ContentKind> %content_kind has been used." +msgstr "ä¸€ä¸ªæ— æ•ˆçš„ <ContentKind> %content_kind 被使用。" #: src/wx/dkdm_output_panel.cc:204 src/wx/kdm_output_panel.cc:321 msgid "An unknown exception occurred." @@ -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,10 +867,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "éšè—å¼å—å¹•èµ„æº %n 具有éžé›¶ <EntryPoint>。" +msgid "Closed caption asset %asset_id has a non-zero <EntryPoint>." +msgstr "éšè—å¼å—å¹•èµ„æº %asset_id 具有éžé›¶ <EntryPoint>。" #: src/wx/closed_captions_dialog.cc:49 src/wx/dcp_referencing_dialog.cc:115 msgid "Closed captions" @@ -1009,10 +1012,10 @@ 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 (%n)" -msgstr "æ— æ³•è¯»å– DCP (%n)" +msgid "Could not read DCP (%error)" +msgstr "æ— æ³•è¯»å– DCP (%error)" #: src/wx/gl_video_view.cc:131 #, c-format @@ -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 bytes in size)." -msgstr "帧 %frame 包å«ä¸€ä¸ªå›¾åƒç»„件过大(组件 %component 的大å°ä¸º %size å—节)" +"is %size_in_bytes bytes in size)." +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,10 +3278,10 @@ 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 %n has a non-zero <EntryPoint>." -msgstr "å—幕文件 %n有éžé›¶ <EntryPoint>。" +msgid "Subtitle asset %asset_id has a non-zero <EntryPoint>." +msgstr "å—幕文件 %asset_id有éžé›¶ <EntryPoint>。" #: src/wx/export_subtitles_dialog.cc:105 msgid "Subtitle files (.mxf)|*.mxf" @@ -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 %n has more than one asset with the same ID." -msgstr "ASSETMAP %n 䏿œ‰ä¸€ä¸ªä»¥ä¸Šçš„资产具有相åŒçš„ID。" +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 %n" -msgstr "声音资产 %cpl 的帧率 %n éžæ³•" +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 (%n)" -msgstr "CPL %få…·æœ‰æ— æ•ˆçš„CPLæ‰©å±•å…ƒæ•°æ®æ ‡è®°(%n)" +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 %n instead of 1." -msgstr "DCPçš„FFOC为%nï¼Œè€Œä¸æ˜¯1。" +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 %n instead of the reel duration minus one." -msgstr "DCPçš„LFOC为%nï¼Œè€Œä¸æ˜¯å·è½´æŒç»æ—¶é—´å‡1。" +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,110 +3491,113 @@ 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 %n" -msgstr "声音资产 %f 的帧率 %n éžæ³•" +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 %n has an <AnnotationText> which does not match its CPL's " +"The PKL %pkl has an <AnnotationText> which does not match its CPL's " "<ContentTitleText>." -msgstr "PKL%n具有与其CPLçš„ <ContentTitleText> ä¸åŒ¹é…çš„ <AnnotationText> 。" +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 %n has encrypted content but is not signed." -msgstr "PKL %n包å«å·²åŠ å¯†å†…å®¹ï¼Œä½†æœªç¾å。" +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 %n has more than one asset with the same ID." -msgstr "PKL %n 包å«ä¸€ä¸ªä»¥ä¸Šçš„资产具有相åŒçš„ID。" +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 (%n)." -msgstr "%fä¸çš„XMLæ ¼å¼ä¸æ£ç¡®(%n)。" +msgid "The XML in %f is malformed (%error)." +msgstr "%fä¸çš„XMLæ ¼å¼ä¸æ£ç¡®(%error)。" -#: src/wx/verify_dcp_result_panel.cc:303 -msgid "The XML in %f is malformed on line %l (%n)." -msgstr "%f ä¸çš„XML在第 %l è¡Œæ ¼å¼ä¸æ£ç¡®(%n)。" +#: 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 %n bytes which is over the " -"256KB limit." -msgstr "éšè—å¼å—幕资产 %f ä¸çš„XMLå 用了 %n å—节,超过了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 %n has more than one namespace declaration." -msgstr "å—幕资产 %n ä¸çš„ XML 包å«å¤šä¸ªå‘½å空间声明。" +"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。" +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:295 +#: src/wx/verify_dcp_result_panel.cc:328 #, c-format -msgid "The asset %f is missing." -msgstr "丢失资产 %f。" +msgid "" +"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:316 +#: src/wx/verify_dcp_result_panel.cc:453 #, c-format -msgid "The asset %n has a duration of less than 1 second, which is invalid." -msgstr "æ¤èµ„产 %n çš„æŒç»æ—¶é—´å°‘于1ç§’ï¼Œè¿™æ˜¯æ— æ•ˆçš„ã€‚" +msgid "The asset %asset_id has no <Hash> in the CPL." +msgstr "æ¤èµ„产 %asset_id 在CPL䏿²¡æœ‰<Hash>。" -#: src/wx/verify_dcp_result_panel.cc:313 +#: src/wx/verify_dcp_result_panel.cc:351 #, c-format -msgid "" -"The asset %n has an intrinsic duration of less than 1 second, which is " -"invalid." -msgstr "æ¤èµ„产 %n çš„æŒç»æ—¶é—´å°äºŽ1ç§’ï¼Œè¿™æ˜¯æ— æ•ˆçš„ã€‚" +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:438 +#: src/wx/verify_dcp_result_panel.cc:310 #, c-format -msgid "The asset %n has no <Hash> in the CPL." -msgstr "æ¤èµ„产 %n 在CPL䏿²¡æœ‰<Hash>。" +msgid "The asset %f is missing." +msgstr "丢失资产 %f。" -#: 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 "èµ„äº§æ˜ å°„ä¸ 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 %n has no <EntryPoint> tag." -msgstr "éšè—å¼å—幕资产 %n 没有 <EntryPoint> æ ‡è®°ã€‚" +msgid "The closed caption asset %asset_id has no <EntryPoint> tag." +msgstr "éšè—å¼å—幕资产 %asset_id 没有 <EntryPoint> æ ‡è®°ã€‚" #: src/wx/film_name_location_dialog.cc:146 #, c-format @@ -3643,75 +3633,76 @@ 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 \"%n\" was not found, or was not referred to in " -"the ASSETMAP." -msgstr "å—体文件 ID “%n†未找到,或未在 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 %n bytes which is over the 10MB " -"limit." -msgstr "å—幕资产 %f ä¸çš„å—体å 用了 %n å—节,超过了10MBçš„é™åˆ¶ã€‚" +"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 -msgid "The invalid language tag %n is used." -msgstr "ä½¿ç”¨äº†æ— æ•ˆçš„è¯è¨€æ ‡è®°%n。" +#: src/wx/verify_dcp_result_panel.cc:357 +msgid "The invalid language tag %language is used." +msgstr "ä½¿ç”¨äº†æ— æ•ˆçš„è¯è¨€æ ‡è®°%language。" #: src/wx/smpte_metadata_dialog.cc:63 #, c-format 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 (%s) of some timed text is not the same as the " -"ContainerDuration (%s) of its MXF." -msgstr "æŸäº›å—å¹•æ–‡æœ¬çš„åˆ†å·æŒç»æ—¶é—´ (%s) 与其MXF的容器æŒç»æ—¶é—´ (%s) ä¸åŒã€‚" +"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 %n." -msgstr "声音资产 %f çš„ä½æ·±åº¦ %n æ— æ•ˆã€‚" +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 æ— æ•ˆã€‚" @@ -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 %n contains no subtitles." -msgstr "å—å¹•èµ„æº %n ä¸åŒ…å«å—幕。" - -#: src/wx/verify_dcp_result_panel.cc:426 -#, c-format -msgid "The subtitle asset %n has no <EntryPoint> tag." -msgstr "å—幕资产 %n 没有<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 %n bytes which is over the 115MB limit." -msgstr "å—幕文本资产 %f å 用了%nå—节,超出了115MBçš„é™åˆ¶ã€‚" +"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 %n." -msgstr "视频资产 %f ä½¿ç”¨äº†æ— æ•ˆçš„å›¾åƒå¤§å° %n。" +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 %n 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)ä¸çš„资产 %nï¼Œå› æ¤å®ƒæ˜¯ä¸€ä¸ªâ€œç‰ˆæœ¬æ–‡ä»¶â€" -"(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 ba9f4119a..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")); @@ -137,6 +142,7 @@ supported_by.Add (wxT ("Jason Boulware")); supported_by.Add (wxT ("Yves Bourget")); supported_by.Add (wxT ("Cédric Bourquard")); supported_by.Add (wxT ("Erik Bowen")); +supported_by.Add (wxT ("Parker Bowling")); supported_by.Add (wxT ("Derek Boyes")); supported_by.Add (wxT ("Fabio Bozzoli")); supported_by.Add (wxT ("Jean-Pierre Brachet")); @@ -248,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")); @@ -258,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")); @@ -404,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")); @@ -435,6 +444,7 @@ supported_by.Add (wxT ("“How to Successfully Fail in Hollywood†Film")); supported_by.Add (wxT ("Hamann Film")); supported_by.Add (wxT ("Traverse City Film Festival")); supported_by.Add (wxT ("Z-fest Film Project")); +supported_by.Add (wxT ("New Vizion Film/Media")); supported_by.Add (wxT ("DIAMETRALE Filmfestival")); supported_by.Add (wxT ("Lichtwerk && Kamera Filmkunst")); supported_by.Add (wxT ("Casablanca Filmkunsttheater")); @@ -471,6 +481,7 @@ supported_by.Add (wxT ("Labyrinth Films")); supported_by.Add (wxT ("Tiempos Dificiles Films")); supported_by.Add (wxT ("Artio Films")); supported_by.Add (wxT ("Jason Gray (Loaded Films)")); +supported_by.Add (wxT ("Solothurner Filmtage")); supported_by.Add (wxT ("Broadway Filmtheater")); supported_by.Add (wxT ("Diego Fincatto")); supported_by.Add (wxT ("Andres Fink")); @@ -523,6 +534,7 @@ supported_by.Add (wxT ("Reeju George")); supported_by.Add (wxT ("Rob George")); supported_by.Add (wxT ("Ian Gibbins")); supported_by.Add (wxT ("John Gigrich")); +supported_by.Add (wxT ("Weldon Gillian")); supported_by.Add (wxT ("Barry J. Gillis")); supported_by.Add (wxT ("Victor Gimenez")); supported_by.Add (wxT ("Sebastian Hernandis Giner")); @@ -582,11 +594,13 @@ supported_by.Add (wxT ("Filmcrew Hamburg")); supported_by.Add (wxT ("Frédéric Hamelin")); supported_by.Add (wxT ("Howard Hamilton")); supported_by.Add (wxT ("Florian Hammann")); +supported_by.Add (wxT ("Dominic Büttner Hammerfilm")); supported_by.Add (wxT ("Hassan Hamza")); 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")); @@ -607,11 +621,13 @@ 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")); supported_by.Add (wxT ("Antonio Ruiz Hernandez")); supported_by.Add (wxT ("Javier Hernandez")); +supported_by.Add (wxT ("Francisco Javier Espinal Hernández")); supported_by.Add (wxT ("Mark Van Heusden")); supported_by.Add (wxT ("Michael Higgins")); supported_by.Add (wxT ("Erin Hill")); @@ -736,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")); @@ -776,7 +793,7 @@ supported_by.Add (wxT ("Christian Kreil")); supported_by.Add (wxT ("Sebastian Kreis")); supported_by.Add (wxT ("Tobias Kremer")); supported_by.Add (wxT ("Indu Krishnan")); -supported_by.Add (wxT ("Cabine Filmtheater Kriterion")); +supported_by.Add (wxT ("Filmtheater Kriterion")); supported_by.Add (wxT ("Kino Krokodil")); supported_by.Add (wxT ("Jakub Królikowski")); supported_by.Add (wxT ("Peter Kuehnis-Dietz")); @@ -817,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")); @@ -862,6 +880,7 @@ supported_by.Add (wxT ("Divine Sign Productions LLC")); supported_by.Add (wxT ("8 Picture House LLC")); supported_by.Add (wxT ("Hummingbear && Company LLC")); supported_by.Add (wxT ("DAA Montenegro LLC")); +supported_by.Add (wxT ("Ghost Ship LLC")); supported_by.Add (wxT ("Mainstreem LLC")); supported_by.Add (wxT ("Mesh Multimedia LLC")); supported_by.Add (wxT ("Deep Structure Productions LLC")); @@ -878,6 +897,7 @@ supported_by.Add (wxT ("ColabDM Productions LLP")); supported_by.Add (wxT ("Marco Löber")); supported_by.Add (wxT ("Sergio Lobo-Navia")); supported_by.Add (wxT ("Locarco")); +supported_by.Add (wxT ("Colin Locascio")); supported_by.Add (wxT ("Joshua Logan")); supported_by.Add (wxT ("LoïcK!")); supported_by.Add (wxT ("Kwen In London")); @@ -886,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")); @@ -895,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")); @@ -1089,6 +1111,7 @@ supported_by.Add (wxT ("Antons Video Productions P/L")); supported_by.Add (wxT ("k pakiz")); supported_by.Add (wxT ("Nina Paley")); supported_by.Add (wxT ("Sigurður Sverrir Pálsson")); +supported_by.Add (wxT ("Ambuj Pandey")); supported_by.Add (wxT ("Pedro Pão")); supported_by.Add (wxT ("Harald Pape")); supported_by.Add (wxT ("Stanley Papulkas")); @@ -1160,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")); @@ -1173,11 +1197,13 @@ supported_by.Add (wxT ("Hitman Productions")); supported_by.Add (wxT ("WLFK Productions")); supported_by.Add (wxT ("Ceridwen Productions")); supported_by.Add (wxT ("ZooTime Productions")); +supported_by.Add (wxT ("Boom Video Productions")); supported_by.Add (wxT ("SmallStage Productions")); 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")); @@ -1248,6 +1274,7 @@ supported_by.Add (wxT ("Leigh Rosin")); supported_by.Add (wxT ("Jean-Maurice Rossel")); supported_by.Add (wxT ("Antonio Rotunno")); supported_by.Add (wxT ("Georges Rousseau")); +supported_by.Add (wxT ("Shelagh Rowan-Legg")); supported_by.Add (wxT ("David Rozenthal")); supported_by.Add (wxT ("Damon Rubio")); supported_by.Add (wxT ("Jean-Marc Rueff")); @@ -1326,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")); @@ -1371,6 +1399,7 @@ supported_by.Add (wxT ("Chris Stevens")); supported_by.Add (wxT ("Mike Stiebing")); supported_by.Add (wxT ("Tomislav Stojanović")); supported_by.Add (wxT ("The Icelandic Academy of Storytelling")); +supported_by.Add (wxT ("Jon Stout")); supported_by.Add (wxT ("Robert Stracke")); supported_by.Add (wxT ("Patrik Strömdahl")); supported_by.Add (wxT ("Francois Stuck")); @@ -1479,6 +1508,7 @@ supported_by.Add (wxT ("Tilman Vatteroth")); supported_by.Add (wxT ("Jos Vecht")); supported_by.Add (wxT ("Christian Vennefrohne")); supported_by.Add (wxT ("Jaap Verseput")); +supported_by.Add (wxT ("Dan Viafore")); supported_by.Add (wxT ("Videoworld")); supported_by.Add (wxT ("Robert Vidić")); supported_by.Add (wxT ("Burg Kino Vienna")); @@ -1520,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")); @@ -1565,6 +1596,7 @@ supported_by.Add (wxT ("Daniel Židek")); supported_by.Add (wxT ("Hens Zimmerman")); supported_by.Add (wxT ("Ernst Zimmerman")); supported_by.Add (wxT ("Roberto Zin")); +supported_by.Add (wxT ("Grygorii Zinchenko")); supported_by.Add (wxT ("Matthieu Zingle")); supported_by.Add (wxT ("Allard Zoetman")); supported_by.Add (wxT ("zondergeluid")); diff --git a/src/wx/text_view.cc b/src/wx/text_view.cc index bde7b09e9..999fe94ab 100644 --- a/src/wx/text_view.cc +++ b/src/wx/text_view.cc @@ -142,7 +142,7 @@ TextView::data_start (ContentStringText cts) wxListItem list_item; list_item.SetId (_subs); _list->InsertItem (list_item); - _list->SetItem (_subs, 0, std_to_wx (cts.from().timecode (_frc->source))); + _list->SetItem (_subs, 0, std_to_wx (cts.from().timecode (_frc->source()))); _list->SetItem (_subs, 2, std_to_wx (i.text ())); _start_times.push_back (cts.from ()); ++_subs; @@ -160,7 +160,7 @@ TextView::data_stop (ContentTime time) } for (int i = _subs - *_last_count; i < _subs; ++i) { - _list->SetItem (i, 1, std_to_wx (time.timecode (_frc->source))); + _list->SetItem (i, 1, std_to_wx (time.timecode (_frc->source()))); } } @@ -176,5 +176,5 @@ TextView::subtitle_selected (wxListEvent& ev) auto lc = _content.lock (); DCPOMATIC_ASSERT (lc); /* Add on a frame here to work around any rounding errors and make sure we land in the subtitle */ - _film_viewer.seek(lc, _start_times[ev.GetIndex()] + ContentTime::from_frames(1, _frc->source), true); + _film_viewer.seek(lc, _start_times[ev.GetIndex()] + ContentTime::from_frames(1, _frc->source()), true); } diff --git a/src/wx/verify_dcp_result_panel.cc b/src/wx/verify_dcp_result_panel.cc index 19d2b4831..6b319b03e 100644 --- a/src/wx/verify_dcp_result_panel.cc +++ b/src/wx/verify_dcp_result_panel.cc @@ -193,9 +193,6 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) dcp::Time(note.frame().get(), note.frame_rate()->as_float(), note.frame_rate()->numerator).as_string(dcp::Standard::SMPTE) )); } - if (auto const n = note.note()) { - message.Replace(char_to_wx("%n"), std_to_wx(*n)); - } if (auto const f = note.file()) { message.Replace(char_to_wx("%f"), std_to_wx(f->filename().string())); } @@ -205,8 +202,8 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) if (auto const component = note.component()) { message.Replace(char_to_wx("%component"), std_to_wx(fmt::to_string(*component))); } - if (auto const size = note.size()) { - message.Replace(char_to_wx("%size"), std_to_wx(fmt::to_string(*size))); + if (auto const size_in_bytes = note.size_in_bytes()) { + message.Replace(char_to_wx("%size_in_bytes"), std_to_wx(fmt::to_string(*size_in_bytes))); } if (auto const load_font_id = note.load_font_id()) { message.Replace(char_to_wx("%load_font_id"), std_to_wx(*load_font_id)); @@ -220,6 +217,9 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) if (auto const cpl = note.cpl_id()) { message.Replace(char_to_wx("%cpl"), std_to_wx(*cpl)); } + if (auto const pkl = note.pkl_id()) { + message.Replace(char_to_wx("%pkl"), std_to_wx(*pkl)); + } if (auto const frame_rate = note.frame_rate()) { if (frame_rate->denominator == 1) { message.Replace(char_to_wx("%frame_rate"), std_to_wx(fmt::to_string(frame_rate->numerator))); @@ -227,6 +227,21 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) message.Replace(char_to_wx("%frame_rate"), std_to_wx(fmt::to_string(frame_rate->as_float()))); } } + if (auto const error = note.error()) { + message.Replace(char_to_wx("%error"), std_to_wx(*error)); + } + if (auto const bit_depth = note.bit_depth()) { + message.Replace(char_to_wx("%bit_depth"), std_to_wx(fmt::to_string(*bit_depth))); + } + if (auto const issue_date = note.issue_date()) { + message.Replace(char_to_wx("%issue_date"), std_to_wx(*issue_date)); + } + if (auto const size_in_pixels = note.size_in_pixels()) { + message.Replace(char_to_wx("%size_in_pixels"), wxString::Format(char_to_wx("%dx%d"), size_in_pixels->width, size_in_pixels->height)); + } + if (auto const time = note.time()) { + message.Replace(char_to_wx("%time"), std_to_wx(time->as_string(dcp::Standard::SMPTE))); + } return message; }; @@ -268,7 +283,7 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) for (auto const& i: notes_by_code) { switch (i.first) { case dcp::VerificationNote::Code::FAILED_READ: - add(i.second, _("Could not read DCP (%n)")); + add(i.second, _("Could not read DCP (%error)")); break; case dcp::VerificationNote::Code::MISMATCHED_CPL_HASHES: add(i.second, _("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.")); @@ -300,9 +315,9 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) case dcp::VerificationNote::Code::INVALID_XML: for (auto const& note: i.second) { if (note.line()) { - add({ note }, _("The XML in %f is malformed on line %l (%n).")); + add({ note }, _("The XML in %f is malformed on line %l (%error).")); } else { - add({ note }, _("The XML in %f is malformed (%n).")); + add({ note }, _("The XML in %f is malformed (%error).")); } } break; @@ -310,10 +325,10 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) add(i.second, _("No ASSETMAP or ASSETMAP.xml file was found.")); break; case dcp::VerificationNote::Code::INVALID_INTRINSIC_DURATION: - add(i.second, _("The asset %n has an intrinsic duration of less than 1 second, which is invalid.")); + add(i.second, _("The asset %asset_id has an intrinsic duration of less than 1 second, which is invalid.")); break; case dcp::VerificationNote::Code::INVALID_DURATION: - add(i.second, _("The asset %n has a duration of less than 1 second, which is invalid.")); + add(i.second, _("The asset %asset_id has a duration of less than 1 second, which is invalid.")); break; case dcp::VerificationNote::Code::INVALID_PICTURE_FRAME_SIZE_IN_BYTES: add( @@ -330,7 +345,7 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) ); break; case dcp::VerificationNote::Code::EXTERNAL_ASSET: - add(i.second, _("This DCP refers to at the asset %n in another DCP (and perhaps others), so it is a \"version file\" (VF)")); + add(i.second, _("This DCP refers to the asset %asset_id in another DCP (and perhaps others), so it is a \"version file\" (VF)")); break; case dcp::VerificationNote::Code::THREED_ASSET_MARKED_AS_TWOD: add(i.second, _("The asset %f is 3D but its MXF is marked as 2D.")); @@ -339,10 +354,10 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) add(i.second, _("This DCP uses the Interop standard, but it should be made with SMPTE.")); break; case dcp::VerificationNote::Code::INVALID_LANGUAGE: - add(i.second, _("The invalid language tag %n is used.")); + add(i.second, _("The invalid language tag %language is used.")); break; case dcp::VerificationNote::Code::INVALID_PICTURE_SIZE_IN_PIXELS: - add(i.second, _("The video asset %f uses the invalid image size %n.")); + add(i.second, _("The video asset %f uses the invalid image size %size_in_pixels.")); break; case dcp::VerificationNote::Code::INVALID_PICTURE_FRAME_RATE_FOR_2K: add(i.second, _("The video asset %f uses the invalid frame rate %frame_rate.")); @@ -354,13 +369,13 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) add(i.second, _("The video asset is 4K which is not allowed for 3D video.")); break; case dcp::VerificationNote::Code::INVALID_CLOSED_CAPTION_XML_SIZE_IN_BYTES: - add(i.second, _("The XML in the closed caption asset %f takes up %n bytes which is over the 256KB limit.")); + add(i.second, _("The XML in the closed caption asset %f takes up %size_in_bytes bytes which is over the 256KB limit.")); break; case dcp::VerificationNote::Code::INVALID_TIMED_TEXT_SIZE_IN_BYTES: - add(i.second, _("The timed text asset %f takes up %n bytes which is over the 115MB limit.")); + add(i.second, _("The timed text asset %f takes up %size_in_bytes bytes which is over the 115MB limit.")); break; case dcp::VerificationNote::Code::INVALID_TIMED_TEXT_FONT_SIZE_IN_BYTES: - add(i.second, _("The fonts in the timed text asset %f take up %n bytes which is over the 10MB limit.")); + add(i.second, _("The fonts in the timed text asset %f take up %size_in_bytes bytes which is over the 10MB limit.")); break; case dcp::VerificationNote::Code::MISSING_SUBTITLE_LANGUAGE: add(i.second, _("The subtitle asset %f contains no <Language> tag.")); @@ -405,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.")); @@ -423,19 +438,19 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) add(i.second, _("The DCP has closed captions but not every reel has the same number of closed caption assets.")); break; case dcp::VerificationNote::Code::MISSING_SUBTITLE_ENTRY_POINT: - add(i.second, _("The subtitle asset %n has no <EntryPoint> tag.")); + add(i.second, _("The subtitle asset %asset_id has no <EntryPoint> tag.")); break; case dcp::VerificationNote::Code::INCORRECT_SUBTITLE_ENTRY_POINT: - add(i.second, _("Subtitle asset %n has a non-zero <EntryPoint>.")); + add(i.second, _("Subtitle asset %asset_id has a non-zero <EntryPoint>.")); break; case dcp::VerificationNote::Code::MISSING_CLOSED_CAPTION_ENTRY_POINT: - add(i.second, _("The closed caption asset %n has no <EntryPoint> tag.")); + add(i.second, _("The closed caption asset %asset_id has no <EntryPoint> tag.")); break; case dcp::VerificationNote::Code::INCORRECT_CLOSED_CAPTION_ENTRY_POINT: - add(i.second, _("Closed caption asset %n has a non-zero <EntryPoint>.")); + add(i.second, _("Closed caption asset %asset_id has a non-zero <EntryPoint>.")); break; case dcp::VerificationNote::Code::MISSING_HASH: - add(i.second, _("The asset %n has no <Hash> in the CPL.")); + add(i.second, _("The asset %asset_id has no <Hash> in the CPL.")); break; case dcp::VerificationNote::Code::MISSING_FFEC_IN_FEATURE: add(i.second, _("The DCP is a feature but has no FFEC (first frame of end credits) marker.")); @@ -450,10 +465,10 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) add(i.second, _("The DCP has no LFOC (last frame of content) marker.")); break; case dcp::VerificationNote::Code::INCORRECT_FFOC: - add(i.second, _("The DCP has a FFOC of %n instead of 1.")); + add(i.second, _("The DCP has a FFOC of %time instead of 1.")); break; case dcp::VerificationNote::Code::INCORRECT_LFOC: - add(i.second, _("The DCP has a LFOC of %n instead of the reel duration minus one.")); + add(i.second, _("The DCP has a LFOC of %time instead of the reel duration minus one.")); break; case dcp::VerificationNote::Code::MISSING_CPL_METADATA: add(i.second, _("The CPL %cpl has no CPL metadata tag.")); @@ -465,16 +480,16 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) add(i.second, _("The CPL %cpl has no CPL extension metadata tag.")); break; case dcp::VerificationNote::Code::INVALID_EXTENSION_METADATA: - add(i.second, _("The CPL %f has an invalid CPL extension metadata tag (%n)")); + add(i.second, _("The CPL %f has an invalid CPL extension metadata tag (%error)")); break; case dcp::VerificationNote::Code::UNSIGNED_CPL_WITH_ENCRYPTED_CONTENT: add(i.second, _("The CPL %cpl has encrypted content but is not signed.")); break; case dcp::VerificationNote::Code::UNSIGNED_PKL_WITH_ENCRYPTED_CONTENT: - add(i.second, _("The PKL %n has encrypted content but is not signed.")); + add(i.second, _("The PKL %pkl has encrypted content but is not signed.")); break; case dcp::VerificationNote::Code::MISMATCHED_PKL_ANNOTATION_TEXT_WITH_CPL: - add(i.second, _("The PKL %n has an <AnnotationText> which does not match its CPL's <ContentTitleText>.")); + add(i.second, _("The PKL %pkl has an <AnnotationText> which does not match its CPL's <ContentTitleText>.")); break; case dcp::VerificationNote::Code::PARTIALLY_ENCRYPTED: add(i.second, _("The DCP has encrypted content, but not all its assets are encrypted.")); @@ -482,21 +497,21 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) case dcp::VerificationNote::Code::INVALID_JPEG2000_CODESTREAM: add( i.second, - _("A picture frame has an invalid JPEG2000 codestream (%n)."), + _("A picture frame has an invalid JPEG2000 codestream (%error)."), _("More picture frames (not listed) have invalid JPEG2000 codestreams.") ); break; case dcp::VerificationNote::Code::INVALID_JPEG2000_GUARD_BITS_FOR_2K: add( i.second, - _("A 2K JPEG2000 frame has %n guard bits instead of 1."), + _("A 2K JPEG2000 frame has %guard_bits guard bits instead of 1."), _("More 2K JPEG2000 frames (not listed) have an invalid number of guard bits.") ); break; case dcp::VerificationNote::Code::INVALID_JPEG2000_GUARD_BITS_FOR_4K: add( i.second, - _("A 4K JPEG2000 frame has %n guard bits instead of 2."), + _("A 4K JPEG2000 frame has %guard_bits guard bits instead of 2."), _("More 4K JPEG2000 frames (not listed) have an invalid number of guard bits.") ); break; @@ -510,28 +525,28 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) case dcp::VerificationNote::Code::INVALID_JPEG2000_CODE_BLOCK_WIDTH: add( i.second, - _("A JPEG2000 frame has a code-block width of %n instead of 32."), + _("A JPEG2000 frame has a code-block width of %code_block_width instead of 32."), _("More JPEG2000 frames (not listed) have an invalid code-block width.") ); break; case dcp::VerificationNote::Code::INVALID_JPEG2000_CODE_BLOCK_HEIGHT: add( i.second, - _("A JPEG2000 frame has a code-block height of %n instead of 32."), + _("A JPEG2000 frame has a code-block height of %code_block_height instead of 32."), _("More JPEG2000 frames (not listed) have an invalid code-block height.") ); break; case dcp::VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_2K: add( i.second, - _("A 2K JPEG2000 frame has %n POC marker(s) instead of 0."), + _("A 2K JPEG2000 frame has %poc_markers POC marker(s) instead of 0."), _("More 2K JPEG2000 frames (not listed) have too many POC markers.") ); break; case dcp::VerificationNote::Code::INCORRECT_JPEG2000_POC_MARKER_COUNT_FOR_4K: add( i.second, - _("A 4K JPEG2000 frame has %n POC marker(s) instead of 1."), + _("A 4K JPEG2000 frame has %poc_markers POC marker(s) instead of 1."), _("More 4K JPEG2000 frames (not listed) have too many POC markers.") ); break; @@ -552,28 +567,28 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) case dcp::VerificationNote::Code::INVALID_JPEG2000_TILE_PARTS_FOR_2K: add( i.second, - _("A 2K JPEG2000 frame contains %n tile parts instead of 3."), + _("A 2K JPEG2000 frame contains %tile_parts tile parts instead of 3."), _("More 2K JPEG2000 frames (not listed) contain the wrong number of tile parts.") ); break; case dcp::VerificationNote::Code::INVALID_JPEG2000_TILE_PARTS_FOR_4K: add( i.second, - _("A 4K JPEG2000 frame contains %n tile parts instead of 6."), + _("A 4K JPEG2000 frame contains %tile_parts tile parts instead of 6."), _("More JPEG2000 frames (not listed) contain the wrong number of tile parts.") ); break; case dcp::VerificationNote::Code::INVALID_JPEG2000_RSIZ_FOR_2K: add( i.second, - _("A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %n"), + _("A 2K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"), _("More JPEG2000 frames (not listed) contain invalid Rsiz values.") ); break; case dcp::VerificationNote::Code::INVALID_JPEG2000_RSIZ_FOR_4K: add( i.second, - _("A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %n"), + _("A 4K JPEG2000 frame contains an invalid Rsiz (capabilities) value of %capabilities"), _("More JPEG2000 frames (not listed) contain invalid Rsiz values.") ); break; @@ -594,21 +609,8 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) add(i.second, _("The Asset ID in a timed text MXF is the same as the Resource ID or that of the contained XML.")); break; case dcp::VerificationNote::Code::MISMATCHED_TIMED_TEXT_DURATION: - { - for (auto const& note: i.second) { - vector<string> parts; - boost::split(parts, note.note().get(), boost::is_any_of(" ")); - add( - { note }, - wxString::Format( - _("The reel duration (%s) of some timed text is not the same as the ContainerDuration (%s) of its MXF."), - std_to_wx(parts[0]), - std_to_wx(parts[1]) - ) - ); - } + add(i.second, _("The reel duration (%other_duration) of some timed text is not the same as the ContainerDuration (%duration) of its MXF.")); break; - } case dcp::VerificationNote::Code::MISSED_CHECK_OF_ENCRYPTED: add(i.second, _("Part of the DCP could not be checked because no KDM was available.")); break; @@ -628,41 +630,41 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) add(i.second, _("There is a <Duration> tag inside a <MainMarkers>.")); break; case dcp::VerificationNote::Code::INVALID_CONTENT_KIND: - add(i.second, _("An invalid <ContentKind> %n has been used.")); + add(i.second, _("An invalid <ContentKind> %content_kind has been used.")); break; case dcp::VerificationNote::Code::INVALID_MAIN_PICTURE_ACTIVE_AREA: add(i.second, _("The <MainPictureActiveArea> is either not a multiple of 2, or is bigger than an asset.")); break; case dcp::VerificationNote::Code::DUPLICATE_ASSET_ID_IN_PKL: - add(i.second, _("The PKL %n has more than one asset with the same ID.")); + add(i.second, _("The PKL %pkl_id has more than one asset with the same ID.")); break; case dcp::VerificationNote::Code::DUPLICATE_ASSET_ID_IN_ASSETMAP: - add(i.second, _("The ASSETMAP %n has more than one asset with the same ID.")); + add(i.second, _("The ASSETMAP %asset_map_id has more than one asset with the same ID.")); break; case dcp::VerificationNote::Code::MISSING_SUBTITLE: - add(i.second, _("The subtitle asset %n contains no subtitles.")); + add(i.second, _("The subtitle asset %asset_id contains no subtitles.")); break; case dcp::VerificationNote::Code::INVALID_SUBTITLE_ISSUE_DATE: - add(i.second, _("<IssueDate> has an invalid value %n")); + add(i.second, _("<IssueDate> has an invalid value %issue_date")); break; case dcp::VerificationNote::Code::MISMATCHED_SOUND_CHANNEL_COUNTS: add(i.second, _("Sound assets do not all have the same channel count.")); break; case dcp::VerificationNote::Code::INVALID_MAIN_SOUND_CONFIGURATION: - add(i.second, _("<MainSoundConfiguration> is invalid (%n)")); + add(i.second, _("<MainSoundConfiguration> is invalid (%error)")); break; case dcp::VerificationNote::Code::MISSING_FONT: - add(i.second, _("The font file for font ID \"%n\" was not found, or was not referred to in the ASSETMAP.")); + add(i.second, _("The font file for font ID \"%load_font_id\" was not found, or was not referred to in the ASSETMAP.")); break; case dcp::VerificationNote::Code::INVALID_JPEG2000_TILE_PART_SIZE: add( i.second, - _("Frame %frame has an image component that is too large (component %component is %size bytes in size)."), + _("Frame %frame has an image component that is too large (component %component is %size_in_bytes bytes in size)."), _("More frames (not listed) have image components that are too large.") ); break; case dcp::VerificationNote::Code::INCORRECT_SUBTITLE_NAMESPACE_COUNT: - add(i.second, _("The XML in the subtitle asset %n has more than one namespace declaration.")); + add(i.second, _("The XML in the subtitle asset %asset_id has more than one namespace declaration.")); break; case dcp::VerificationNote::Code::MISSING_LOAD_FONT_FOR_FONT: add(i.second, _("A subtitle or closed caption refers to a font with ID %load_font_id that does not have a corresponding <LoadFont> node.")); @@ -677,7 +679,7 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) add(i.second, _("The <LabelText> in a <ContentVersion> in CPL %cpl is empty")); break; case dcp::VerificationNote::Code::INVALID_CPL_NAMESPACE: - add(i.second, _("The CPL %cpl has an invalid namespace %n")); + add(i.second, _("The CPL %cpl has an invalid namespace %xml_namespace")); break; case dcp::VerificationNote::Code::MISSING_CPL_CONTENT_VERSION: add(i.second, _("The CPL %cpl has no <ContentVersion> tag")); @@ -696,7 +698,7 @@ VerifyDCPResultPanel::add(shared_ptr<const VerifyDCPJob> job, bool many) /* These are all "OK" messages which we don't report here */ break; case dcp::VerificationNote::Code::INVALID_PKL_NAMESPACE: - add(i.second, _("The PKL %f has an invalid namespace %n")); + add(i.second, _("The PKL %f has an invalid namespace %xml_namespace")); break; } } diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc index 8d21a3e63..8e86a5408 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 /* 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 |
