summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-07-09 22:53:27 +0200
committerCarl Hetherington <cth@carlh.net>2025-07-10 20:50:32 +0200
commit62c34b28567a097e8f22576e7d7891bd3dbe0ac0 (patch)
tree2a0440ed2bdb58c608582b75da6c877527dd6bda
parent2c499921a9f8615c8368d8161cb43c9a93c67311 (diff)
Replace String::compose with fmt.
sed -i "/Plural-Forms/n;/%100/n;/scanf/n;s/%[123456789]/{}/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc src/lib/po/*.po src/wx/po/*.po src/tools/po/*.po test/*.cc sed -i "s/String::compose */fmt::format/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc test/*.cc
-rw-r--r--src/lib/atmos_mxf_content.cc2
-rw-r--r--src/lib/audio_analyser.cc2
-rw-r--r--src/lib/audio_content.cc10
-rw-r--r--src/lib/audio_decoder.cc6
-rw-r--r--src/lib/audio_filter_graph.cc2
-rw-r--r--src/lib/butler.cc20
-rw-r--r--src/lib/cinema_list.cc2
-rw-r--r--src/lib/combine_dcp_job.cc4
-rw-r--r--src/lib/config.cc8
-rw-r--r--src/lib/content.cc6
-rw-r--r--src/lib/content_factory.cc8
-rw-r--r--src/lib/copy_to_drive_job.cc12
-rw-r--r--src/lib/cpu_j2k_encoder_thread.cc4
-rw-r--r--src/lib/create_cli.cc30
-rw-r--r--src/lib/cross_common.cc6
-rw-r--r--src/lib/cross_linux.cc14
-rw-r--r--src/lib/cross_osx.cc34
-rw-r--r--src/lib/cross_windows.cc28
-rw-r--r--src/lib/curl_uploader.cc8
-rw-r--r--src/lib/dcp_content.cc16
-rw-r--r--src/lib/dcp_decoder.cc4
-rw-r--r--src/lib/dcp_examiner.cc28
-rw-r--r--src/lib/dcp_subtitle.cc2
-rw-r--r--src/lib/dcp_text_track.cc2
-rw-r--r--src/lib/dcp_video.cc24
-rw-r--r--src/lib/dcpomatic_log.h22
-rw-r--r--src/lib/dcpomatic_socket.cc8
-rw-r--r--src/lib/disk_writer_messages.cc12
-rw-r--r--src/lib/dkdm_wrapper.cc2
-rw-r--r--src/lib/email.cc10
-rw-r--r--src/lib/encode_cli.cc6
-rw-r--r--src/lib/encode_server.cc6
-rw-r--r--src/lib/encode_server_finder.cc2
-rw-r--r--src/lib/environment_info.cc16
-rw-r--r--src/lib/exceptions.cc34
-rw-r--r--src/lib/exceptions.h22
-rw-r--r--src/lib/ext.cc32
-rw-r--r--src/lib/fcpxml.cc4
-rw-r--r--src/lib/ffmpeg.cc2
-rw-r--r--src/lib/ffmpeg_content.cc16
-rw-r--r--src/lib/ffmpeg_decoder.cc20
-rw-r--r--src/lib/ffmpeg_examiner.cc6
-rw-r--r--src/lib/ffmpeg_file_encoder.cc6
-rw-r--r--src/lib/ffmpeg_film_encoder.cc14
-rw-r--r--src/lib/ffmpeg_image_proxy.cc2
-rw-r--r--src/lib/file_group.cc2
-rw-r--r--src/lib/film.cc32
-rw-r--r--src/lib/filter_graph.cc2
-rw-r--r--src/lib/font_config.cc10
-rw-r--r--src/lib/font_id_allocator.cc2
-rw-r--r--src/lib/frame_rate_change.cc2
-rw-r--r--src/lib/grok_j2k_encoder_thread.cc6
-rw-r--r--src/lib/hints.cc28
-rw-r--r--src/lib/http_server.cc26
-rw-r--r--src/lib/image_examiner.cc2
-rw-r--r--src/lib/image_png.cc2
-rw-r--r--src/lib/internet.cc4
-rw-r--r--src/lib/j2k_encoder.cc34
-rw-r--r--src/lib/j2k_encoder_thread.cc2
-rw-r--r--src/lib/j2k_sync_encoder_thread.cc6
-rw-r--r--src/lib/job.cc50
-rw-r--r--src/lib/kdm_cli.cc42
-rw-r--r--src/lib/make_dcp.cc6
-rw-r--r--src/lib/map_cli.cc24
-rw-r--r--src/lib/nanomsg.cc6
-rw-r--r--src/lib/player.cc30
-rw-r--r--src/lib/playlist.cc16
-rw-r--r--src/lib/po/cs_CZ.po480
-rw-r--r--src/lib/po/da_DK.po400
-rw-r--r--src/lib/po/de_DE.po422
-rw-r--r--src/lib/po/es_ES.po440
-rw-r--r--src/lib/po/fa_IR.po374
-rw-r--r--src/lib/po/fr_FR.po518
-rw-r--r--src/lib/po/hu_HU.po304
-rw-r--r--src/lib/po/it_IT.po410
-rw-r--r--src/lib/po/nl_NL.po444
-rw-r--r--src/lib/po/pl_PL.po422
-rw-r--r--src/lib/po/pt_BR.po374
-rw-r--r--src/lib/po/pt_PT.po414
-rw-r--r--src/lib/po/ru_RU.po446
-rw-r--r--src/lib/po/sk_SK.po376
-rw-r--r--src/lib/po/sl_SI.po368
-rw-r--r--src/lib/po/sv_SE.po434
-rw-r--r--src/lib/po/tr_TR.po214
-rw-r--r--src/lib/po/uk_UA.po388
-rw-r--r--src/lib/po/zh_CN.po490
-rw-r--r--src/lib/reel_writer.cc48
-rw-r--r--src/lib/release_notes.cc4
-rw-r--r--src/lib/remote_j2k_encoder_thread.cc8
-rw-r--r--src/lib/resampler.cc10
-rw-r--r--src/lib/scp_uploader.cc18
-rw-r--r--src/lib/send_kdm_email_job.cc2
-rw-r--r--src/lib/send_problem_report_job.cc4
-rw-r--r--src/lib/shuffler.cc12
-rw-r--r--src/lib/sqlite_table.cc8
-rw-r--r--src/lib/subtitle_film_encoder.cc6
-rw-r--r--src/lib/text_content.cc6
-rw-r--r--src/lib/text_decoder.cc2
-rw-r--r--src/lib/timer.cc2
-rw-r--r--src/lib/transcode_job.cc12
-rw-r--r--src/lib/unzipper.cc2
-rw-r--r--src/lib/uploader.cc2
-rw-r--r--src/lib/util.cc14
-rw-r--r--src/lib/variant.cc6
-rw-r--r--src/lib/video_content.cc28
-rw-r--r--src/lib/video_decoder.cc4
-rw-r--r--src/lib/video_filter_graph.cc4
-rw-r--r--src/lib/video_filter_graph_set.cc2
-rw-r--r--src/lib/video_mxf_content.cc2
-rw-r--r--src/lib/video_ring_buffers.cc2
-rw-r--r--src/lib/writer.cc36
-rw-r--r--src/lib/zipper.cc2
-rw-r--r--src/tools/dcpomatic.cc6
-rw-r--r--src/tools/dcpomatic_batch.cc2
-rw-r--r--src/tools/dcpomatic_combiner.cc2
-rw-r--r--src/tools/dcpomatic_disk.cc16
-rw-r--r--src/tools/dcpomatic_disk_writer.cc22
-rw-r--r--src/tools/dcpomatic_kdm.cc2
-rw-r--r--src/tools/dcpomatic_player.cc20
-rw-r--r--src/tools/dcpomatic_server.cc2
-rw-r--r--src/tools/dcpomatic_server_cli.cc4
-rw-r--r--src/tools/po/cs_CZ.po12
-rw-r--r--src/tools/po/da_DK.po22
-rw-r--r--src/tools/po/de_DE.po12
-rw-r--r--src/tools/po/es_ES.po24
-rw-r--r--src/tools/po/fa_IR.po12
-rw-r--r--src/tools/po/fr_FR.po14
-rw-r--r--src/tools/po/hu_HU.po18
-rw-r--r--src/tools/po/it_IT.po24
-rw-r--r--src/tools/po/nl_NL.po12
-rw-r--r--src/tools/po/pl_PL.po20
-rw-r--r--src/tools/po/pt_BR.po24
-rw-r--r--src/tools/po/pt_PT.po18
-rw-r--r--src/tools/po/ru_RU.po12
-rw-r--r--src/tools/po/sk_SK.po16
-rw-r--r--src/tools/po/sl_SI.po20
-rw-r--r--src/tools/po/sv_SE.po24
-rw-r--r--src/tools/po/tr_TR.po6
-rw-r--r--src/tools/po/uk_UA.po22
-rw-r--r--src/tools/po/zh_CN.po14
-rw-r--r--src/wx/about_dialog.cc4
-rw-r--r--src/wx/audio_plot.cc2
-rw-r--r--src/wx/barco_alchemy_certificate_panel.cc4
-rw-r--r--src/wx/christie_certificate_panel.cc8
-rw-r--r--src/wx/closed_captions_dialog.cc2
-rw-r--r--src/wx/dolby_doremi_certificate_panel.cc50
-rw-r--r--src/wx/download_certificate_panel.cc4
-rw-r--r--src/wx/gdc_certificate_panel.cc4
-rw-r--r--src/wx/gl_video_view.cc8
-rw-r--r--src/wx/name_format_editor.cc2
-rw-r--r--src/wx/player_information.cc4
-rw-r--r--src/wx/po/cs_CZ.po6
-rw-r--r--src/wx/po/da_DK.po10
-rw-r--r--src/wx/po/de_DE.po10
-rw-r--r--src/wx/po/es_ES.po10
-rw-r--r--src/wx/po/fa_IR.po8
-rw-r--r--src/wx/po/fr_FR.po10
-rw-r--r--src/wx/po/hu_HU.po4
-rw-r--r--src/wx/po/it_IT.po10
-rw-r--r--src/wx/po/nl_NL.po8
-rw-r--r--src/wx/po/pl_PL.po12
-rw-r--r--src/wx/po/pt_BR.po10
-rw-r--r--src/wx/po/pt_PT.po4
-rw-r--r--src/wx/po/ru_RU.po8
-rw-r--r--src/wx/po/sk_SK.po4
-rw-r--r--src/wx/po/sl_SI.po12
-rw-r--r--src/wx/po/sv_SE.po12
-rw-r--r--src/wx/po/tr_TR.po4
-rw-r--r--src/wx/po/uk_UA.po10
-rw-r--r--src/wx/po/zh_CN.po8
-rw-r--r--src/wx/qube_certificate_panel.cc6
-rw-r--r--src/wx/simple_video_view.cc4
-rw-r--r--src/wx/video_view.cc2
-rw-r--r--src/wx/wx_util.cc2
-rw-r--r--test/audio_mapping_test.cc2
-rw-r--r--test/burnt_subtitle_test.cc10
-rw-r--r--test/cpl_hash_test.cc6
-rw-r--r--test/digest_test.cc2
-rw-r--r--test/ffmpeg_encoder_test.cc4
-rw-r--r--test/ffmpeg_properties_test.cc2
-rw-r--r--test/file_naming_test.cc4
-rw-r--r--test/hints_test.cc10
-rw-r--r--test/image_filename_sorter_test.cc4
-rw-r--r--test/image_test.cc2
-rw-r--r--test/kdm_naming_test.cc26
-rw-r--r--test/map_cli_test.cc26
-rw-r--r--test/markers_test.cc6
-rw-r--r--test/player_test.cc8
-rw-r--r--test/reels_test.cc2
-rw-r--r--test/subtitle_language_test.cc4
-rw-r--r--test/subtitle_position_test.cc4
-rw-r--r--test/test.cc10
-rw-r--r--test/threed_test.cc2
193 files changed, 4812 insertions, 4812 deletions
diff --git a/src/lib/atmos_mxf_content.cc b/src/lib/atmos_mxf_content.cc
index df044a5d4..eda876dff 100644
--- a/src/lib/atmos_mxf_content.cc
+++ b/src/lib/atmos_mxf_content.cc
@@ -93,7 +93,7 @@ AtmosMXFContent::examine(shared_ptr<const Film> film, shared_ptr<Job> job, bool
string
AtmosMXFContent::summary () const
{
- return String::compose (_("%1 [Atmos]"), path_summary());
+ return fmt::format(_("{} [Atmos]"), path_summary());
}
diff --git a/src/lib/audio_analyser.cc b/src/lib/audio_analyser.cc
index 6e7b9fa86..7d4ee6ace 100644
--- a/src/lib/audio_analyser.cc
+++ b/src/lib/audio_analyser.cc
@@ -135,7 +135,7 @@ AudioAnalyser::AudioAnalyser(shared_ptr<const Film> film, shared_ptr<const Playl
void
AudioAnalyser::analyse (shared_ptr<AudioBuffers> b, DCPTime time)
{
- LOG_DEBUG_AUDIO_ANALYSIS("AudioAnalyser received %1 frames at %2", b->frames(), to_string(time));
+ LOG_DEBUG_AUDIO_ANALYSIS("AudioAnalyser received {} frames at {}", b->frames(), to_string(time));
DCPOMATIC_ASSERT (time >= _start);
/* In bug #2364 we had a lot of frames arriving here (~47s worth) which
* caused an OOM error on Windows. Check for the number of frames being
diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc
index ce9e5c945..6e9d832ee 100644
--- a/src/lib/audio_content.cc
+++ b/src/lib/audio_content.cc
@@ -144,7 +144,7 @@ AudioContent::technical_summary () const
{
string s = "audio: ";
for (auto i: streams()) {
- s += String::compose ("stream channels %1 rate %2 ", i->channels(), i->frame_rate());
+ s += fmt::format("stream channels {} rate {} ", i->channels(), i->frame_rate());
}
return s;
@@ -257,14 +257,14 @@ AudioContent::processing_description (shared_ptr<const Film> film) const
}
if (not_resampled && resampled) {
- return String::compose (_("Some audio will be resampled to %1Hz"), resampled_frame_rate(film));
+ return fmt::format(_("Some audio will be resampled to {}Hz"), resampled_frame_rate(film));
}
if (!not_resampled && resampled) {
if (same) {
- return String::compose (_("Audio will be resampled from %1Hz to %2Hz"), common_frame_rate.get(), resampled_frame_rate(film));
+ return fmt::format(_("Audio will be resampled from {}Hz to {}Hz"), common_frame_rate.get(), resampled_frame_rate(film));
} else {
- return String::compose (_("Audio will be resampled to %1Hz"), resampled_frame_rate(film));
+ return fmt::format(_("Audio will be resampled to {}Hz"), resampled_frame_rate(film));
}
}
@@ -282,7 +282,7 @@ AudioContent::channel_names () const
int stream = 1;
for (auto i: streams()) {
for (int j = 0; j < i->channels(); ++j) {
- n.push_back (NamedChannel(String::compose ("%1:%2", stream, j + 1), index++));
+ n.push_back (NamedChannel(fmt::format("{}:{}", stream, j + 1), index++));
}
++stream;
}
diff --git a/src/lib/audio_decoder.cc b/src/lib/audio_decoder.cc
index 60b0f07ad..d66858c29 100644
--- a/src/lib/audio_decoder.cc
+++ b/src/lib/audio_decoder.cc
@@ -84,7 +84,7 @@ AudioDecoder::emit(shared_ptr<const Film> film, AudioStreamPtr stream, shared_pt
if (need_reset) {
LOG_GENERAL (
- "Reset audio position: was %1, new data at %2, slack: %3 frames (more than threshold %4)",
+ "Reset audio position: was {}, new data at {}, slack: {} frames (more than threshold {})",
_positions[stream],
time.frames_round(resampled_rate),
std::abs(_positions[stream] - time.frames_round(resampled_rate)),
@@ -107,7 +107,7 @@ AudioDecoder::emit(shared_ptr<const Film> film, AudioStreamPtr stream, shared_pt
} else {
if (stream->frame_rate() != resampled_rate) {
LOG_GENERAL (
- "Creating new resampler from %1 to %2 with %3 channels",
+ "Creating new resampler from {} to {} with {} channels",
stream->frame_rate(),
resampled_rate,
stream->channels()
@@ -128,7 +128,7 @@ AudioDecoder::emit(shared_ptr<const Film> film, AudioStreamPtr stream, shared_pt
* here.
*/
if (resampler->channels() != data->channels()) {
- LOG_WARNING("Received audio data with an unexpected channel count of %1 instead of %2", data->channels(), resampler->channels());
+ LOG_WARNING("Received audio data with an unexpected channel count of {} instead of {}", data->channels(), resampler->channels());
auto data_copy = data->clone();
data_copy->set_channels(resampler->channels());
data = resampler->run(data_copy);
diff --git a/src/lib/audio_filter_graph.cc b/src/lib/audio_filter_graph.cc
index 4e8b7cbfe..f6244fd99 100644
--- a/src/lib/audio_filter_graph.cc
+++ b/src/lib/audio_filter_graph.cc
@@ -154,7 +154,7 @@ AudioFilterGraph::process (shared_ptr<AudioBuffers> buffers)
if (r < 0) {
char buffer[256];
av_strerror (r, buffer, sizeof(buffer));
- throw DecodeError (String::compose (N_("could not push buffer into filter chain (%1)"), &buffer[0]));
+ throw DecodeError (fmt::format(N_("could not push buffer into filter chain ({})"), &buffer[0]));
}
while (true) {
diff --git a/src/lib/butler.cc b/src/lib/butler.cc
index 5edd84115..3baa9a327 100644
--- a/src/lib/butler.cc
+++ b/src/lib/butler.cc
@@ -104,7 +104,7 @@ Butler::Butler(
multi-thread JPEG2000 decoding.
*/
- LOG_TIMING("start-prepare-threads %1", boost::thread::hardware_concurrency() * 2);
+ LOG_TIMING("start-prepare-threads {}", boost::thread::hardware_concurrency() * 2);
for (size_t i = 0; i < boost::thread::hardware_concurrency() * 2; ++i) {
_prepare_pool.create_thread(bind(&dcpomatic::io_context::run, &_prepare_context));
@@ -140,10 +140,10 @@ Butler::should_run() const
auto pos = _audio.peek();
if (pos) {
throw ProgrammingError
- (__FILE__, __LINE__, String::compose("Butler video buffers reached %1 frames (audio is %2 at %3)", _video.size(), _audio.size(), pos->get()));
+ (__FILE__, __LINE__, fmt::format("Butler video buffers reached {} frames (audio is {} at {})", _video.size(), _audio.size(), pos->get()));
} else {
throw ProgrammingError
- (__FILE__, __LINE__, String::compose("Butler video buffers reached %1 frames (audio is %2)", _video.size(), _audio.size()));
+ (__FILE__, __LINE__, fmt::format("Butler video buffers reached {} frames (audio is {})", _video.size(), _audio.size()));
}
}
@@ -152,19 +152,19 @@ Butler::should_run() const
auto pos = _audio.peek();
if (pos) {
throw ProgrammingError
- (__FILE__, __LINE__, String::compose("Butler audio buffers reached %1 frames at %2 (video is %3)", _audio.size(), pos->get(), _video.size()));
+ (__FILE__, __LINE__, fmt::format("Butler audio buffers reached {} frames at {} (video is {})", _audio.size(), pos->get(), _video.size()));
} else {
throw ProgrammingError
- (__FILE__, __LINE__, String::compose("Butler audio buffers reached %1 frames (video is %3)", _audio.size(), _video.size()));
+ (__FILE__, __LINE__, fmt::format("Butler audio buffers reached {} frames (video is {})", _audio.size(), _video.size()));
}
}
if (_video.size() >= MAXIMUM_VIDEO_READAHEAD * 2) {
- LOG_WARNING("Butler video buffers reached %1 frames (audio is %2)", _video.size(), _audio.size());
+ LOG_WARNING("Butler video buffers reached {} frames (audio is {})", _video.size(), _audio.size());
}
if (_audio.size() >= MAXIMUM_AUDIO_READAHEAD * 2) {
- LOG_WARNING("Butler audio buffers reached %1 frames (video is %2)", _audio.size(), _video.size());
+ LOG_WARNING("Butler audio buffers reached {} frames (video is {})", _audio.size(), _video.size());
}
if (_stop_thread || _finished || _died || _suspended) {
@@ -324,9 +324,9 @@ try
auto video = weak_video.lock();
/* If the weak_ptr cannot be locked the video obviously no longer requires any work */
if (video) {
- LOG_TIMING("start-prepare in %1", thread_id());
+ LOG_TIMING("start-prepare in {}", thread_id());
video->prepare(_pixel_format, _video_range, _alignment, _fast, _prepare_only_proxy);
- LOG_TIMING("finish-prepare in %1", thread_id());
+ LOG_TIMING("finish-prepare in {}", thread_id());
}
}
catch (std::exception& e)
@@ -472,7 +472,7 @@ Butler::Error::summary() const
case Error::Code::AGAIN:
return "Butler not ready";
case Error::Code::DIED:
- return String::compose("Butler died (%1)", message);
+ return fmt::format("Butler died ({})", message);
case Error::Code::FINISHED:
return "Butler finished";
}
diff --git a/src/lib/cinema_list.cc b/src/lib/cinema_list.cc
index 8673f9c8b..3671bd8e6 100644
--- a/src/lib/cinema_list.cc
+++ b/src/lib/cinema_list.cc
@@ -156,7 +156,7 @@ void
CinemaList::clear()
{
for (auto table: { "cinemas", "screens", "trusted_devices" }) {
- SQLiteStatement sql(_db, String::compose("DELETE FROM %1", table));
+ SQLiteStatement sql(_db, fmt::format("DELETE FROM {}", table));
sql.execute();
}
}
diff --git a/src/lib/combine_dcp_job.cc b/src/lib/combine_dcp_job.cc
index 5c299492b..6580c0e79 100644
--- a/src/lib/combine_dcp_job.cc
+++ b/src/lib/combine_dcp_job.cc
@@ -64,8 +64,8 @@ CombineDCPJob::run ()
dcp::combine (
_inputs,
_output,
- String::compose("libdcp %1", dcp::version),
- String::compose("libdcp %1", dcp::version),
+ fmt::format("libdcp {}", dcp::version),
+ fmt::format("libdcp {}", dcp::version),
dcp::LocalTime().as_string(),
_annotation_text,
Config::instance()->signer_chain()
diff --git a/src/lib/config.cc b/src/lib/config.cc
index f2362e1a1..61bf95ac4 100644
--- a/src/lib/config.cc
+++ b/src/lib/config.cc
@@ -276,7 +276,7 @@ Config::backup()
auto copy_adding_number = [](path const& path_to_copy) {
auto add_number = [](path const& path, int number) {
- return String::compose("%1.%2", path.string(), number);
+ return fmt::format("{}.{}", path.string(), number);
};
int n = 1;
@@ -438,7 +438,7 @@ try
_kdm_bcc = f.optional_string_child("KDMBCC").get_value_or("");
_kdm_email = f.string_child("KDMEmail");
- _notification_subject = f.optional_string_child("NotificationSubject").get_value_or(variant::insert_dcpomatic(_("%1 notification")));
+ _notification_subject = f.optional_string_child("NotificationSubject").get_value_or(variant::insert_dcpomatic(_("{} notification")));
_notification_from = f.optional_string_child("NotificationFrom").get_value_or("");
_notification_to = f.optional_string_child("NotificationTo").get_value_or("");
for (auto i: f.node_children("NotificationCC")) {
@@ -1241,14 +1241,14 @@ Config::set_kdm_email_to_default()
"Cinema: $CINEMA_NAME\n"
"Screen(s): $SCREENS\n\n"
"The KDMs are valid from $START_TIME until $END_TIME.\n\n"
- "Best regards,\n%1"
+ "Best regards,\n{}"
));
}
void
Config::set_notification_email_to_default()
{
- _notification_subject = variant::insert_dcpomatic(_("%1 notification"));
+ _notification_subject = variant::insert_dcpomatic(_("{} notification"));
_notification_email = _(
"$JOB_NAME: $JOB_STATUS"
diff --git a/src/lib/content.cc b/src/lib/content.cc
index 2a69adefd..2152c5457 100644
--- a/src/lib/content.cc
+++ b/src/lib/content.cc
@@ -296,9 +296,9 @@ Content::clone() const
string
Content::technical_summary() const
{
- auto s = String::compose("%1 %2 %3", path_summary(), digest(), position().seconds());
+ auto s = fmt::format("{} {} {}", path_summary(), digest(), position().seconds());
if (_video_frame_rate) {
- s += String::compose(" %1", *_video_frame_rate);
+ s += fmt::format(" {}", *_video_frame_rate);
}
return s;
}
@@ -452,7 +452,7 @@ Content::add_properties(shared_ptr<const Film>, list<UserProperty>& p) const
}
}
if (paths_to_show < number_of_paths()) {
- paths += String::compose("... and %1 more", number_of_paths() - paths_to_show);
+ paths += fmt::format("... and {} more", number_of_paths() - paths_to_show);
}
p.push_back(
UserProperty(
diff --git a/src/lib/content_factory.cc b/src/lib/content_factory.cc
index c5fbed0bd..e8ac59527 100644
--- a/src/lib/content_factory.cc
+++ b/src/lib/content_factory.cc
@@ -117,7 +117,7 @@ content_factory (boost::filesystem::path path)
if (dcp::filesystem::is_directory(path)) {
- LOG_GENERAL("Look in directory %1", path.string());
+ LOG_GENERAL("Look in directory {}", path.string());
if (dcp::filesystem::is_empty(path)) {
return content;
@@ -130,17 +130,17 @@ content_factory (boost::filesystem::path path)
int read = 0;
for (dcp::filesystem::directory_iterator i(path); i != dcp::filesystem::directory_iterator() && read < 10; ++i) {
- LOG_GENERAL("Checking file %1", i->path().string());
+ LOG_GENERAL("Checking file {}", i->path().string());
if (boost::starts_with(i->path().filename().string(), ".")) {
/* We ignore hidden files */
- LOG_GENERAL("Ignored %1 (starts with .)", i->path().string());
+ LOG_GENERAL("Ignored {} (starts with .)", i->path().string());
continue;
}
if (!dcp::filesystem::is_regular_file(i->path())) {
/* Ignore things which aren't files (probably directories) */
- LOG_GENERAL("Ignored %1 (not a regular file)", i->path().string());
+ LOG_GENERAL("Ignored {} (not a regular file)", i->path().string());
continue;
}
diff --git a/src/lib/copy_to_drive_job.cc b/src/lib/copy_to_drive_job.cc
index 4ed9421d6..17f39fa05 100644
--- a/src/lib/copy_to_drive_job.cc
+++ b/src/lib/copy_to_drive_job.cc
@@ -56,10 +56,10 @@ string
CopyToDriveJob::name () const
{
if (_dcps.size() == 1) {
- return String::compose(_("Copying %1\nto %2"), _dcps[0].filename().string(), _drive.description());
+ return fmt::format(_("Copying {}\nto {}"), _dcps[0].filename().string(), _drive.description());
}
- return String::compose(_("Copying DCPs to %1"), _drive.description());
+ return fmt::format(_("Copying DCPs to {}"), _drive.description());
}
@@ -72,14 +72,14 @@ CopyToDriveJob::json_name () const
void
CopyToDriveJob::run ()
{
- LOG_DISK("Sending write requests to disk %1 for:", _drive.device());
+ LOG_DISK("Sending write requests to disk {} for:", _drive.device());
for (auto dcp: _dcps) {
- LOG_DISK("%1", dcp.string());
+ LOG_DISK("{}", dcp.string());
}
- string request = String::compose(DISK_WRITER_WRITE "\n%1\n", _drive.device());
+ string request = fmt::format(DISK_WRITER_WRITE "\n{}\n", _drive.device());
for (auto dcp: _dcps) {
- request += String::compose("%1\n", dcp.string());
+ request += fmt::format("{}\n", dcp.string());
}
request += "\n";
if (!_nanomsg.send(request, 2000)) {
diff --git a/src/lib/cpu_j2k_encoder_thread.cc b/src/lib/cpu_j2k_encoder_thread.cc
index 580facae9..6ff38e5da 100644
--- a/src/lib/cpu_j2k_encoder_thread.cc
+++ b/src/lib/cpu_j2k_encoder_thread.cc
@@ -44,7 +44,7 @@ void
CPUJ2KEncoderThread::log_thread_start() const
{
start_of_thread("CPUJ2KEncoder");
- LOG_TIMING("start-encoder-thread thread=%1 server=localhost", thread_id());
+ LOG_TIMING("start-encoder-thread thread={} server=localhost", thread_id());
}
@@ -54,7 +54,7 @@ CPUJ2KEncoderThread::encode(DCPVideo const& frame)
try {
return make_shared<dcp::ArrayData>(frame.encode_locally());
} catch (std::exception& e) {
- LOG_ERROR(N_("Local encode failed (%1)"), e.what());
+ LOG_ERROR(N_("Local encode failed ({})"), e.what());
}
return {};
diff --git a/src/lib/create_cli.cc b/src/lib/create_cli.cc
index 51518ae82..3701f2597 100644
--- a/src/lib/create_cli.cc
+++ b/src/lib/create_cli.cc
@@ -61,8 +61,8 @@ help()
DCPOMATIC_ASSERT(colour_conversions.length() > 2);
colour_conversions = colour_conversions.substr(0, colour_conversions.length() - 2);
- return string("\nSyntax: %1 [OPTION] <CONTENT> [OPTION] [<CONTENT> ...]\n") +
- variant::insert_dcpomatic(" -v, --version show %1 version\n") +
+ return string("\nSyntax: {} [OPTION] <CONTENT> [OPTION] [<CONTENT> ...]\n") +
+ variant::insert_dcpomatic(" -v, --version show {} version\n") +
" -h, --help show this help\n"
" -n, --name <name> film name\n"
" -t, --template <name> template name\n"
@@ -107,7 +107,7 @@ argument_option (int& n, int argc, char* argv[], string short_name, string long_
}
if ((n + 1) >= argc) {
- **error = String::compose("%1: option %2 requires an argument", argv[0], long_name);
+ **error = fmt::format("{}: option {} requires an argument", argv[0], long_name);
return;
}
@@ -126,7 +126,7 @@ argument_option(int& n, int argc, char* argv[], string short_name, string long_n
}
if ((n + 1) >= argc) {
- **error = String::compose("%1: option %2 requires an argument", argv[0], long_name);
+ **error = fmt::format("{}: option {} requires an argument", argv[0], long_name);
return;
}
@@ -155,14 +155,14 @@ argument_option(
}
if ((n + 1) >= argc) {
- **error = String::compose("%1: option %2 requires an argument", argv[0], long_name);
+ **error = fmt::format("{}: option {} requires an argument", argv[0], long_name);
return;
}
auto const arg = argv[++n];
auto const value = convert(arg);
if (!value) {
- *error = String::compose("%1: %2 is not valid for %3", argv[0], arg, long_name);
+ *error = fmt::format("{}: {} is not valid for {}", argv[0], arg, long_name);
*claimed = true;
return;
}
@@ -203,7 +203,7 @@ CreateCLI::CreateCLI(int argc, char* argv[])
} else if (a == "-h" || a == "--help") {
error = "Create a film directory (ready for making a DCP) or metadata file from some content files.\n"
"A film directory will be created if -o or --output is specified, otherwise a metadata file\n"
- "will be written to stdout.\n" + String::compose(help(), argv[0]);
+ "will be written to stdout.\n" + fmt::format(help(), argv[0]);
return;
}
@@ -312,7 +312,7 @@ CreateCLI::CreateCLI(int argc, char* argv[])
if (!claimed) {
if (a.length() > 2 && a.substr(0, 2) == "--") {
- error = String::compose("%1: unrecognised option '%2'", argv[0], a) + String::compose(help(), argv[0]);
+ error = fmt::format("{}: unrecognised option '{}'", argv[0], a) + fmt::format(help(), argv[0]);
return;
} else {
if (next_colour_conversion) {
@@ -368,7 +368,7 @@ CreateCLI::CreateCLI(int argc, char* argv[])
if (dcp_content_type_string) {
_dcp_content_type = DCPContentType::from_isdcf_name(*dcp_content_type_string);
if (!_dcp_content_type) {
- error = String::compose("%1: unrecognised DCP content type '%2'", argv[0], *dcp_content_type_string);
+ error = fmt::format("{}: unrecognised DCP content type '{}'", argv[0], *dcp_content_type_string);
return;
}
}
@@ -376,7 +376,7 @@ CreateCLI::CreateCLI(int argc, char* argv[])
if (!container_ratio_string.empty()) {
_container_ratio = Ratio::from_id_if_exists(container_ratio_string);
if (!_container_ratio) {
- error = String::compose("%1: unrecognised container ratio %2", argv[0], container_ratio_string);
+ error = fmt::format("{}: unrecognised container ratio {}", argv[0], container_ratio_string);
return;
}
}
@@ -387,21 +387,21 @@ CreateCLI::CreateCLI(int argc, char* argv[])
} else if (*standard_string == "SMPTE") {
_standard = dcp::Standard::SMPTE;
} else {
- error = String::compose("%1: standard must be SMPTE or interop", argv[0]);
+ error = fmt::format("{}: standard must be SMPTE or interop", argv[0]);
return;
}
}
if (_twod && _threed) {
- error = String::compose("%1: specify one of --twod or --threed, not both", argv[0]);
+ error = fmt::format("{}: specify one of --twod or --threed, not both", argv[0]);
}
if (_no_encrypt && _encrypt) {
- error = String::compose("%1: specify one of --no-encrypt or --encrypt, not both", argv[0]);
+ error = fmt::format("{}: specify one of --no-encrypt or --encrypt, not both", argv[0]);
}
if (content.empty()) {
- error = String::compose("%1: no content specified", argv[0]);
+ error = fmt::format("{}: no content specified", argv[0]);
return;
}
@@ -410,7 +410,7 @@ CreateCLI::CreateCLI(int argc, char* argv[])
}
if (_video_bit_rate && (*_video_bit_rate < 10000000 || *_video_bit_rate > Config::instance()->maximum_video_bit_rate(VideoEncoding::JPEG2000))) {
- error = String::compose("%1: video-bit-rate must be between 10 and %2 Mbit/s", argv[0], (Config::instance()->maximum_video_bit_rate(VideoEncoding::JPEG2000) / 1000000));
+ error = fmt::format("{}: video-bit-rate must be between 10 and {} Mbit/s", argv[0], (Config::instance()->maximum_video_bit_rate(VideoEncoding::JPEG2000) / 1000000));
return;
}
diff --git a/src/lib/cross_common.cc b/src/lib/cross_common.cc
index c3741df03..ddaae541f 100644
--- a/src/lib/cross_common.cc
+++ b/src/lib/cross_common.cc
@@ -104,7 +104,7 @@ Drive::description() const
name = _("Unknown");
}
- return String::compose(_("%1 (%2 GB) [%3]"), name, gb, _device);
+ return fmt::format(_("{} ({} GB) [{}]"), name, gb, _device);
}
@@ -130,8 +130,8 @@ Drive::log_summary() const
}
#endif
- return String::compose(
- "Device %1 mounted on %2 size %3 vendor %4 model %5",
+ return fmt::format(
+ "Device {} mounted on {} size {} vendor {} model {}",
_device, mp, _size, _vendor.get_value_or("[none]"), _model.get_value_or("[none]")
);
}
diff --git a/src/lib/cross_linux.cc b/src/lib/cross_linux.cc
index ccd78a3b1..46ba9f5f7 100644
--- a/src/lib/cross_linux.cc
+++ b/src/lib/cross_linux.cc
@@ -114,11 +114,11 @@ void
run_ffprobe(boost::filesystem::path content, boost::filesystem::path out, bool err, string args)
{
string const redirect = err ? "2>" : ">";
- auto const ffprobe = String::compose("ffprobe %1 \"%2\" %3 \"%4\"", args.empty() ? " " : args, content.string(), redirect, out.string());
- LOG_GENERAL (N_("Probing with %1"), ffprobe);
+ auto const ffprobe = fmt::format("ffprobe {} \"{}\" {} \"{}\"", args.empty() ? " " : args, content.string(), redirect, out.string());
+ LOG_GENERAL (N_("Probing with {}"), ffprobe);
int const r = system (ffprobe.c_str());
if (r == -1 || (WIFEXITED(r) && WEXITSTATUS(r) != 0)) {
- LOG_GENERAL (N_("Could not run ffprobe (system returned %1"), r);
+ LOG_GENERAL (N_("Could not run ffprobe (system returned {}"), r);
}
}
@@ -243,7 +243,7 @@ get_mounts (string prefix)
if (bits.size() > 1 && boost::algorithm::starts_with(bits[0], prefix)) {
boost::algorithm::replace_all (bits[1], "\\040", " ");
mounts.push_back(make_pair(bits[0], bits[1]));
- LOG_DISK("Found mounted device %1 from prefix %2", bits[0], prefix);
+ LOG_DISK("Found mounted device {} from prefix {}", bits[0], prefix);
}
}
@@ -303,7 +303,7 @@ Drive::unmount ()
{
for (auto i: _mount_points) {
int const r = umount(i.string().c_str());
- LOG_DISK("Tried to unmount %1 and got %2 and %3", i.string(), r, errno);
+ LOG_DISK("Tried to unmount {} and got {} and {}", i.string(), r, errno);
if (r == -1) {
return false;
}
@@ -336,12 +336,12 @@ show_in_file_manager (boost::filesystem::path dir, boost::filesystem::path)
{
int r = system ("which nautilus");
if (WEXITSTATUS(r) == 0) {
- r = system (String::compose("nautilus \"%1\"", dir.string()).c_str());
+ r = system (fmt::format("nautilus \"{}\"", dir.string()).c_str());
return static_cast<bool>(WEXITSTATUS(r));
} else {
int r = system ("which konqueror");
if (WEXITSTATUS(r) == 0) {
- r = system (String::compose("konqueror \"%1\"", dir.string()).c_str());
+ r = system (fmt::format("konqueror \"{}\"", dir.string()).c_str());
return static_cast<bool>(WEXITSTATUS(r));
}
}
diff --git a/src/lib/cross_osx.cc b/src/lib/cross_osx.cc
index 92cbf4918..46240df07 100644
--- a/src/lib/cross_osx.cc
+++ b/src/lib/cross_osx.cc
@@ -118,8 +118,8 @@ run_ffprobe(boost::filesystem::path content, boost::filesystem::path out, bool e
}
string const redirect = err ? "2>" : ">";
- auto const ffprobe = String::compose("\"%1\" %2 \"%3\" %4 \"%5\"", path.string(), args.empty() ? " " : args, content.string(), redirect, out.string());
- LOG_GENERAL(N_("Probing with %1"), ffprobe);
+ auto const ffprobe = fmt::format("\"{}\" {} \"{}\" {} \"{}\"", path.string(), args.empty() ? " " : args, content.string(), redirect, out.string());
+ LOG_GENERAL(N_("Probing with {}"), ffprobe);
system(ffprobe.c_str());
}
@@ -186,7 +186,7 @@ start_tool(string executable, string app)
pid_t pid = fork();
if (pid == 0) {
- LOG_GENERAL("start_tool %1 %2 with path %3", executable, app, exe_path.string());
+ LOG_GENERAL("start_tool {} {} with path {}", executable, app, exe_path.string());
int const r = system(exe_path.string().c_str());
exit(WEXITSTATUS(r));
} else if (pid == -1) {
@@ -295,19 +295,19 @@ disk_appeared(DADiskRef disk, void* context)
LOG_DISK_NC("Disk with no BSDName appeared");
return;
}
- LOG_DISK("%1 appeared", bsd_name);
+ LOG_DISK("{} appeared", bsd_name);
OSXDisk this_disk;
this_disk.bsd_name = bsd_name;
this_disk.device = string("/dev/") + this_disk.bsd_name;
- LOG_DISK("Device is %1", this_disk.device);
+ LOG_DISK("Device is {}", this_disk.device);
CFDictionaryRef description = DADiskCopyDescription(disk);
this_disk.vendor = get_vendor(description);
this_disk.model = get_model(description);
- LOG_DISK("Vendor/model: %1 %2", this_disk.vendor.get_value_or("[none]"), this_disk.model.get_value_or("[none]"));
+ LOG_DISK("Vendor/model: {} {}", this_disk.vendor.get_value_or("[none]"), this_disk.model.get_value_or("[none]"));
this_disk.mounted = is_mounted(description);
@@ -322,7 +322,7 @@ disk_appeared(DADiskRef disk, void* context)
this_disk.partition = string(this_disk.bsd_name).find("s", 5) != std::string::npos;
LOG_DISK(
- "%1 %2 %3 %4 %5",
+ "{} {} {} {} {}",
this_disk.bsd_name,
this_disk.system ? "system" : "non-system",
this_disk.writeable ? "writeable" : "read-only",
@@ -364,7 +364,7 @@ Drive::get()
vector<Drive> drives;
for (auto const& disk: disks) {
if (!disk.system && !disk.partition && disk.writeable) {
- LOG_DISK("Have a non-system writeable drive: %1", disk.device);
+ LOG_DISK("Have a non-system writeable drive: {}", disk.device);
drives.push_back({disk.device, disk.mounted, disk.size, disk.vendor, disk.model});
}
}
@@ -372,18 +372,18 @@ Drive::get()
/* Find mounted partitions and mark their drives mounted */
for (auto const& disk: disks) {
if (!disk.system && disk.partition && disk.mounted) {
- LOG_DISK("Have a mounted non-system partition: %1 (%2)", disk.device, disk.bsd_name);
+ LOG_DISK("Have a mounted non-system partition: {} ({})", disk.device, disk.bsd_name);
if (boost::algorithm::starts_with(disk.bsd_name, "disk")) {
auto const second_s = disk.bsd_name.find('s', 4);
if (second_s != std::string::npos) {
/* We have a bsd_name of the form disk...s */
auto const drive_device = "/dev/" + disk.bsd_name.substr(0, second_s);
- LOG_DISK("This belongs to the drive %1", drive_device);
+ LOG_DISK("This belongs to the drive {}", drive_device);
auto iter = std::find_if(drives.begin(), drives.end(), [drive_device](Drive const& drive) {
return drive.device() == drive_device;
});
if (iter != drives.end()) {
- LOG_DISK("Marking %1 as mounted", drive_device);
+ LOG_DISK("Marking {} as mounted", drive_device);
iter->set_mounted();
}
}
@@ -391,9 +391,9 @@ Drive::get()
}
}
- LOG_DISK("Drive::get() found %1 drives:", drives.size());
+ LOG_DISK("Drive::get() found {} drives:", drives.size());
for (auto const& drive: drives) {
- LOG_DISK("%1 %2 mounted=%3", drive.description(), drive.device(), drive.mounted() ? "yes" : "no");
+ LOG_DISK("{} {} mounted={}", drive.description(), drive.device(), drive.mounted() ? "yes" : "no");
}
return drives;
@@ -429,7 +429,7 @@ void done_callback(DADiskRef, DADissenterRef dissenter, void* context)
auto state = reinterpret_cast<UnmountState*>(context);
state->callback = true;
if (dissenter) {
- LOG_DISK("Error: %1", DADissenterGetStatus(dissenter));
+ LOG_DISK("Error: {}", DADissenterGetStatus(dissenter));
} else {
LOG_DISK_NC("Successful");
state->success = true;
@@ -451,7 +451,7 @@ Drive::unmount()
if (!disk) {
return false;
}
- LOG_DISK("Requesting unmount of %1 from %2", _device, thread_id());
+ LOG_DISK("Requesting unmount of {} from {}", _device, thread_id());
UnmountState state;
DADiskUnmount(disk, kDADiskUnmountOptionWhole, &done_callback, &state);
CFRelease(disk);
@@ -465,7 +465,7 @@ Drive::unmount()
if (!state.callback) {
LOG_DISK_NC("End of unmount: timeout");
} else {
- LOG_DISK("End of unmount: %1", state.success ? "success" : "failure");
+ LOG_DISK("End of unmount: {}", state.success ? "success" : "failure");
}
return state.success;
}
@@ -492,7 +492,7 @@ LIBDCP_ENABLE_WARNINGS
bool
show_in_file_manager(boost::filesystem::path, boost::filesystem::path select)
{
- int r = system(String::compose("open -R \"%1\"", select.string()).c_str());
+ int r = system(fmt::format("open -R \"{}\"", select.string()).c_str());
return static_cast<bool>(WEXITSTATUS(r));
}
diff --git a/src/lib/cross_windows.cc b/src/lib/cross_windows.cc
index 474ffe8c5..8408ca299 100644
--- a/src/lib/cross_windows.cc
+++ b/src/lib/cross_windows.cc
@@ -408,7 +408,7 @@ get_device_number(HDEVINFO device_info, SP_DEVINFO_DATA* device_info_data)
auto r = SetupDiEnumDeviceInterfaces(device_info, device_info_data, &GUID_DEVICE_INTERFACE_DISK, 0, &device_interface_data);
if (!r) {
- LOG_DISK("SetupDiEnumDeviceInterfaces failed (%1)", GetLastError());
+ LOG_DISK("SetupDiEnumDeviceInterfaces failed ({})", GetLastError());
return optional<int>();
}
@@ -443,7 +443,7 @@ get_device_number(HDEVINFO device_info, SP_DEVINFO_DATA* device_info_data)
free(device_detail_data);
if (device == INVALID_HANDLE_VALUE) {
- LOG_DISK("CreateFileW failed with %1", GetLastError());
+ LOG_DISK("CreateFileW failed with {}", GetLastError());
return optional<int>();
}
@@ -473,7 +473,7 @@ typedef map<int, vector<boost::filesystem::path>> MountPoints;
static void
add_volume_mount_points(wchar_t* volume, MountPoints& mount_points)
{
- LOG_DISK("Looking at %1", wchar_to_utf8(volume));
+ LOG_DISK("Looking at {}", wchar_to_utf8(volume));
wchar_t volume_path_names[512];
vector<boost::filesystem::path> mp;
@@ -482,7 +482,7 @@ add_volume_mount_points(wchar_t* volume, MountPoints& mount_points)
wchar_t* p = volume_path_names;
while (*p != L'\0') {
mp.push_back(wchar_to_utf8(p));
- LOG_DISK("Found mount point %1", wchar_to_utf8(p));
+ LOG_DISK("Found mount point {}", wchar_to_utf8(p));
p += wcslen(p) + 1;
}
}
@@ -559,7 +559,7 @@ Drive::get()
if (!SetupDiEnumDeviceInfo(device_info, i, &device_info_data)) {
DWORD e = GetLastError();
if (e != ERROR_NO_MORE_ITEMS) {
- LOG_DISK("SetupDiEnumDeviceInfo failed (%1)", GetLastError());
+ LOG_DISK("SetupDiEnumDeviceInfo failed ({})", GetLastError());
}
break;
}
@@ -571,7 +571,7 @@ Drive::get()
continue;
}
- string const physical_drive = String::compose("\\\\.\\PHYSICALDRIVE%1", *device_number);
+ string const physical_drive = fmt::format("\\\\.\\PHYSICALDRIVE{}", *device_number);
HANDLE device = CreateFileA(
physical_drive.c_str(), 0,
@@ -591,7 +591,7 @@ Drive::get()
&geom, sizeof(geom), &returned, 0
);
- LOG_DISK("Having a look through %1 locked volumes", locked_volumes.size());
+ LOG_DISK("Having a look through {} locked volumes", locked_volumes.size());
bool locked = false;
for (auto const& i: locked_volumes) {
if (i.second == physical_drive) {
@@ -602,7 +602,7 @@ Drive::get()
if (r) {
uint64_t const disk_size = geom.Cylinders.QuadPart * geom.TracksPerCylinder * geom.SectorsPerTrack * geom.BytesPerSector;
drives.push_back(Drive(physical_drive, locked ? vector<boost::filesystem::path>() : mount_points[*device_number], disk_size, friendly_name, optional<string>()));
- LOG_DISK("Added drive %1%2", drives.back().log_summary(), locked ? "(locked by us)" : "");
+ LOG_DISK("Added drive {}{}", drives.back().log_summary(), locked ? "(locked by us)" : "");
}
CloseHandle(device);
@@ -615,24 +615,24 @@ Drive::get()
bool
Drive::unmount()
{
- LOG_DISK("Unmounting %1 with %2 mount points", _device, _mount_points.size());
+ LOG_DISK("Unmounting {} with {} mount points", _device, _mount_points.size());
DCPOMATIC_ASSERT(_mount_points.size() == 1);
- string const device_name = String::compose("\\\\.\\%1", _mount_points.front().string());
+ string const device_name = fmt::format("\\\\.\\{}", _mount_points.front().string());
string const truncated = device_name.substr(0, device_name.length() - 1);
- LOG_DISK("Actually opening %1", truncated);
+ LOG_DISK("Actually opening {}", truncated);
HANDLE device = CreateFileA(truncated.c_str(), (GENERIC_READ | GENERIC_WRITE), FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);
if (device == INVALID_HANDLE_VALUE) {
- LOG_DISK("Could not open %1 for unmount (%2)", truncated, GetLastError());
+ LOG_DISK("Could not open {} for unmount ({})", truncated, GetLastError());
return false;
}
DWORD returned;
BOOL r = DeviceIoControl(device, FSCTL_LOCK_VOLUME, 0, 0, 0, 0, &returned, 0);
if (!r) {
- LOG_DISK("Unmount of %1 failed (%2)", truncated, GetLastError());
+ LOG_DISK("Unmount of {} failed ({})", truncated, GetLastError());
return false;
}
- LOG_DISK("Unmount of %1 succeeded", _device);
+ LOG_DISK("Unmount of {} succeeded", _device);
locked_volumes.push_back(make_pair(device, _device));
return true;
diff --git a/src/lib/curl_uploader.cc b/src/lib/curl_uploader.cc
index 791bdb3fa..769cdf673 100644
--- a/src/lib/curl_uploader.cc
+++ b/src/lib/curl_uploader.cc
@@ -94,12 +94,12 @@ CurlUploader::upload_file(boost::filesystem::path from, boost::filesystem::path
curl_easy_setopt(
_curl, CURLOPT_URL,
/* Use generic_string so that we get forward-slashes in the path, even on Windows */
- String::compose("ftp://%1/%2/%3", Config::instance()->tms_ip(), Config::instance()->tms_path(), to.generic_string()).c_str()
+ fmt::format("ftp://{}/{}/{}", Config::instance()->tms_ip(), Config::instance()->tms_path(), to.generic_string()).c_str()
);
dcp::File file(from, "rb");
if (!file) {
- throw NetworkError(String::compose(_("Could not open %1 to send"), from.string()));
+ throw NetworkError(fmt::format(_("Could not open {} to send"), from.string()));
}
_file = file.get();
_transferred = &transferred;
@@ -107,7 +107,7 @@ CurlUploader::upload_file(boost::filesystem::path from, boost::filesystem::path
auto const r = curl_easy_perform(_curl);
if (r != CURLE_OK) {
- throw NetworkError(String::compose(_("Could not write to remote file (%1)"), curl_easy_strerror(r)));
+ throw NetworkError(fmt::format(_("Could not write to remote file ({})"), curl_easy_strerror(r)));
}
_file = nullptr;
@@ -133,7 +133,7 @@ int
CurlUploader::debug(CURL *, curl_infotype type, char* data, size_t size)
{
if (type == CURLINFO_TEXT && size > 0) {
- LOG_GENERAL("CurlUploader: %1", string(data, size - 1));
+ LOG_GENERAL("CurlUploader: {}", string(data, size - 1));
}
return 0;
}
diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc
index aa92567ac..c04bbc2e9 100644
--- a/src/lib/dcp_content.cc
+++ b/src/lib/dcp_content.cc
@@ -74,7 +74,7 @@ DCPContent::DCPContent (boost::filesystem::path p)
, _reference_audio (false)
, _three_d (false)
{
- LOG_GENERAL ("Creating DCP content from %1", p.string());
+ LOG_GENERAL ("Creating DCP content from {}", p.string());
read_directory (p);
set_default_colour_conversion ();
@@ -202,21 +202,21 @@ DCPContent::read_sub_directory (boost::filesystem::path p)
{
using namespace boost::filesystem;
- LOG_GENERAL ("DCPContent::read_sub_directory reads %1", p.string());
+ LOG_GENERAL ("DCPContent::read_sub_directory reads {}", p.string());
try {
for (auto i: directory_iterator(p)) {
if (is_regular_file(i.path())) {
- LOG_GENERAL ("Inside there's regular file %1", i.path().string());
+ LOG_GENERAL ("Inside there's regular file {}", i.path().string());
add_path (i.path());
} else if (is_directory(i.path()) && i.path().filename() != ".AppleDouble") {
- LOG_GENERAL ("Inside there's directory %1", i.path().string());
+ LOG_GENERAL ("Inside there's directory {}", i.path().string());
read_sub_directory (i.path());
} else {
- LOG_GENERAL("Ignoring %1 from inside: status is %2", i.path().string(), static_cast<int>(status(i.path()).type()));
+ LOG_GENERAL("Ignoring {} from inside: status is {}", i.path().string(), static_cast<int>(status(i.path()).type()));
}
}
} catch (exception& e) {
- LOG_GENERAL("Failed to iterate over %1: %2", p.string(), e.what());
+ LOG_GENERAL("Failed to iterate over {}: {}", p.string(), e.what());
}
}
@@ -353,7 +353,7 @@ string
DCPContent::summary () const
{
boost::mutex::scoped_lock lm (_mutex);
- return String::compose (_("%1 [DCP]"), _name);
+ return fmt::format(_("{} [DCP]"), _name);
}
string
@@ -750,7 +750,7 @@ DCPContent::can_reference_audio (shared_ptr<const Film> film, string& why_not) c
if (audio && audio->stream()) {
auto const channels = audio->stream()->channels();
if (channels != film->audio_channels()) {
- why_not = String::compose(_("it has a different number of audio channels than the project; set the project to have %1 channels."), channels);
+ why_not = fmt::format(_("it has a different number of audio channels than the project; set the project to have {} channels."), channels);
return false;
}
}
diff --git a/src/lib/dcp_decoder.cc b/src/lib/dcp_decoder.cc
index cd792c0b7..80f2eb0bf 100644
--- a/src/lib/dcp_decoder.cc
+++ b/src/lib/dcp_decoder.cc
@@ -222,9 +222,9 @@ DCPDecoder::pass ()
);
}
} catch (dcp::MPEG2DecompressionError& e) {
- LOG_ERROR("Failed to decompress MPEG video frame %1 (%2)", entry_point + frame, e.what());
+ LOG_ERROR("Failed to decompress MPEG video frame {} ({})", entry_point + frame, e.what());
} catch (dcp::ReadError& e) {
- LOG_ERROR("Failed to read MPEG2 video frame %1 (%2)", entry_point + frame, e.what());
+ LOG_ERROR("Failed to read MPEG2 video frame {} ({})", entry_point + frame, e.what());
}
}
}
diff --git a/src/lib/dcp_examiner.cc b/src/lib/dcp_examiner.cc
index 1c04d20a6..8e9586c52 100644
--- a/src/lib/dcp_examiner.cc
+++ b/src/lib/dcp_examiner.cc
@@ -122,7 +122,7 @@ DCPExaminer::DCPExaminer(shared_ptr<const DCPContent> content, bool tolerant)
_name = selected_cpl->content_title_text();
_content_kind = selected_cpl->content_kind();
- LOG_GENERAL("Selected CPL %1", _cpl);
+ LOG_GENERAL("Selected CPL {}", _cpl);
auto try_to_parse_language = [](optional<string> lang) -> boost::optional<dcp::LanguageTag> {
try {
@@ -133,11 +133,11 @@ DCPExaminer::DCPExaminer(shared_ptr<const DCPContent> content, bool tolerant)
return boost::none;
};
- LOG_GENERAL("Looking at %1 reels", selected_cpl->reels().size());
+ LOG_GENERAL("Looking at {} reels", selected_cpl->reels().size());
int reel_index = 0;
for (auto reel: selected_cpl->reels()) {
- LOG_GENERAL("Reel %1", reel->id());
+ LOG_GENERAL("Reel {}", reel->id());
if (reel->main_picture()) {
/* This will mean a VF can be displayed in the timeline even if its picture asset
@@ -147,10 +147,10 @@ DCPExaminer::DCPExaminer(shared_ptr<const DCPContent> content, bool tolerant)
_video_length += reel->main_picture()->actual_duration();
if (!reel->main_picture()->asset_ref().resolved()) {
- LOG_GENERAL("Main picture %1 of reel %2 is missing", reel->main_picture()->id(), reel->id());
+ LOG_GENERAL("Main picture {} of reel {} is missing", reel->main_picture()->id(), reel->id());
_needs_assets = true;
} else {
- LOG_GENERAL("Main picture %1 of reel %2 found", reel->main_picture()->id(), reel->id());
+ LOG_GENERAL("Main picture {} of reel {} found", reel->main_picture()->id(), reel->id());
auto const frac = reel->main_picture()->edit_rate();
float const fr = float(frac.numerator) / frac.denominator;
@@ -178,10 +178,10 @@ DCPExaminer::DCPExaminer(shared_ptr<const DCPContent> content, bool tolerant)
auto const edit_rate = reel->main_sound()->edit_rate();
if (!reel->main_sound()->asset_ref().resolved()) {
- LOG_GENERAL("Main sound %1 of reel %2 is missing", reel->main_sound()->id(), reel->id());
+ LOG_GENERAL("Main sound {} of reel {} is missing", reel->main_sound()->id(), reel->id());
_needs_assets = true;
} else {
- LOG_GENERAL("Main sound %1 of reel %2 found", reel->main_sound()->id(), reel->id());
+ LOG_GENERAL("Main sound {} of reel {} found", reel->main_sound()->id(), reel->id());
auto asset = reel->main_sound()->asset();
@@ -213,10 +213,10 @@ DCPExaminer::DCPExaminer(shared_ptr<const DCPContent> content, bool tolerant)
_has_non_zero_entry_point[type] = true;
}
if (!reel_asset->asset_ref().resolved()) {
- LOG_GENERAL("Main %1 %2 of reel %3 is missing", name, reel_asset->id(), reel->id());
+ LOG_GENERAL("Main {} {} of reel {} is missing", name, reel_asset->id(), reel->id());
_needs_assets = true;
} else {
- LOG_GENERAL("Main %1 %2 of reel %3 found", name, reel_asset->id(), reel->id());
+ LOG_GENERAL("Main {} {} of reel {} found", name, reel_asset->id(), reel->id());
_text_count[type] = 1;
language = try_to_parse_language(reel_asset->language());
@@ -255,10 +255,10 @@ DCPExaminer::DCPExaminer(shared_ptr<const DCPContent> content, bool tolerant)
_has_non_zero_entry_point[type] = true;
}
if (!text->asset_ref().resolved()) {
- LOG_GENERAL("Closed %1 %2 of reel %3 is missing", name, text->id(), reel->id());
+ LOG_GENERAL("Closed {} {} of reel {} is missing", name, text->id(), reel->id());
_needs_assets = true;
} else {
- LOG_GENERAL("Closed %1 %2 of reel %3 found", name, text->id(), reel->id());
+ LOG_GENERAL("Closed {} {} of reel {} found", name, text->id(), reel->id());
auto asset = text->asset();
for (auto const& font: asset->font_data()) {
@@ -316,7 +316,7 @@ DCPExaminer::DCPExaminer(shared_ptr<const DCPContent> content, bool tolerant)
*/
try {
for (auto i: selected_cpl->reels()) {
- LOG_GENERAL("Reel %1", i->id());
+ LOG_GENERAL("Reel {}", i->id());
if (i->main_picture() && i->main_picture()->asset_ref().resolved()) {
auto pic = i->main_picture()->asset();
if (pic->encrypted() && !pic->key()) {
@@ -396,10 +396,10 @@ DCPExaminer::DCPExaminer(shared_ptr<const DCPContent> content, bool tolerant)
}
} catch (dcp::ReadError& e) {
_kdm_valid = false;
- LOG_GENERAL("KDM is invalid: %1", e.what());
+ LOG_GENERAL("KDM is invalid: {}", e.what());
} catch (dcp::MiscError& e) {
_kdm_valid = false;
- LOG_GENERAL("KDM is invalid: %1", e.what());
+ LOG_GENERAL("KDM is invalid: {}", e.what());
}
_standard = selected_cpl->standard();
diff --git a/src/lib/dcp_subtitle.cc b/src/lib/dcp_subtitle.cc
index c2d390b55..348402a59 100644
--- a/src/lib/dcp_subtitle.cc
+++ b/src/lib/dcp_subtitle.cc
@@ -57,7 +57,7 @@ DCPSubtitle::load (boost::filesystem::path file) const
}
if (!sc) {
- throw FileError(String::compose(_("Could not read subtitles (%1 / %2)"), interop_error, smpte_error), file);
+ throw FileError(fmt::format(_("Could not read subtitles ({} / {})"), interop_error, smpte_error), file);
}
return sc;
diff --git a/src/lib/dcp_text_track.cc b/src/lib/dcp_text_track.cc
index 2d9226bb8..63ce6bdc8 100644
--- a/src/lib/dcp_text_track.cc
+++ b/src/lib/dcp_text_track.cc
@@ -51,7 +51,7 @@ DCPTextTrack::DCPTextTrack (string name_, optional<dcp::LanguageTag> language_)
string
DCPTextTrack::summary () const
{
- return String::compose("%1 (%2)", name, language ? language->as_string() : _("Unknown"));
+ return fmt::format("{} ({})", name, language ? language->as_string() : _("Unknown"));
}
void
diff --git a/src/lib/dcp_video.cc b/src/lib/dcp_video.cc
index 988a92ac5..e55cec5fa 100644
--- a/src/lib/dcp_video.cc
+++ b/src/lib/dcp_video.cc
@@ -152,7 +152,7 @@ DCPVideo::encode_locally() const
ArrayData enc = {};
/* This was empirically derived by a user: see #1902 */
int const minimum_size = 16384;
- LOG_DEBUG_ENCODE("Using minimum frame size %1", minimum_size);
+ LOG_DEBUG_ENCODE("Using minimum frame size {}", minimum_size);
auto xyz = convert_to_xyz(_frame);
int noise_amount = 2;
@@ -168,11 +168,11 @@ DCPVideo::encode_locally() const
);
if (enc.size() >= minimum_size) {
- LOG_DEBUG_ENCODE(N_("Frame %1 encoded size was OK (%2)"), _index, enc.size());
+ LOG_DEBUG_ENCODE(N_("Frame {} encoded size was OK ({})"), _index, enc.size());
break;
}
- LOG_GENERAL(N_("Frame %1 encoded size was small (%2); adding noise at level %3 with pixel skip %4"), _index, enc.size(), noise_amount, pixel_skip);
+ LOG_GENERAL(N_("Frame {} encoded size was small ({}); adding noise at level {} with pixel skip {}"), _index, enc.size(), noise_amount, pixel_skip);
/* The JPEG2000 is too low-bitrate for some decoders <cough>DSS200</cough> so add some noise
* and try again. This is slow but hopefully won't happen too often. We have to do
@@ -203,13 +203,13 @@ DCPVideo::encode_locally() const
switch (_frame->eyes()) {
case Eyes::BOTH:
- LOG_DEBUG_ENCODE(N_("Finished locally-encoded frame %1 for mono"), _index);
+ LOG_DEBUG_ENCODE(N_("Finished locally-encoded frame {} for mono"), _index);
break;
case Eyes::LEFT:
- LOG_DEBUG_ENCODE(N_("Finished locally-encoded frame %1 for L"), _index);
+ LOG_DEBUG_ENCODE(N_("Finished locally-encoded frame {} for L"), _index);
break;
case Eyes::RIGHT:
- LOG_DEBUG_ENCODE(N_("Finished locally-encoded frame %1 for R"), _index);
+ LOG_DEBUG_ENCODE(N_("Finished locally-encoded frame {} for R"), _index);
break;
default:
break;
@@ -237,7 +237,7 @@ DCPVideo::encode_remotely(EncodeServerDescription serv, int timeout) const
cxml::add_text_child(root, "Version", fmt::to_string(SERVER_LINK_VERSION));
add_metadata(root);
- LOG_DEBUG_ENCODE(N_("Sending frame %1 to remote"), _index);
+ LOG_DEBUG_ENCODE(N_("Sending frame {} to remote"), _index);
{
Socket::WriteDigestScope ds(socket);
@@ -248,7 +248,7 @@ DCPVideo::encode_remotely(EncodeServerDescription serv, int timeout) const
socket->write((uint8_t *) xml.c_str(), xml.bytes() + 1);
/* Send binary data */
- LOG_TIMING("start-remote-send thread=%1", thread_id());
+ LOG_TIMING("start-remote-send thread={}", thread_id());
_frame->write_to_socket(socket);
}
@@ -256,16 +256,16 @@ DCPVideo::encode_remotely(EncodeServerDescription serv, int timeout) const
is ready and sent back.
*/
Socket::ReadDigestScope ds(socket);
- LOG_TIMING("start-remote-encode thread=%1", thread_id());
+ LOG_TIMING("start-remote-encode thread={}", thread_id());
ArrayData e(socket->read_uint32());
- LOG_TIMING("start-remote-receive thread=%1", thread_id());
+ LOG_TIMING("start-remote-receive thread={}", thread_id());
socket->read(e.data(), e.size());
- LOG_TIMING("finish-remote-receive thread=%1", thread_id());
+ LOG_TIMING("finish-remote-receive thread={}", thread_id());
if (!ds.check()) {
throw NetworkError("Checksums do not match");
}
- LOG_DEBUG_ENCODE(N_("Finished remotely-encoded frame %1"), _index);
+ LOG_DEBUG_ENCODE(N_("Finished remotely-encoded frame {}"), _index);
return e;
}
diff --git a/src/lib/dcpomatic_log.h b/src/lib/dcpomatic_log.h
index 0bde2ee8e..494f13129 100644
--- a/src/lib/dcpomatic_log.h
+++ b/src/lib/dcpomatic_log.h
@@ -28,23 +28,23 @@
extern std::shared_ptr<Log> dcpomatic_log;
-#define LOG_GENERAL(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_GENERAL);
+#define LOG_GENERAL(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_GENERAL);
#define LOG_GENERAL_NC(...) dcpomatic_log->log(__VA_ARGS__, LogEntry::TYPE_GENERAL);
-#define LOG_ERROR(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_ERROR);
+#define LOG_ERROR(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_ERROR);
#define LOG_ERROR_NC(...) dcpomatic_log->log(__VA_ARGS__, LogEntry::TYPE_ERROR);
-#define LOG_WARNING(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_WARNING);
+#define LOG_WARNING(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_WARNING);
#define LOG_WARNING_NC(...) dcpomatic_log->log(__VA_ARGS__, LogEntry::TYPE_WARNING);
-#define LOG_TIMING(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_TIMING);
-#define LOG_DEBUG_ENCODE(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_DEBUG_ENCODE);
-#define LOG_DEBUG_VIDEO_VIEW(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_DEBUG_VIDEO_VIEW);
-#define LOG_DEBUG_THREE_D(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_DEBUG_THREE_D);
+#define LOG_TIMING(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_TIMING);
+#define LOG_DEBUG_ENCODE(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_DEBUG_ENCODE);
+#define LOG_DEBUG_VIDEO_VIEW(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_DEBUG_VIDEO_VIEW);
+#define LOG_DEBUG_THREE_D(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_DEBUG_THREE_D);
#define LOG_DEBUG_THREE_D_NC(...) dcpomatic_log->log(__VA_ARGS__, LogEntry::TYPE_DEBUG_THREE_D);
-#define LOG_DISK(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_DISK);
+#define LOG_DISK(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_DISK);
#define LOG_DISK_NC(...) dcpomatic_log->log(__VA_ARGS__, LogEntry::TYPE_DISK);
-#define LOG_DEBUG_PLAYER(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_DEBUG_PLAYER);
+#define LOG_DEBUG_PLAYER(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_DEBUG_PLAYER);
#define LOG_DEBUG_PLAYER_NC(...) dcpomatic_log->log(__VA_ARGS__, LogEntry::TYPE_DEBUG_PLAYER);
-#define LOG_DEBUG_AUDIO_ANALYSIS(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_DEBUG_AUDIO_ANALYSIS);
+#define LOG_DEBUG_AUDIO_ANALYSIS(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_DEBUG_AUDIO_ANALYSIS);
#define LOG_DEBUG_AUDIO_ANALYSIS_NC(...) dcpomatic_log->log(__VA_ARGS__, LogEntry::TYPE_DEBUG_AUDIO_ANALYSIS);
-#define LOG_HTTP(...) dcpomatic_log->log(String::compose(__VA_ARGS__), LogEntry::TYPE_HTTP);
+#define LOG_HTTP(...) dcpomatic_log->log(fmt::format(__VA_ARGS__), LogEntry::TYPE_HTTP);
#define LOG_HTTP_NC(...) dcpomatic_log->log(__VA_ARGS__, LogEntry::TYPE_HTTP);
diff --git a/src/lib/dcpomatic_socket.cc b/src/lib/dcpomatic_socket.cc
index 9507128a2..c1cbfa0ca 100644
--- a/src/lib/dcpomatic_socket.cc
+++ b/src/lib/dcpomatic_socket.cc
@@ -76,7 +76,7 @@ Socket::connect(boost::asio::ip::basic_resolver_results<boost::asio::ip::tcp> en
} while (ec == boost::asio::error::would_block);
if (ec) {
- throw NetworkError(String::compose(_("error during async_connect: (%1)"), error_details(ec)));
+ throw NetworkError(fmt::format(_("error during async_connect: ({})"), error_details(ec)));
}
if (!_socket.is_open ()) {
@@ -106,7 +106,7 @@ Socket::connect(boost::asio::ip::tcp::endpoint endpoint)
} while (ec == boost::asio::error::would_block);
if (ec) {
- throw NetworkError(String::compose(_("error during async_connect (%1)"), error_details(ec)));
+ throw NetworkError(fmt::format(_("error during async_connect ({})"), error_details(ec)));
}
if (!_socket.is_open ()) {
@@ -157,7 +157,7 @@ Socket::write (uint8_t const * data, int size)
} while (ec == boost::asio::error::would_block);
if (ec) {
- throw NetworkError(String::compose(_("error during async_write (%1)"), error_details(ec)));
+ throw NetworkError(fmt::format(_("error during async_write ({})"), error_details(ec)));
}
if (_write_digester) {
@@ -198,7 +198,7 @@ Socket::read (uint8_t* data, int size)
} while (ec == boost::asio::error::would_block);
if (ec) {
- throw NetworkError(String::compose(_("error during async_read (%1)"), error_details(ec)));
+ throw NetworkError(fmt::format(_("error during async_read ({})"), error_details(ec)));
}
if (_read_digester) {
diff --git a/src/lib/disk_writer_messages.cc b/src/lib/disk_writer_messages.cc
index 0a11ce618..562e9e876 100644
--- a/src/lib/disk_writer_messages.cc
+++ b/src/lib/disk_writer_messages.cc
@@ -72,24 +72,24 @@ DiskWriterBackEndResponse::write_to_nanomsg(Nanomsg& nanomsg, int timeout) const
switch (_type)
{
case Type::OK:
- message = String::compose("%1\n", DISK_WRITER_OK);
+ message = fmt::format("{}\n", DISK_WRITER_OK);
break;
case Type::ERROR:
- message = String::compose("%1\n%2\n%3\n%4\n", DISK_WRITER_ERROR, _error_message, _ext4_error_number, _platform_error_number);
+ message = fmt::format("{}\n{}\n{}\n{}\n", DISK_WRITER_ERROR, _error_message, _ext4_error_number, _platform_error_number);
break;
case Type::PONG:
- message = String::compose("%1\n", DISK_WRITER_PONG);
+ message = fmt::format("{}\n", DISK_WRITER_PONG);
break;
case Type::FORMAT_PROGRESS:
- message = String::compose("%1\n", DISK_WRITER_FORMAT_PROGRESS);
+ message = fmt::format("{}\n", DISK_WRITER_FORMAT_PROGRESS);
message += fmt::to_string(_progress) + "\n";
break;
case Type::COPY_PROGRESS:
- message = String::compose("%1\n", DISK_WRITER_COPY_PROGRESS);
+ message = fmt::format("{}\n", DISK_WRITER_COPY_PROGRESS);
message += fmt::to_string(_progress) + "\n";
break;
case Type::VERIFY_PROGRESS:
- message = String::compose("%1\n", DISK_WRITER_VERIFY_PROGRESS);
+ message = fmt::format("{}\n", DISK_WRITER_VERIFY_PROGRESS);
message += fmt::to_string(_progress) + "\n";
break;
}
diff --git a/src/lib/dkdm_wrapper.cc b/src/lib/dkdm_wrapper.cc
index 4c7838a8d..8dfa5640e 100644
--- a/src/lib/dkdm_wrapper.cc
+++ b/src/lib/dkdm_wrapper.cc
@@ -61,7 +61,7 @@ DKDMBase::read (cxml::ConstNodePtr node)
string
DKDM::name () const
{
- return String::compose ("%1 (%2)", _dkdm.content_title_text(), _dkdm.cpl_id());
+ return fmt::format("{} ({})", _dkdm.content_title_text(), _dkdm.cpl_id());
}
diff --git a/src/lib/email.cc b/src/lib/email.cc
index 1333b9e2d..35a0650f8 100644
--- a/src/lib/email.cc
+++ b/src/lib/email.cc
@@ -119,7 +119,7 @@ Email::send_with_retry(string server, int port, EmailProtocol protocol, int retr
send(server, port, protocol, user, password);
return;
} catch (NetworkError& e) {
- LOG_ERROR("Error %1 when trying to send email on attempt %2 of 3", e.what(), this_try + 1, retries);
+ LOG_ERROR("Error {} when trying to send email on attempt {} of 3", e.what(), this_try + 1, retries);
if (this_try == (retries - 1)) {
throw;
}
@@ -156,7 +156,7 @@ Email::send(string server, int port, EmailProtocol protocol, string user, string
}
_email += "Subject: " + encode_rfc1342(_subject) + "\r\n" +
- variant::insert_dcpomatic("User-Agent: %1\r\n\r\n");
+ variant::insert_dcpomatic("User-Agent: {}\r\n\r\n");
if (!_attachments.empty()) {
_email += "--" + boundary + "\r\n"
@@ -205,9 +205,9 @@ Email::send(string server, int port, EmailProtocol protocol, string user, string
if ((protocol == EmailProtocol::AUTO && port == 465) || protocol == EmailProtocol::SSL) {
/* "SSL" or "Implicit TLS"; I think curl wants us to use smtps here */
- curl_easy_setopt(curl, CURLOPT_URL, String::compose("smtps://%1:%2", server, port).c_str());
+ curl_easy_setopt(curl, CURLOPT_URL, fmt::format("smtps://{}:{}", server, port).c_str());
} else {
- curl_easy_setopt(curl, CURLOPT_URL, String::compose("smtp://%1:%2", server, port).c_str());
+ curl_easy_setopt(curl, CURLOPT_URL, fmt::format("smtp://{}:{}", server, port).c_str());
}
if (!user.empty()) {
@@ -247,7 +247,7 @@ Email::send(string server, int port, EmailProtocol protocol, string user, string
auto const r = curl_easy_perform(curl);
if (r != CURLE_OK) {
- throw NetworkError(_("Failed to send email"), String::compose("%1 sending to %2:%3", curl_easy_strerror(r), server, port));
+ throw NetworkError(_("Failed to send email"), fmt::format("{} sending to {}:{}", curl_easy_strerror(r), server, port));
}
curl_slist_free_all(recipients);
diff --git a/src/lib/encode_cli.cc b/src/lib/encode_cli.cc
index 88fc36ac5..8bf1a4a26 100644
--- a/src/lib/encode_cli.cc
+++ b/src/lib/encode_cli.cc
@@ -72,7 +72,7 @@ help(function <void (string)> out)
out("\nCommands:\n\n");
out(" make-dcp <FILM> make DCP from the given film; default if no other command is specified\n");
- out(variant::insert_dcpomatic(" list-servers display a list of encoding servers that %1 can use (until Ctrl-C)\n"));
+ out(variant::insert_dcpomatic(" list-servers display a list of encoding servers that {} can use (until Ctrl-C)\n"));
out(" dump <FILM> show a summary of the film's settings\n");
#ifdef DCPOMATIC_GROK
out(" config-params list the parameters that can be set with `config`\n");
@@ -81,7 +81,7 @@ help(function <void (string)> out)
#endif
out("\nOptions:\n\n");
- out(variant::insert_dcpomatic(" -v, --version show %1 version\n"));
+ out(variant::insert_dcpomatic(" -v, --version show {} version\n"));
out(" -h, --help show this help\n");
out(" -f, --flags show flags passed to C++ compiler on build\n");
out(" -n, --no-progress do not print progress to stdout\n");
@@ -90,7 +90,7 @@ help(function <void (string)> out)
out(" -j, --json <port> run a JSON server on the specified port\n");
out(" -k, --keep-going keep running even when the job is complete\n");
out(" -s, --servers <file> specify servers to use in a text file\n");
- out(variant::insert_dcpomatic(" -l, --list-servers just display a list of encoding servers that %1 is configured to use; don't encode\n"));
+ out(variant::insert_dcpomatic(" -l, --list-servers just display a list of encoding servers that {} is configured to use; don't encode\n"));
out(" (deprecated - use the list-servers command instead)\n");
out(" -d, --dcp-path echo DCP's path to stdout on successful completion (implies -n)\n");
out(" -c, --config <dir> directory containing config.xml and cinemas.xml\n");
diff --git a/src/lib/encode_server.cc b/src/lib/encode_server.cc
index 7598ebcf6..b9d503a02 100644
--- a/src/lib/encode_server.cc
+++ b/src/lib/encode_server.cc
@@ -167,7 +167,7 @@ EncodeServer::process (shared_ptr<Socket> socket, struct timeval& after_read, st
socket->write (encoded.data(), encoded.size());
} catch (std::exception& e) {
cerr << "Send failed; frame " << dcp_video_frame.index() << "\n";
- LOG_ERROR ("Send failed; frame %1", dcp_video_frame.index());
+ LOG_ERROR ("Send failed; frame {}", dcp_video_frame.index());
throw;
}
@@ -210,7 +210,7 @@ EncodeServer::worker_thread ()
ip = socket->socket().remote_endpoint().address().to_string();
} catch (std::exception& e) {
cerr << "Error: " << e.what() << "\n";
- LOG_ERROR ("Error: %1", e.what());
+ LOG_ERROR ("Error: {}", e.what());
}
gettimeofday (&end, 0);
@@ -245,7 +245,7 @@ EncodeServer::worker_thread ()
void
EncodeServer::run ()
{
- LOG_GENERAL ("Server %1 (%2) starting with %3 threads", dcpomatic_version, dcpomatic_git_commit, _num_threads);
+ LOG_GENERAL ("Server {} ({}) starting with {} threads", dcpomatic_version, dcpomatic_git_commit, _num_threads);
if (_verbose) {
cout << variant::dcpomatic_encode_server() << " starting with " << _num_threads << " threads.\n";
}
diff --git a/src/lib/encode_server_finder.cc b/src/lib/encode_server_finder.cc
index 1a0329dd7..d2ecd03b7 100644
--- a/src/lib/encode_server_finder.cc
+++ b/src/lib/encode_server_finder.cc
@@ -194,7 +194,7 @@ try {
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 %1 is running."))));
+ boost::throw_exception(NetworkError(variant::insert_dcpomatic(_("Could not listen for remote encode servers. Perhaps another instance of {} is running."))));
}
start_accept ();
diff --git a/src/lib/environment_info.cc b/src/lib/environment_info.cc
index 04aed9eba..d6d5a5a1b 100644
--- a/src/lib/environment_info.cc
+++ b/src/lib/environment_info.cc
@@ -87,18 +87,18 @@ environment_info ()
{
list<string> info;
- info.push_back(String::compose("%1 %2 git %3 using %4", variant::dcpomatic(), dcpomatic_version, dcpomatic_git_commit, dependency_version_summary()));
+ info.push_back(fmt::format("{} {} git {} using {}", variant::dcpomatic(), dcpomatic_version, dcpomatic_git_commit, dependency_version_summary()));
{
char buffer[128];
gethostname (buffer, sizeof (buffer));
- info.push_back (String::compose ("Host name %1", &buffer[0]));
+ info.push_back (fmt::format("Host name {}", &buffer[0]));
}
#ifdef DCPOMATIC_DEBUG
- info.push_back(variant::insert_dcpomatic("%1 built in debug mode."));
+ info.push_back(variant::insert_dcpomatic("{} built in debug mode."));
#else
- info.push_back(variant::insert_dcpomatic("%1 built in optimised mode."));
+ info.push_back(variant::insert_dcpomatic("{} built in optimised mode."));
#endif
#ifdef LIBDCP_DEBUG
info.push_back ("libdcp built in debug mode.");
@@ -111,8 +111,8 @@ environment_info ()
os_info.dwOSVersionInfoSize = sizeof (os_info);
GetVersionEx (&os_info);
info.push_back (
- String::compose (
- "Windows version %1.%2.%3",
+ fmt::format(
+ "Windows version {}.{}.{}",
(int) os_info.dwMajorVersion, (int) os_info.dwMinorVersion, (int) os_info.dwBuildNumber
)
);
@@ -143,9 +143,9 @@ environment_info ()
#endif
#endif
- info.push_back (String::compose ("CPU: %1, %2 processors", cpu_info(), boost::thread::hardware_concurrency()));
+ info.push_back (fmt::format("CPU: {}, {} processors", cpu_info(), boost::thread::hardware_concurrency()));
for (auto const& i: mount_info()) {
- info.push_back (String::compose("Mount: %1 %2", i.first, i.second));
+ info.push_back (fmt::format("Mount: {} {}", i.first, i.second));
}
return info;
diff --git a/src/lib/exceptions.cc b/src/lib/exceptions.cc
index 5f0fe935a..e08e6817c 100644
--- a/src/lib/exceptions.cc
+++ b/src/lib/exceptions.cc
@@ -34,9 +34,9 @@ using boost::optional;
/** @param f File that we were trying to open */
OpenFileError::OpenFileError (boost::filesystem::path f, int error, Mode mode)
: FileError (
- String::compose (
- mode == READ_WRITE ? _("could not open file %1 for read/write (%2)") :
- (mode == READ ? _("could not open file %1 for read (%2)") : _("could not open file %1 for write (%2)")),
+ fmt::format(
+ mode == READ_WRITE ? _("could not open file {} for read/write ({})") :
+ (mode == READ ? _("could not open file {} for read ({})") : _("could not open file {} for write ({})")),
f.string(),
error),
f
@@ -47,7 +47,7 @@ OpenFileError::OpenFileError (boost::filesystem::path f, int error, Mode mode)
FileNotFoundError::FileNotFoundError (boost::filesystem::path f)
- : runtime_error(String::compose("File %1 not found", f.string()))
+ : runtime_error(fmt::format("File {} not found", f.string()))
, _file (f)
{
@@ -55,35 +55,35 @@ FileNotFoundError::FileNotFoundError (boost::filesystem::path f)
ReadFileError::ReadFileError (boost::filesystem::path f, int e)
- : FileError (String::compose(_("could not read from file %1 (%2)"), f.string(), strerror(e)), f)
+ : FileError (fmt::format(_("could not read from file {} ({})"), f.string(), strerror(e)), f)
{
}
WriteFileError::WriteFileError (boost::filesystem::path f, int e)
- : FileError (String::compose(_("could not write to file %1 (%2)"), f.string(), strerror(e)), f)
+ : FileError (fmt::format(_("could not write to file {} ({})"), f.string(), strerror(e)), f)
{
}
MissingSettingError::MissingSettingError (string s)
- : SettingError (s, String::compose(_("Missing required setting %1"), s))
+ : SettingError (s, fmt::format(_("Missing required setting {}"), s))
{
}
PixelFormatError::PixelFormatError (string o, AVPixelFormat f)
- : runtime_error (String::compose(_("Cannot handle pixel format %1 during %2"), (int) f, o))
+ : runtime_error (fmt::format(_("Cannot handle pixel format {} during {}"), (int) f, o))
{
}
TextSubtitleError::TextSubtitleError (string saw, string expecting, boost::filesystem::path f)
- : FileError (String::compose(_("Error in subtitle file: saw %1 while expecting %2"), saw.empty() ? "[nothing]" : saw, expecting), f)
+ : FileError (fmt::format(_("Error in subtitle file: saw {} while expecting {}"), saw.empty() ? "[nothing]" : saw, expecting), f)
{
}
@@ -97,14 +97,14 @@ InvalidSignerError::InvalidSignerError ()
InvalidSignerError::InvalidSignerError (string reason)
- : runtime_error (String::compose(_("The certificate chain for signing is invalid (%1)"), reason))
+ : runtime_error (fmt::format(_("The certificate chain for signing is invalid ({})"), reason))
{
}
ProgrammingError::ProgrammingError (string file, int line, string message)
- : runtime_error (String::compose(_("Programming error at %1:%2 %3"), file, line, message))
+ : runtime_error (fmt::format(_("Programming error at {}:{} {}"), file, line, message))
{
}
@@ -118,7 +118,7 @@ KDMAsContentError::KDMAsContentError ()
NetworkError::NetworkError (string s, optional<string> d)
- : runtime_error (String::compose("%1%2", s, d ? String::compose(" (%1)", *d) : ""))
+ : runtime_error (fmt::format("{}{}", s, d ? fmt::format(" ({})", *d) : ""))
, _summary (s)
, _detail (d)
{
@@ -127,7 +127,7 @@ NetworkError::NetworkError (string s, optional<string> d)
KDMError::KDMError (string s, string d)
- : runtime_error (String::compose("%1 (%2)", s, d))
+ : runtime_error (fmt::format("{} ({})", s, d))
, _summary (s)
, _detail (d)
{
@@ -136,7 +136,7 @@ KDMError::KDMError (string s, string d)
GLError::GLError (char const* last, int e)
- : runtime_error (String::compose("%1 failed %2", last, e))
+ : runtime_error (fmt::format("{} failed {}", last, e))
{
}
@@ -150,7 +150,7 @@ GLError::GLError (char const* message)
CopyError::CopyError(string m, optional<int> ext4, optional<int> platform)
- : runtime_error(String::compose("%1%2%3", m, ext4 ? String::compose(" (%1)", *ext4) : "", platform ? String::compose(" (%1)", *platform) : ""))
+ : runtime_error(fmt::format("{}{}{}", m, ext4 ? fmt::format(" ({})", *ext4) : "", platform ? fmt::format(" ({})", *platform) : ""))
, _message (m)
, _ext4_number(ext4)
, _platform_number(platform)
@@ -167,7 +167,7 @@ CommunicationFailedError::CommunicationFailedError ()
VerifyError::VerifyError (string m, int n)
- : runtime_error (String::compose("%1 (%2)", m, n))
+ : runtime_error (fmt::format("{} ({})", m, n))
, _message (m)
, _number (n)
{
@@ -176,7 +176,7 @@ VerifyError::VerifyError (string m, int n)
DiskFullError::DiskFullError(boost::filesystem::path writing)
- : std::runtime_error(String::compose(_("Disk full when writing %1"), writing.string()))
+ : std::runtime_error(fmt::format(_("Disk full when writing {}"), writing.string()))
{
}
diff --git a/src/lib/exceptions.h b/src/lib/exceptions.h
index 17a00b276..bc14e3f2b 100644
--- a/src/lib/exceptions.h
+++ b/src/lib/exceptions.h
@@ -55,19 +55,19 @@ public:
{}
DecodeError (std::string function, std::string caller)
- : std::runtime_error (String::compose("%1 failed [%2]", function, caller))
+ : std::runtime_error (fmt::format("{} failed [{}]", function, caller))
{}
DecodeError (std::string function, std::string caller, int error)
- : std::runtime_error (String::compose("%1 failed [%2] (%3)", function, caller, error))
+ : std::runtime_error (fmt::format("{} failed [{}] ({})", function, caller, error))
{}
DecodeError (std::string function, std::string caller, boost::filesystem::path file)
- : std::runtime_error (String::compose("%1 failed [%2] (%3)", function, caller, file.string()))
+ : std::runtime_error (fmt::format("{} failed [{}] ({})", function, caller, file.string()))
{}
DecodeError (std::string function, std::string caller, int error, boost::filesystem::path file)
- : std::runtime_error (String::compose("%1 failed [%2] (%3) (%4)", function, caller, error, file.string()))
+ : std::runtime_error (fmt::format("{} failed [{}] ({}) ({})", function, caller, error, file.string()))
{}
};
@@ -92,11 +92,11 @@ public:
{}
explicit EncodeError (std::string function, std::string caller)
- : std::runtime_error (String::compose("%1 failed [%2]", function, caller))
+ : std::runtime_error (fmt::format("{} failed [{}]", function, caller))
{}
explicit EncodeError (std::string function, std::string caller, int error)
- : std::runtime_error (String::compose("%1 failed [%2] (%3)", function, caller, error))
+ : std::runtime_error (fmt::format("{} failed [{}] ({})", function, caller, error))
{}
};
@@ -111,7 +111,7 @@ public:
* @param f Name of the file that this exception concerns.
*/
FileError (std::string m, boost::filesystem::path f)
- : std::runtime_error (String::compose("%1 with %2", m, f.string()))
+ : std::runtime_error (fmt::format("{} with {}", m, f.string()))
, _file (f)
{}
@@ -344,7 +344,7 @@ class CPLNotFoundError : public DCPError
{
public:
CPLNotFoundError(std::string id)
- : DCPError(String::compose("CPL %1 not found", id))
+ : DCPError(fmt::format("CPL {} not found", id))
{}
};
@@ -515,17 +515,17 @@ private:
std::string get_message(SQLiteDatabase& db, char const* s)
{
- return String::compose("%1 (in %2)", s, get_filename(db).string());
+ return fmt::format("{} (in {})", s, get_filename(db).string());
}
std::string get_message(SQLiteDatabase& db, int rc)
{
- return String::compose("%1 (in %2)", sqlite3_errstr(rc), get_filename(db).string());
+ return fmt::format("{} (in {})", sqlite3_errstr(rc), get_filename(db).string());
}
std::string get_message(SQLiteDatabase& db, int rc, std::string doing)
{
- return String::compose("%1 (while doing %2) (in %3)", sqlite3_errstr(rc), doing, get_filename(db).string());
+ return fmt::format("{} (while doing {}) (in {})", sqlite3_errstr(rc), doing, get_filename(db).string());
}
boost::filesystem::path _filename;
diff --git a/src/lib/ext.cc b/src/lib/ext.cc
index 7dfc2b856..f278023a5 100644
--- a/src/lib/ext.cc
+++ b/src/lib/ext.cc
@@ -114,13 +114,13 @@ write(boost::filesystem::path from, boost::filesystem::path to, uint64_t& total_
ext4_file out;
int r = ext4_fopen(&out, to.generic_string().c_str(), "wb");
if (r != EOK) {
- throw CopyError(String::compose("Failed to open file %1", to.generic_string()), r, ext4_blockdev_errno);
+ throw CopyError(fmt::format("Failed to open file {}", to.generic_string()), r, ext4_blockdev_errno);
}
dcp::File in(from, "rb");
if (!in) {
ext4_fclose(&out);
- throw CopyError(String::compose("Failed to open file %1", from.string()), 0);
+ throw CopyError(fmt::format("Failed to open file {}", from.string()), 0);
}
std::vector<uint8_t> buffer(block_size);
@@ -134,7 +134,7 @@ write(boost::filesystem::path from, boost::filesystem::path to, uint64_t& total_
size_t read = in.read(buffer.data(), 1, this_time);
if (read != this_time) {
ext4_fclose(&out);
- throw CopyError(String::compose("Short read; expected %1 but read %2", this_time, read), 0, ext4_blockdev_errno);
+ throw CopyError(fmt::format("Short read; expected {} but read {}", this_time, read), 0, ext4_blockdev_errno);
}
digester.add(buffer.data(), this_time);
@@ -147,7 +147,7 @@ write(boost::filesystem::path from, boost::filesystem::path to, uint64_t& total_
}
if (written != this_time) {
ext4_fclose(&out);
- throw CopyError(String::compose("Short write; expected %1 but wrote %2", this_time, written), 0, ext4_blockdev_errno);
+ throw CopyError(fmt::format("Short write; expected {} but wrote {}", this_time, written), 0, ext4_blockdev_errno);
}
remaining -= this_time;
total_remaining -= this_time;
@@ -171,12 +171,12 @@ string
read(boost::filesystem::path from, boost::filesystem::path to, uint64_t& total_remaining, uint64_t total, Nanomsg* nanomsg)
{
ext4_file in;
- LOG_DISK("Opening %1 for read", to.generic_string());
+ LOG_DISK("Opening {} for read", to.generic_string());
int r = ext4_fopen(&in, to.generic_string().c_str(), "rb");
if (r != EOK) {
- throw VerifyError(String::compose("Failed to open file %1", to.generic_string()), r);
+ throw VerifyError(fmt::format("Failed to open file {}", to.generic_string()), r);
}
- LOG_DISK("Opened %1 for read", to.generic_string());
+ LOG_DISK("Opened {} for read", to.generic_string());
std::vector<uint8_t> buffer(block_size);
Digester digester;
@@ -188,7 +188,7 @@ read(boost::filesystem::path from, boost::filesystem::path to, uint64_t& total_r
r = ext4_fread(&in, buffer.data(), this_time, &read);
if (read != this_time) {
ext4_fclose(&in);
- throw VerifyError(String::compose("Short read; expected %1 but read %2", this_time, read), 0);
+ throw VerifyError(fmt::format("Short read; expected {} but read {}", this_time, read), 0);
}
digester.add(buffer.data(), this_time);
@@ -228,7 +228,7 @@ static
void
copy(boost::filesystem::path from, boost::filesystem::path to, uint64_t& total_remaining, uint64_t total, vector<CopiedFile>& copied_files, Nanomsg* nanomsg)
{
- LOG_DISK("Copy %1 -> %2", from.string(), to.generic_string());
+ LOG_DISK("Copy {} -> {}", from.string(), to.generic_string());
from = dcp::filesystem::fix_long_path(from);
using namespace boost::filesystem;
@@ -238,7 +238,7 @@ copy(boost::filesystem::path from, boost::filesystem::path to, uint64_t& total_r
if (is_directory(from)) {
int r = ext4_dir_mk(cr.generic_string().c_str());
if (r != EOK) {
- throw CopyError(String::compose("Failed to create directory %1", cr.generic_string()), r, ext4_blockdev_errno);
+ throw CopyError(fmt::format("Failed to create directory {}", cr.generic_string()), r, ext4_blockdev_errno);
}
set_timestamps_to_now(cr);
@@ -247,7 +247,7 @@ copy(boost::filesystem::path from, boost::filesystem::path to, uint64_t& total_r
}
} else {
string const write_digest = write(from, cr, total_remaining, total, nanomsg);
- LOG_DISK("Wrote %1 %2 with %3", from.string(), cr.generic_string(), write_digest);
+ LOG_DISK("Wrote {} {} with {}", from.string(), cr.generic_string(), write_digest);
copied_files.push_back(CopiedFile(from, cr, write_digest));
}
}
@@ -260,7 +260,7 @@ verify(vector<CopiedFile> const& copied_files, uint64_t total, Nanomsg* nanomsg)
uint64_t total_remaining = total;
for (auto const& i: copied_files) {
string const read_digest = read(i.from, i.to, total_remaining, total, nanomsg);
- LOG_DISK("Read %1 %2 was %3 on write, now %4", i.from.string(), i.to.generic_string(), i.write_digest, read_digest);
+ LOG_DISK("Read {} {} was {} on write, now {}", i.from.string(), i.to.generic_string(), i.write_digest, read_digest);
if (read_digest != i.write_digest) {
throw VerifyError("Hash of written data is incorrect", 0);
}
@@ -348,7 +348,7 @@ try
close(fd);
#endif
- LOG_DISK("Writing to partition at %1 size %2; bd part size is %3", bdevs.partitions[0].part_offset, bdevs.partitions[0].part_size, bd->part_size);
+ LOG_DISK("Writing to partition at {} size {}; bd part size is {}", bdevs.partitions[0].part_offset, bdevs.partitions[0].part_size, bd->part_size);
#ifdef DCPOMATIC_WINDOWS
file_windows_partition_set(bdevs.partitions[0].part_offset, bdevs.partitions[0].part_size);
@@ -426,17 +426,17 @@ try
disk_write_finished();
} catch (CopyError& e) {
- LOG_DISK("CopyError (from write): %1 %2 %3", e.message(), e.ext4_number().get_value_or(0), e.platform_number().get_value_or(0));
+ LOG_DISK("CopyError (from write): {} {} {}", e.message(), e.ext4_number().get_value_or(0), e.platform_number().get_value_or(0));
if (nanomsg) {
DiskWriterBackEndResponse::error(e.message(), e.ext4_number().get_value_or(0), e.platform_number().get_value_or(0)).write_to_nanomsg(*nanomsg, LONG_TIMEOUT);
}
} catch (VerifyError& e) {
- LOG_DISK("VerifyError (from write): %1 %2", e.message(), e.number());
+ LOG_DISK("VerifyError (from write): {} {}", e.message(), e.number());
if (nanomsg) {
DiskWriterBackEndResponse::error(e.message(), e.number(), 0).write_to_nanomsg(*nanomsg, LONG_TIMEOUT);
}
} catch (exception& e) {
- LOG_DISK("Exception (from write): %1", e.what());
+ LOG_DISK("Exception (from write): {}", e.what());
if (nanomsg) {
DiskWriterBackEndResponse::error(e.what(), 0, 0).write_to_nanomsg(*nanomsg, LONG_TIMEOUT);
}
diff --git a/src/lib/fcpxml.cc b/src/lib/fcpxml.cc
index 49798381c..f6f3747e9 100644
--- a/src/lib/fcpxml.cc
+++ b/src/lib/fcpxml.cc
@@ -41,7 +41,7 @@ convert_time(string const& time)
boost::algorithm::split(parts, time, boost::is_any_of("/"));
if (parts.size() != 2 || parts[1].empty() || parts[1][parts[1].length() - 1] != 's') {
- throw FCPXMLError(String::compose("Unexpected time format %1", time));
+ throw FCPXMLError(fmt::format("Unexpected time format {}", time));
}
return dcpomatic::ContentTime{dcp::raw_convert<int64_t>(parts[0]) * dcpomatic::ContentTime::HZ / dcp::raw_convert<int64_t>(parts[1])};
@@ -66,7 +66,7 @@ dcpomatic::fcpxml::load(boost::filesystem::path xml_file)
auto name = video->string_attribute("name");
auto iter = assets.find(name);
if (iter == assets.end()) {
- throw FCPXMLError(String::compose(_("Video refers to missing asset %1"), name));
+ throw FCPXMLError(fmt::format(_("Video refers to missing asset {}"), name));
}
auto start = convert_time(video->string_attribute("offset"));
diff --git a/src/lib/ffmpeg.cc b/src/lib/ffmpeg.cc
index c6867c081..6c2ca538c 100644
--- a/src/lib/ffmpeg.cc
+++ b/src/lib/ffmpeg.cc
@@ -218,7 +218,7 @@ FFmpeg::setup_decoders ()
throw DecodeError (N_("avcodec_open2"), N_("FFmpeg::setup_decoders"), r);
}
} else {
- dcpomatic_log->log (String::compose ("No codec found for stream %1", i), LogEntry::TYPE_WARNING);
+ dcpomatic_log->log (fmt::format("No codec found for stream {}", i), LogEntry::TYPE_WARNING);
}
}
}
diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc
index 95aa63ba4..7c1ab4941 100644
--- a/src/lib/ffmpeg_content.cc
+++ b/src/lib/ffmpeg_content.cc
@@ -112,7 +112,7 @@ FFmpegContent::FFmpegContent(cxml::ConstNodePtr node, boost::optional<boost::fil
if (auto filter = Filter::from_id(i->content())) {
_filters.push_back(*filter);
} else {
- notes.push_back(String::compose(_("%1 no longer supports the `%2' filter, so it has been turned off."), variant::dcpomatic(), i->content()));
+ notes.push_back(fmt::format(_("{} no longer supports the `{}' filter, so it has been turned off."), variant::dcpomatic(), i->content()));
}
}
@@ -340,11 +340,11 @@ string
FFmpegContent::summary () const
{
if (video && audio) {
- return String::compose (_("%1 [movie]"), path_summary());
+ return fmt::format(_("{} [movie]"), path_summary());
} else if (video) {
- return String::compose (_("%1 [video]"), path_summary());
+ return fmt::format(_("{} [video]"), path_summary());
} else if (audio) {
- return String::compose (_("%1 [audio]"), path_summary());
+ return fmt::format(_("{} [audio]"), path_summary());
}
return path_summary ();
@@ -380,8 +380,8 @@ FFmpegContent::technical_summary () const
s += " - " + audio->technical_summary ();
}
- return s + String::compose (
- "ffmpeg: audio %1 subtitle %2 filters %3", as, ss, filt
+ return s + fmt::format(
+ "ffmpeg: audio {} subtitle {} filters {}", as, ss, filt
);
}
@@ -554,14 +554,14 @@ FFmpegContent::add_properties (shared_ptr<const Film> film, list<UserProperty>&
/// file is limited, so that not all possible values are valid.
p.push_back (
UserProperty (
- UserProperty::VIDEO, _("Colour range"), String::compose(_("Limited / video (%1-%2)"), lim_start, lim_end)
+ UserProperty::VIDEO, _("Colour range"), fmt::format(_("Limited / video ({}-{})"), lim_start, lim_end)
)
);
break;
case AVCOL_RANGE_JPEG:
/// TRANSLATORS: this means that the range of pixel values used in this
/// file is full, so that all possible pixel values are valid.
- p.push_back(UserProperty(UserProperty::VIDEO, _("Colour range"), String::compose(_("Full (0-%1)"), total - 1)));
+ p.push_back(UserProperty(UserProperty::VIDEO, _("Colour range"), fmt::format(_("Full (0-{})"), total - 1)));
break;
default:
DCPOMATIC_ASSERT (false);
diff --git a/src/lib/ffmpeg_decoder.cc b/src/lib/ffmpeg_decoder.cc
index a4ddd3a7c..9eb4d30cf 100644
--- a/src/lib/ffmpeg_decoder.cc
+++ b/src/lib/ffmpeg_decoder.cc
@@ -109,7 +109,7 @@ FFmpegDecoder::FFmpegDecoder (shared_ptr<const Film> film, shared_ptr<const FFmp
FFmpegDecoder::FlushResult
FFmpegDecoder::flush ()
{
- LOG_DEBUG_PLAYER("Flush FFmpeg decoder: current state %1", static_cast<int>(_flush_state));
+ LOG_DEBUG_PLAYER("Flush FFmpeg decoder: current state {}", static_cast<int>(_flush_state));
switch (_flush_state) {
case FlushState::CODECS:
@@ -193,7 +193,7 @@ FFmpegDecoder::flush_fill()
here. I'm not sure if that's the right idea.
*/
if (a > ContentTime() && a < full_length) {
- LOG_DEBUG_PLAYER("Flush inserts silence at %1", to_string(a));
+ LOG_DEBUG_PLAYER("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 ();
@@ -220,12 +220,12 @@ FFmpegDecoder::pass ()
Hence it makes sense to continue here in that case.
*/
if (r < 0 && r != AVERROR_INVALIDDATA) {
- LOG_DEBUG_PLAYER("FFpmegDecoder::pass flushes because av_read_frame returned %1", r);
+ LOG_DEBUG_PLAYER("FFpmegDecoder::pass flushes because av_read_frame returned {}", r);
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 (%1) (%2)"), &buf[0], r);
+ LOG_ERROR (N_("error on av_read_frame ({}) ({})"), &buf[0], r);
}
av_packet_free (&packet);
@@ -375,7 +375,7 @@ deinterleave_audio(AVFrame* frame)
break;
default:
- throw DecodeError (String::compose(_("Unrecognised audio sample format (%1)"), static_cast<int>(format)));
+ throw DecodeError (fmt::format(_("Unrecognised audio sample format ({})"), static_cast<int>(format)));
}
return audio;
@@ -505,7 +505,7 @@ FFmpegDecoder::process_audio_frame (shared_ptr<FFmpegAudioStream> stream)
av_q2d(time_base))
+ _pts_offset;
LOG_DEBUG_PLAYER(
- "Process audio with timestamp %1 (BET %2, timebase %3/%4, (PTS offset %5)",
+ "Process audio with timestamp {} (BET {}, timebase {}/{}, (PTS offset {})",
to_string(ct),
frame->best_effort_timestamp,
time_base.num,
@@ -526,7 +526,7 @@ FFmpegDecoder::process_audio_frame (shared_ptr<FFmpegAudioStream> stream)
if (ct < ContentTime()) {
LOG_WARNING (
- "Crazy timestamp %1 for %2 samples in stream %3 (ts=%4 tb=%5, off=%6)",
+ "Crazy timestamp {} for {} samples in stream {} (ts={} tb={}, off={})",
to_string(ct),
data->frames(),
stream->id(),
@@ -554,10 +554,10 @@ FFmpegDecoder::decode_and_process_audio_packet (AVPacket* packet)
auto context = _codec_context[stream->index(_format_context)];
auto frame = audio_frame (stream);
- LOG_DEBUG_PLAYER("Send audio packet on stream %1", stream->index(_format_context));
+ LOG_DEBUG_PLAYER("Send audio packet on stream {}", stream->index(_format_context));
int r = avcodec_send_packet (context, packet);
if (r < 0) {
- LOG_WARNING("avcodec_send_packet returned %1 for an audio packet", r);
+ LOG_WARNING("avcodec_send_packet returned {} for an audio packet", r);
}
while (r >= 0) {
r = avcodec_receive_frame (context, frame);
@@ -587,7 +587,7 @@ FFmpegDecoder::decode_and_process_video_packet (AVPacket* packet)
do {
int r = avcodec_send_packet (context, packet);
if (r < 0) {
- LOG_WARNING("avcodec_send_packet returned %1 for a video packet", r);
+ LOG_WARNING("avcodec_send_packet returned {} for a video packet", r);
}
/* EAGAIN means we should call avcodec_receive_frame and then re-send the same packet */
diff --git a/src/lib/ffmpeg_examiner.cc b/src/lib/ffmpeg_examiner.cc
index ca85ae3c5..de41e0390 100644
--- a/src/lib/ffmpeg_examiner.cc
+++ b/src/lib/ffmpeg_examiner.cc
@@ -196,7 +196,7 @@ FFmpegExaminer::FFmpegExaminer (shared_ptr<const FFmpegContent> c, shared_ptr<Jo
}
}
- LOG_GENERAL("Temporal reference was %1", temporal_reference);
+ LOG_GENERAL("Temporal reference was {}", temporal_reference);
if (temporal_reference.find("T2T3B2B3T2T3B2B3") != string::npos || temporal_reference.find("B2B3T2T3B2B3T2T3") != string::npos) {
/* The magical sequence (taken from mediainfo) suggests that 2:3 pull-down is in use */
_pulldown = true;
@@ -223,7 +223,7 @@ FFmpegExaminer::video_packet (AVCodecContext* context, string& temporal_referenc
do {
int r = avcodec_send_packet (context, packet);
if (r < 0) {
- LOG_WARNING("avcodec_send_packet returned %1 for a video packet", r);
+ LOG_WARNING("avcodec_send_packet returned {} for a video packet", r);
}
/* EAGAIN means we should call avcodec_receive_frame and then re-send the same packet */
@@ -266,7 +266,7 @@ FFmpegExaminer::audio_packet (AVCodecContext* context, shared_ptr<FFmpegAudioStr
int r = avcodec_send_packet (context, packet);
if (r < 0) {
- LOG_WARNING("avcodec_send_packet returned %1 for an audio packet", r);
+ LOG_WARNING("avcodec_send_packet returned {} for an audio packet", r);
return false;
}
diff --git a/src/lib/ffmpeg_file_encoder.cc b/src/lib/ffmpeg_file_encoder.cc
index 8f5a75061..65b58885e 100644
--- a/src/lib/ffmpeg_file_encoder.cc
+++ b/src/lib/ffmpeg_file_encoder.cc
@@ -61,7 +61,7 @@ public:
{
_codec = avcodec_find_encoder_by_name (codec_name.c_str());
if (!_codec) {
- throw EncodeError (String::compose("avcodec_find_encoder_by_name failed for %1", codec_name));
+ throw EncodeError (fmt::format("avcodec_find_encoder_by_name failed for {}", codec_name));
}
_codec_context = avcodec_alloc_context3 (_codec);
@@ -268,7 +268,7 @@ FFmpegFileEncoder::FFmpegFileEncoder (
r = avio_open_boost (&_format_context->pb, _output, AVIO_FLAG_WRITE);
if (r < 0) {
- throw EncodeError (String::compose(_("Could not open output file %1 (%2)"), _output.string(), r));
+ throw EncodeError (fmt::format(_("Could not open output file {} ({})"), _output.string(), r));
}
AVDictionary* options = nullptr;
@@ -316,7 +316,7 @@ FFmpegFileEncoder::setup_video ()
{
_video_codec = avcodec_find_encoder_by_name (_video_codec_name.c_str());
if (!_video_codec) {
- throw EncodeError (String::compose("avcodec_find_encoder_by_name failed for %1", _video_codec_name));
+ throw EncodeError (fmt::format("avcodec_find_encoder_by_name failed for {}", _video_codec_name));
}
_video_codec_context = avcodec_alloc_context3 (_video_codec);
diff --git a/src/lib/ffmpeg_film_encoder.cc b/src/lib/ffmpeg_film_encoder.cc
index f07d6be66..6c26d9555 100644
--- a/src/lib/ffmpeg_film_encoder.cc
+++ b/src/lib/ffmpeg_film_encoder.cc
@@ -147,9 +147,9 @@ FFmpegFilmEncoder::go()
filename = dcp::filesystem::change_extension(filename, "");
if (files > 1) {
- /// TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
- /// which reel it is. Preserve the %1; it will be replaced with the reel number.
- filename = filename.string() + String::compose(_("_reel%1"), i + 1);
+ /// TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+ /// which reel it is. Preserve the {}; it will be replaced with the reel number.
+ filename = filename.string() + fmt::format(_("_reel{}"), i + 1);
}
file_encoders.push_back (
@@ -198,7 +198,7 @@ FFmpegFilmEncoder::go()
}
} else {
if (e.code != Butler::Error::Code::FINISHED) {
- throw DecodeError(String::compose("Error during decoding: %1", e.summary()));
+ throw DecodeError(fmt::format("Error during decoding: {}", e.summary()));
}
}
}
@@ -263,17 +263,17 @@ FFmpegFilmEncoder::FileEncoderSet::FileEncoderSet(
_encoders[Eyes::LEFT] = make_shared<FFmpegFileEncoder>(
video_frame_size, video_frame_rate, audio_frame_rate, channels, format,
// TRANSLATORS: L here is an abbreviation for "left", to indicate the left-eye part of a 3D export
- audio_stream_per_channel, x264_crf, String::compose("%1_%2%3", output.string(), _("L"), extension)
+ audio_stream_per_channel, x264_crf, fmt::format("{}_{}{}", output.string(), _("L"), extension)
);
_encoders[Eyes::RIGHT] = make_shared<FFmpegFileEncoder>(
video_frame_size, video_frame_rate, audio_frame_rate, channels, format,
// TRANSLATORS: R here is an abbreviation for "right", to indicate the right-eye part of a 3D export
- audio_stream_per_channel, x264_crf, String::compose("%1_%2%3", output.string(), _("R"), extension)
+ audio_stream_per_channel, x264_crf, fmt::format("{}_{}{}", output.string(), _("R"), extension)
);
} else {
_encoders[Eyes::BOTH] = make_shared<FFmpegFileEncoder>(
video_frame_size, video_frame_rate, audio_frame_rate, channels, format,
- audio_stream_per_channel, x264_crf, String::compose("%1%2", output.string(), extension)
+ audio_stream_per_channel, x264_crf, fmt::format("{}{}", output.string(), extension)
);
}
}
diff --git a/src/lib/ffmpeg_image_proxy.cc b/src/lib/ffmpeg_image_proxy.cc
index c9fcd0413..59970ca6e 100644
--- a/src/lib/ffmpeg_image_proxy.cc
+++ b/src/lib/ffmpeg_image_proxy.cc
@@ -161,7 +161,7 @@ FFmpegImageProxy::image (Image::Alignment alignment, optional<dcp::Size>) const
if (_path) {
throw OpenFileError (_path->string(), e, OpenFileError::READ);
} else {
- boost::throw_exception(DecodeError(String::compose(_("Could not decode image (%1)"), e)));
+ boost::throw_exception(DecodeError(fmt::format(_("Could not decode image ({})"), e)));
}
}
diff --git a/src/lib/file_group.cc b/src/lib/file_group.cc
index 56a5c2c59..115303230 100644
--- a/src/lib/file_group.cc
+++ b/src/lib/file_group.cc
@@ -169,7 +169,7 @@ FileGroup::read (uint8_t* buffer, int amount) const
}
if (_current_file->error()) {
- throw FileError (String::compose("fread error %1", errno), _paths[_current_path]);
+ throw FileError (fmt::format("fread error {}", errno), _paths[_current_path]);
}
if (eof) {
diff --git a/src/lib/film.cc b/src/lib/film.cc
index 1be1c0607..e4e07392a 100644
--- a/src/lib/film.cc
+++ b/src/lib/film.cc
@@ -498,7 +498,7 @@ Film::write_metadata()
try {
metadata()->write_to_file_formatted(filename.string());
} catch (xmlpp::exception& e) {
- throw FileError(String::compose("Could not write metadata file (%1)", e.what()), filename.string());
+ throw FileError(fmt::format("Could not write metadata file ({})", e.what()), filename.string());
}
set_dirty(false);
}
@@ -522,7 +522,7 @@ Film::read_metadata(optional<boost::filesystem::path> path)
if (dcp::filesystem::exists(file("metadata")) && !dcp::filesystem::exists(file(metadata_file))) {
throw runtime_error(
variant::insert_dcpomatic(
- _("This film was created with an older version of %1, and unfortunately it cannot "
+ _("This film was created with an older version of {}, and unfortunately it cannot "
"be loaded into this version. You will need to create a new Film, re-add your "
"content and set it up again. Sorry!")
)
@@ -541,10 +541,10 @@ Film::read_metadata(optional<boost::filesystem::path> path)
_state_version = f.number_child<int>("Version");
if (_state_version > current_state_version) {
- throw runtime_error(variant::insert_dcpomatic(_("This film was created with a newer version of %1, and it cannot be loaded into this version. Sorry!")));
+ throw runtime_error(variant::insert_dcpomatic(_("This film was created with a newer version of {}, and it cannot be loaded into this version. Sorry!")));
} else if (_state_version < current_state_version) {
/* This is an older version; save a copy (if we haven't already) */
- auto const older = path->parent_path() / String::compose("metadata.%1.xml", _state_version);
+ auto const older = path->parent_path() / fmt::format("metadata.{}.xml", _state_version);
if (!dcp::filesystem::is_regular_file(older)) {
try {
dcp::filesystem::copy_file(*path, older);
@@ -1060,7 +1060,7 @@ Film::isdcf_name(bool if_created_now) const
if (!ch.first && !ch.second) {
isdcf_name += "_MOS";
} else if (ch.first) {
- isdcf_name += String::compose("_%1%2", ch.first, ch.second);
+ isdcf_name += fmt::format("_{}{}", ch.first, ch.second);
}
if (audio_channels() > static_cast<int>(dcp::Channel::HI) && find(mapped.begin(), mapped.end(), static_cast<int>(dcp::Channel::HI)) != mapped.end()) {
@@ -1643,7 +1643,7 @@ Film::check_reel_boundaries_for_atmos()
} else {
set_reel_type(ReelType::SINGLE);
}
- Message(variant::insert_dcpomatic("%1 had to change your reel settings to accommodate the Atmos content"));
+ Message(variant::insert_dcpomatic("{} had to change your reel settings to accommodate the Atmos content"));
}
}
@@ -1665,7 +1665,7 @@ Film::check_settings_consistency()
Message(_("You have more than one piece of Atmos content, and they do not have the same frame rate. You must remove some Atmos content."));
} else if (atmos_rates.size() == 1 && *atmos_rates.begin() != video_frame_rate()) {
set_video_frame_rate(*atmos_rates.begin(), false);
- Message(variant::insert_dcpomatic(_("%1 had to change your settings so that the film's frame rate is the same as that of your Atmos content.")));
+ Message(variant::insert_dcpomatic(_("{} had to change your settings so that the film's frame rate is the same as that of your Atmos content.")));
}
if (!atmos_rates.empty()) {
@@ -1699,7 +1699,7 @@ Film::check_settings_consistency()
}
if (change_made) {
- Message(variant::insert_dcpomatic(_("%1 had to change your settings for referring to DCPs as OV. Please review those settings to make sure they are what you want.")));
+ Message(variant::insert_dcpomatic(_("{} had to change your settings for referring to DCPs as OV. Please review those settings to make sure they are what you want.")));
}
if (reel_type() == ReelType::CUSTOM) {
@@ -1710,9 +1710,9 @@ Film::check_settings_consistency()
if (too_late != boundaries.end()) {
if (std::distance(too_late, boundaries.end()) > 1) {
- Message(variant::insert_dcpomatic(_("%1 had to remove some of your custom reel boundaries as they no longer lie within the film.")));
+ Message(variant::insert_dcpomatic(_("{} had to remove some of your custom reel boundaries as they no longer lie within the film.")));
} else {
- Message(variant::insert_dcpomatic(_("%1 had to remove one of your custom reel boundaries as it no longer lies within the film.")));
+ Message(variant::insert_dcpomatic(_("{} had to remove one of your custom reel boundaries as it no longer lies within the film.")));
}
boundaries.erase(too_late, boundaries.end());
set_custom_reel_boundaries(boundaries);
@@ -1835,7 +1835,7 @@ Film::make_kdm(boost::filesystem::path cpl_file, dcp::LocalTime from, dcp::Local
bool done = false;
for (auto const& k: imported_keys) {
if (k.id() == asset->key_id().get()) {
- LOG_GENERAL("Using imported key for %1", asset->key_id().get());
+ LOG_GENERAL("Using imported key for {}", asset->key_id().get());
keys[asset] = k.key();
done = true;
}
@@ -1843,7 +1843,7 @@ Film::make_kdm(boost::filesystem::path cpl_file, dcp::LocalTime from, dcp::Local
if (!done) {
/* No imported key; it must be an asset that we encrypted */
- LOG_GENERAL("Using our own key for %1", asset->key_id().get());
+ LOG_GENERAL("Using our own key for {}", asset->key_id().get());
keys[asset] = key();
}
}
@@ -2437,9 +2437,9 @@ Film::read_remembered_assets() const
assets.push_back(RememberedAsset(node));
}
} catch (std::exception& e) {
- LOG_ERROR("Could not read assets file %1 (%2)", filename.string(), e.what());
+ LOG_ERROR("Could not read assets file {} ({})", filename.string(), e.what());
} catch (...) {
- LOG_ERROR("Could not read assets file %1", filename.string());
+ LOG_ERROR("Could not read assets file {}", filename.string());
}
return assets;
@@ -2459,9 +2459,9 @@ Film::write_remembered_assets(vector<RememberedAsset> const& assets) const
try {
doc->write_to_file_formatted(dcp::filesystem::fix_long_path(file(assets_file)).string());
} catch (std::exception& e) {
- LOG_ERROR("Could not write assets file %1 (%2)", file(assets_file).string(), e.what());
+ LOG_ERROR("Could not write assets file {} ({})", file(assets_file).string(), e.what());
} catch (...) {
- LOG_ERROR("Could not write assets file %1", file(assets_file).string());
+ LOG_ERROR("Could not write assets file {}", file(assets_file).string());
}
}
diff --git a/src/lib/filter_graph.cc b/src/lib/filter_graph.cc
index 745d980a4..55ec9b517 100644
--- a/src/lib/filter_graph.cc
+++ b/src/lib/filter_graph.cc
@@ -105,7 +105,7 @@ FilterGraph::setup(vector<Filter> const& filters)
int e = avfilter_graph_config (_graph, 0);
if (e < 0) {
- throw DecodeError (String::compose(N_("could not configure filter graph (%1)"), e));
+ throw DecodeError (fmt::format(N_("could not configure filter graph ({})"), e));
}
}
diff --git a/src/lib/font_config.cc b/src/lib/font_config.cc
index 8c75aff24..410f27541 100644
--- a/src/lib/font_config.cc
+++ b/src/lib/font_config.cc
@@ -125,18 +125,18 @@ FontConfig::system_font_with_name(string name)
{
optional<boost::filesystem::path> path;
- LOG_GENERAL("Searching system for font %1", name);
+ LOG_GENERAL("Searching system for font {}", name);
auto pattern = FcNameParse(reinterpret_cast<FcChar8 const*>(name.c_str()));
auto object_set = FcObjectSetBuild(FC_FILE, nullptr);
auto font_set = FcFontList(_config, pattern, object_set);
if (font_set) {
- LOG_GENERAL("%1 candidate fonts found", font_set->nfont);
+ LOG_GENERAL("{} candidate fonts found", font_set->nfont);
for (int i = 0; i < font_set->nfont; ++i) {
auto font = font_set->fonts[i];
FcChar8* file;
if (FcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) {
path = boost::filesystem::path(reinterpret_cast<char*>(file));
- LOG_GENERAL("Found %1", path->string());
+ LOG_GENERAL("Found {}", path->string());
break;
}
}
@@ -149,9 +149,9 @@ FontConfig::system_font_with_name(string name)
FcPatternDestroy(pattern);
if (path) {
- LOG_GENERAL("Searched system for font %1, found %2", name, path->string());
+ LOG_GENERAL("Searched system for font {}, found {}", name, path->string());
} else {
- LOG_GENERAL("Searched system for font %1; nothing found", name);
+ LOG_GENERAL("Searched system for font {}; nothing found", name);
}
return path;
diff --git a/src/lib/font_id_allocator.cc b/src/lib/font_id_allocator.cc
index b85fc90dc..d7c3944eb 100644
--- a/src/lib/font_id_allocator.cc
+++ b/src/lib/font_id_allocator.cc
@@ -88,7 +88,7 @@ FontIDAllocator::allocate()
auto proposed = font.first.font_id;
int prefix = 0;
while (used_ids.find(proposed) != used_ids.end()) {
- proposed = String::compose("%1_%2", prefix++, font.first.font_id);
+ proposed = fmt::format("{}_{}", prefix++, font.first.font_id);
DCPOMATIC_ASSERT(prefix < 128);
}
font.second = proposed;
diff --git a/src/lib/frame_rate_change.cc b/src/lib/frame_rate_change.cc
index 8372493ef..315d53e3b 100644
--- a/src/lib/frame_rate_change.cc
+++ b/src/lib/frame_rate_change.cc
@@ -93,7 +93,7 @@ FrameRateChange::description () const
} else if (repeat == 2) {
description = _("Each content frame will be doubled in the DCP.\n");
} else if (repeat > 2) {
- description = String::compose (_("Each content frame will be repeated %1 more times in the DCP.\n"), repeat - 1);
+ description = fmt::format(_("Each content frame will be repeated {} more times in the DCP.\n"), repeat - 1);
}
if (change_speed) {
diff --git a/src/lib/grok_j2k_encoder_thread.cc b/src/lib/grok_j2k_encoder_thread.cc
index d6825113c..17f1ae89b 100644
--- a/src/lib/grok_j2k_encoder_thread.cc
+++ b/src/lib/grok_j2k_encoder_thread.cc
@@ -51,16 +51,16 @@ try
{
while (true)
{
- LOG_TIMING("encoder-sleep thread=%1", thread_id());
+ LOG_TIMING("encoder-sleep thread={}", thread_id());
auto frame = _encoder.pop();
dcp::ScopeGuard frame_guard([this, &frame]() {
- LOG_ERROR("Failed to schedule encode of %1 using grok", frame.index());
+ LOG_ERROR("Failed to schedule encode of {} using grok", frame.index());
_errors++;
_encoder.retry(frame);
});
- LOG_TIMING("encoder-pop thread=%1 frame=%2 eyes=%3", thread_id(), frame.index(), static_cast<int>(frame.eyes()));
+ LOG_TIMING("encoder-pop thread={} frame={} eyes={}", thread_id(), frame.index(), static_cast<int>(frame.eyes()));
auto grok = Config::instance()->grok();
diff --git a/src/lib/hints.cc b/src/lib/hints.cc
index 4cd6ad506..de56b6574 100644
--- a/src/lib/hints.cc
+++ b/src/lib/hints.cc
@@ -110,7 +110,7 @@ Hints::check_few_audio_channels()
variant::insert_dcpomatic(
_("Your DCP has fewer than 6 audio channels. This may cause problems on some projectors. "
"You may want to set the DCP to have 6 channels. It does not matter if your content has "
- "fewer channels, as %1 will fill the extras with silence.")
+ "fewer channels, as {} will fill the extras with silence.")
)
);
}
@@ -123,7 +123,7 @@ Hints::check_upmixers()
auto ap = film()->audio_processor();
if (ap && (ap->id() == "stereo-5.1-upmix-a" || ap->id() == "stereo-5.1-upmix-b")) {
hint(variant::insert_dcpomatic(
- _("You are using %1's stereo-to-5.1 upmixer. This is experimental and "
+ _("You are using {}'s stereo-to-5.1 upmixer. This is experimental and "
"may result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good.")
)
@@ -190,7 +190,7 @@ Hints::check_frame_rate()
case 25:
{
/* You might want to go to 24 */
- string base = String::compose(_("You are set up for a DCP at a frame rate of %1 fps. This frame rate is not supported by all projectors. You may want to consider changing your frame rate to %2 fps."), 25, 24);
+ string base = fmt::format(_("You are set up for a DCP at a frame rate of {} fps. This frame rate is not supported by all projectors. You may want to consider changing your frame rate to {} fps."), 25, 24);
if (f->interop()) {
base += " ";
base += _("If you do use 25fps you should change your DCP standard to SMPTE.");
@@ -206,7 +206,7 @@ Hints::check_frame_rate()
case 50:
case 60:
/* You almost certainly want to go to half frame rate */
- hint(String::compose(_("You are set up for a DCP at a frame rate of %1 fps. This frame rate is not supported by all projectors. It is advisable to change the DCP frame rate to %2 fps."), f->video_frame_rate(), f->video_frame_rate() / 2));
+ hint(fmt::format(_("You are set up for a DCP at a frame rate of {} fps. This frame rate is not supported by all projectors. It is advisable to change the DCP frame rate to {} fps."), f->video_frame_rate(), f->video_frame_rate() / 2));
break;
}
}
@@ -304,7 +304,7 @@ Hints::check_vob()
}
if (vob > 1) {
- hint(String::compose(_("You have %1 files that look like they are VOB files from DVD. You should join them to ensure smooth joins between the files."), vob));
+ hint(fmt::format(_("You have {} files that look like they are VOB files from DVD. You should join them to ensure smooth joins between the files."), vob));
}
}
@@ -353,8 +353,8 @@ Hints::check_loudness()
ch = ch.substr(0, ch.length() - 2);
if (!ch.empty()) {
- hint(String::compose(
- _("Your audio level is very high (on %1). You should reduce the gain of your audio content."),
+ hint(fmt::format(
+ _("Your audio level is very high (on {}). You should reduce the gain of your audio content."),
ch
)
);
@@ -591,9 +591,9 @@ Hints::closed_caption(PlayerText text, DCPTimePeriod period)
if (!_long_ccap) {
_long_ccap = true;
hint(
- String::compose(
- "At least one of your closed caption lines has more than %1 characters. "
- "It is advisable to make each line %1 characters at most in length.",
+ 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)
);
@@ -602,7 +602,7 @@ Hints::closed_caption(PlayerText text, DCPTimePeriod period)
}
if (!_too_many_ccap_lines && lines > MAX_CLOSED_CAPTION_LINES) {
- hint(String::compose(_("Some of your closed captions span more than %1 lines, so they will be truncated."), 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;
}
@@ -741,7 +741,7 @@ Hints::check_certificates()
switch (*bad) {
case Config::BAD_SIGNER_UTF8_STRINGS:
hint(variant::insert_dcpomatic(
- _("The certificate chain that %1 uses for signing DCPs and KDMs contains a small error "
+ _("The certificate chain that {} uses for signing DCPs and KDMs contains a small error "
"which will prevent DCPs from being validated correctly on some systems. It is advisable to "
"re-create the signing certificate chain by clicking the \"Re-make certificates and key...\" "
"button in the Keys page of Preferences.")
@@ -749,7 +749,7 @@ Hints::check_certificates()
break;
case Config::BAD_SIGNER_VALIDITY_TOO_LONG:
hint(variant::insert_dcpomatic(
- _("The certificate chain that %1 uses for signing DCPs and KDMs has a validity period "
+ _("The certificate chain that {} uses for signing DCPs and KDMs has a validity period "
"that is too long. This will cause problems playing back DCPs on some systems. "
"It is advisable to re-create the signing certificate chain by clicking the "
"\"Re-make certificates and key...\" button in the Keys page of Preferences.")
@@ -767,7 +767,7 @@ Hints::check_8_or_16_audio_channels()
{
auto const channels = film()->audio_channels();
if (film()->video_encoding() != VideoEncoding::MPEG2 && channels != 8 && channels != 16) {
- hint(String::compose(_("Your DCP has %1 audio channels, rather than 8 or 16. This may cause some distributors to raise QC errors when they check your DCP. To avoid this, set the DCP audio channels to 8 or 16."), channels));
+ hint(fmt::format(_("Your DCP has {} audio channels, rather than 8 or 16. This may cause some distributors to raise QC errors when they check your DCP. To avoid this, set the DCP audio channels to 8 or 16."), channels));
}
}
diff --git a/src/lib/http_server.cc b/src/lib/http_server.cc
index 0ee62756a..874a94054 100644
--- a/src/lib/http_server.cc
+++ b/src/lib/http_server.cc
@@ -72,7 +72,7 @@ Response::add_header(string key, string value)
void
Response::send(shared_ptr<Socket> socket)
{
- socket->write(String::compose("HTTP/1.1 %1 OK\r\n", _code));
+ socket->write(fmt::format("HTTP/1.1 {} OK\r\n", _code));
switch (_type) {
case Type::HTML:
socket->write("Content-Type: text/html; charset=utf-8\r\n");
@@ -81,9 +81,9 @@ Response::send(shared_ptr<Socket> socket)
socket->write("Content-Type: text/json; charset=utf-8\r\n");
break;
}
- socket->write(String::compose("Content-Length: %1\r\n", _payload.length()));
+ socket->write(fmt::format("Content-Length: {}\r\n", _payload.length()));
for (auto const& header: _headers) {
- socket->write(String::compose("%1: %2\r\n", header.first, header.second));
+ socket->write(fmt::format("{}: {}\r\n", header.first, header.second));
}
socket->write("\r\n");
socket->write(_payload);
@@ -94,21 +94,21 @@ Response
HTTPServer::get(string const& url)
{
if (url == "/") {
- return Response(200, String::compose(dcp::file_to_string(resources_path() / "web" / "index.html"), variant::dcpomatic_player()));
+ return Response(200, fmt::format(dcp::file_to_string(resources_path() / "web" / "index.html"), variant::dcpomatic_player()));
} else if (url == "/api/v1/status") {
auto json = string{"{ "};
{
boost::mutex::scoped_lock lm(_mutex);
- json += String::compose("\"playing\": %1, ", _playing ? "true" : "false");
- json += String::compose("\"position\": \"%1\", ", seconds_to_hms(_position.seconds()));
- json += String::compose("\"dcp_name\": \"%1\"", _dcp_name);
+ json += fmt::format("\"playing\": {}, ", _playing ? "true" : "false");
+ json += fmt::format("\"position\": \"{}\", ", seconds_to_hms(_position.seconds()));
+ json += fmt::format("\"dcp_name\": \"{}\"", _dcp_name);
}
json += " }";
auto response = Response(200, json);
response.set_type(Response::Type::JSON);
return response;
} else {
- LOG_HTTP("404 %1", url);
+ LOG_HTTP("404 {}", url);
return Response::ERROR_404;
}
}
@@ -144,19 +144,19 @@ HTTPServer::request(vector<string> const& request)
try {
if (parts[0] == "GET") {
- LOG_HTTP("GET %1", parts[1]);
+ LOG_HTTP("GET {}", parts[1]);
return get(parts[1]);
} else if (parts[0] == "POST") {
- LOG_HTTP("POST %1", parts[1]);
+ LOG_HTTP("POST {}", parts[1]);
return post(parts[1]);
}
} catch (std::exception& e) {
- LOG_ERROR("Error while handling HTTP request: %1", e.what());
+ LOG_ERROR("Error while handling HTTP request: {}", e.what());
} catch (...) {
LOG_ERROR_NC("Unknown exception while handling HTTP request");
}
- LOG_HTTP("404 %1", parts[0]);
+ LOG_HTTP("404 {}", parts[0]);
return Response::ERROR_404;
}
@@ -191,7 +191,7 @@ HTTPServer::handle(shared_ptr<Socket> socket)
} else if (_line.size() >= 2) {
_line = _line.substr(0, _line.length() - 2);
}
- LOG_HTTP("Receive: %1", _line);
+ LOG_HTTP("Receive: {}", _line);
_request.push_back(_line);
_line = "";
}
diff --git a/src/lib/image_examiner.cc b/src/lib/image_examiner.cc
index 06d9501fc..cba2d47c6 100644
--- a/src/lib/image_examiner.cc
+++ b/src/lib/image_examiner.cc
@@ -62,7 +62,7 @@ ImageExaminer::ImageExaminer (shared_ptr<const Film> film, shared_ptr<const Imag
try {
_video_size = dcp::decompress_j2k(buffer.data(), size, 0)->size();
} catch (dcp::ReadError& e) {
- throw DecodeError(String::compose(_("Could not decode JPEG2000 file %1 (%2)"), path.string(), e.what()));
+ throw DecodeError(fmt::format(_("Could not decode JPEG2000 file {} ({})"), path.string(), e.what()));
}
} else {
FFmpegImageProxy proxy(content->path(0));
diff --git a/src/lib/image_png.cc b/src/lib/image_png.cc
index e56b68d9a..a86080327 100644
--- a/src/lib/image_png.cc
+++ b/src/lib/image_png.cc
@@ -78,7 +78,7 @@ png_flush (png_structp)
static void
png_error_fn (png_structp, char const * message)
{
- throw EncodeError (String::compose("Error during PNG write: %1", message));
+ throw EncodeError (fmt::format("Error during PNG write: {}", message));
}
diff --git a/src/lib/internet.cc b/src/lib/internet.cc
index 8c5b99e61..f4a8e95d7 100644
--- a/src/lib/internet.cc
+++ b/src/lib/internet.cc
@@ -121,7 +121,7 @@ get_from_url (string url, bool pasv, bool skip_pasv_ip, ScopedTemporary& temp)
f.close();
curl_easy_cleanup (curl);
if (cr != CURLE_OK) {
- return String::compose (_("Download failed (%1 error %2)"), url, (int) cr);
+ return fmt::format(_("Download failed ({} error {})"), url, (int) cr);
}
return {};
@@ -176,7 +176,7 @@ get_from_zip_url (string url, string file, bool pasv, bool skip_pasv_ip, functio
zip_error_init (&error);
auto zip = zip_open_from_source (zip_source, ZIP_RDONLY, &error);
if (!zip) {
- return String::compose (_("Could not open downloaded ZIP file (%1:%2: %3)"), error.zip_err, error.sys_err, error.str ? error.str : "");
+ return fmt::format(_("Could not open downloaded ZIP file ({}:{}: {})"), error.zip_err, error.sys_err, error.str ? error.str : "");
}
#else
diff --git a/src/lib/j2k_encoder.cc b/src/lib/j2k_encoder.cc
index 50452fbad..3513d5a90 100644
--- a/src/lib/j2k_encoder.cc
+++ b/src/lib/j2k_encoder.cc
@@ -143,7 +143,7 @@ J2KEncoder::servers_list_changed()
auto const cpu = (grok_enable || config->only_servers_encode()) ? 0 : config->master_encoding_threads();
auto const gpu = grok_enable ? config->master_encoding_threads() : 0;
- LOG_GENERAL("Thread counts from: grok=%1, only_servers=%2, master=%3", grok_enable ? "yes" : "no", config->only_servers_encode() ? "yes" : "no", config->master_encoding_threads());
+ LOG_GENERAL("Thread counts from: grok={}, only_servers={}, master={}", grok_enable ? "yes" : "no", config->only_servers_encode() ? "yes" : "no", config->master_encoding_threads());
remake_threads(cpu, gpu, EncodeServerFinder::instance()->servers());
}
@@ -198,7 +198,7 @@ J2KEncoder::end()
{
boost::mutex::scoped_lock lock (_queue_mutex);
- LOG_GENERAL (N_("Clearing queue of %1"), _queue.size ());
+ LOG_GENERAL (N_("Clearing queue of {}"), _queue.size ());
/* Keep waking workers until the queue is empty */
while (!_queue.empty ()) {
@@ -214,7 +214,7 @@ J2KEncoder::end()
/* Something might have been thrown during terminate_threads */
rethrow ();
- LOG_GENERAL (N_("Mopping up %1"), _queue.size());
+ LOG_GENERAL (N_("Mopping up {}"), _queue.size());
/* The following sequence of events can occur in the above code:
1. a remote worker takes the last image off the queue
@@ -228,14 +228,14 @@ J2KEncoder::end()
#ifdef DCPOMATIC_GROK
if (Config::instance()->grok().enable) {
if (!_context->scheduleCompress(i)){
- LOG_GENERAL (N_("[%1] J2KEncoder thread pushes frame %2 back onto queue after failure"), thread_id(), i.index());
+ LOG_GENERAL (N_("[{}] J2KEncoder thread pushes frame {} back onto queue after failure"), thread_id(), i.index());
// handle error
}
} else {
#else
{
#endif
- LOG_GENERAL(N_("Encode left-over frame %1"), i.index());
+ LOG_GENERAL(N_("Encode left-over frame {}"), i.index());
try {
_writer.write(
make_shared<dcp::ArrayData>(i.encode_locally()),
@@ -244,7 +244,7 @@ J2KEncoder::end()
);
frame_done ();
} catch (std::exception& e) {
- LOG_ERROR (N_("Local encode failed (%1)"), e.what ());
+ LOG_ERROR (N_("Local encode failed ({})"), e.what ());
}
}
}
@@ -297,9 +297,9 @@ J2KEncoder::encode (shared_ptr<PlayerVideo> pv, DCPTime time)
when there are no threads.
*/
while (_queue.size() >= (threads * 2) + 1) {
- LOG_TIMING ("decoder-sleep queue=%1 threads=%2", _queue.size(), threads);
+ LOG_TIMING ("decoder-sleep queue={} threads={}", _queue.size(), threads);
_full_condition.wait (queue_lock);
- LOG_TIMING ("decoder-wake queue=%1 threads=%2", _queue.size(), threads);
+ LOG_TIMING ("decoder-wake queue={} threads={}", _queue.size(), threads);
}
_writer.rethrow();
@@ -313,21 +313,21 @@ J2KEncoder::encode (shared_ptr<PlayerVideo> pv, DCPTime time)
if (_writer.can_fake_write(position)) {
/* We can fake-write this frame */
- LOG_DEBUG_ENCODE("Frame @ %1 FAKE", to_string(time));
+ LOG_DEBUG_ENCODE("Frame @ {} FAKE", to_string(time));
_writer.fake_write(position, pv->eyes ());
frame_done ();
} else if (pv->has_j2k() && !_film->reencode_j2k()) {
- LOG_DEBUG_ENCODE("Frame @ %1 J2K", to_string(time));
+ LOG_DEBUG_ENCODE("Frame @ {} J2K", to_string(time));
/* This frame already has J2K data, so just write it */
_writer.write(pv->j2k(), position, pv->eyes ());
frame_done ();
} else if (_last_player_video[pv->eyes()] && _writer.can_repeat(position) && pv->same(_last_player_video[pv->eyes()])) {
- LOG_DEBUG_ENCODE("Frame @ %1 REPEAT", to_string(time));
+ LOG_DEBUG_ENCODE("Frame @ {} REPEAT", to_string(time));
_writer.repeat(position, pv->eyes());
} else {
- LOG_DEBUG_ENCODE("Frame @ %1 ENCODE", to_string(time));
+ LOG_DEBUG_ENCODE("Frame @ {} ENCODE", to_string(time));
/* Queue this new frame for encoding */
- LOG_TIMING ("add-frame-to-queue queue=%1", _queue.size ());
+ LOG_TIMING ("add-frame-to-queue queue={}", _queue.size ());
auto dcpv = DCPVideo(
pv,
position,
@@ -365,7 +365,7 @@ J2KEncoder::terminate_threads ()
void
J2KEncoder::remake_threads(int cpu, int gpu, list<EncodeServerDescription> servers)
{
- LOG_GENERAL("Making threads: CPU=%1, GPU=%2, Remote=%3", cpu, gpu, servers.size());
+ LOG_GENERAL("Making threads: CPU={}, GPU={}, Remote={}", cpu, gpu, servers.size());
if ((cpu + gpu + servers.size()) == 0) {
/* Make at least one thread, even if all else fails. Maybe we are configured
* for "only servers encode" but no servers have been registered yet.
@@ -440,9 +440,9 @@ J2KEncoder::remake_threads(int cpu, int gpu, list<EncodeServerDescription> serve
auto const wanted_threads = server.threads();
if (wanted_threads > current_threads) {
- LOG_GENERAL(N_("Adding %1 worker threads for remote %2"), wanted_threads - current_threads, server.host_name());
+ LOG_GENERAL(N_("Adding {} worker threads for remote {}"), wanted_threads - current_threads, server.host_name());
} else if (wanted_threads < current_threads) {
- LOG_GENERAL(N_("Removing %1 worker threads for remote %2"), current_threads - wanted_threads, server.host_name());
+ LOG_GENERAL(N_("Removing {} worker threads for remote {}"), current_threads - wanted_threads, server.host_name());
}
for (auto i = current_threads; i < wanted_threads; ++i) {
@@ -466,7 +466,7 @@ J2KEncoder::pop()
_empty_condition.wait (lock);
}
- LOG_TIMING("encoder-wake thread=%1 queue=%2", thread_id(), _queue.size());
+ LOG_TIMING("encoder-wake thread={} queue={}", thread_id(), _queue.size());
auto vf = _queue.front();
_queue.pop_front();
diff --git a/src/lib/j2k_encoder_thread.cc b/src/lib/j2k_encoder_thread.cc
index d0e8a439c..b6f927ceb 100644
--- a/src/lib/j2k_encoder_thread.cc
+++ b/src/lib/j2k_encoder_thread.cc
@@ -49,7 +49,7 @@ J2KEncoderThread::stop()
try {
_thread.join();
} catch (std::exception& e) {
- LOG_ERROR("join() threw an exception: %1", e.what());
+ LOG_ERROR("join() threw an exception: {}", e.what());
} catch (...) {
LOG_ERROR_NC("join() threw an exception");
}
diff --git a/src/lib/j2k_sync_encoder_thread.cc b/src/lib/j2k_sync_encoder_thread.cc
index 158c12b11..5dbdb18f0 100644
--- a/src/lib/j2k_sync_encoder_thread.cc
+++ b/src/lib/j2k_sync_encoder_thread.cc
@@ -43,11 +43,11 @@ try
while (true) {
if (auto wait = backoff()) {
- LOG_ERROR(N_("Encoder thread sleeping (due to backoff) for %1s"), wait);
+ LOG_ERROR(N_("Encoder thread sleeping (due to backoff) for {}s"), wait);
boost::this_thread::sleep(boost::posix_time::seconds(wait));
}
- LOG_TIMING("encoder-sleep thread=%1", thread_id());
+ LOG_TIMING("encoder-sleep thread={}", thread_id());
auto frame = _encoder.pop();
dcp::ScopeGuard frame_guard([this, &frame]() {
@@ -55,7 +55,7 @@ try
_encoder.retry(frame);
});
- LOG_TIMING("encoder-pop thread=%1 frame=%2 eyes=%3", thread_id(), frame.index(), static_cast<int>(frame.eyes()));
+ LOG_TIMING("encoder-pop thread={} frame={} eyes={}", thread_id(), frame.index(), static_cast<int>(frame.eyes()));
auto encoded = encode(frame);
diff --git a/src/lib/job.cc b/src/lib/job.cc
index 03e505a8f..53a2de0ac 100644
--- a/src/lib/job.cc
+++ b/src/lib/job.cc
@@ -105,7 +105,7 @@ Job::start ()
void
Job::run_wrapper ()
{
- start_of_thread (String::compose("Job-%1", json_name()));
+ start_of_thread (fmt::format("Job-{}", json_name()));
try {
@@ -113,7 +113,7 @@ Job::run_wrapper ()
} catch (dcp::FileError& e) {
- string m = String::compose(_("An error occurred whilst handling the file %1."), e.filename().filename().string());
+ string m = fmt::format(_("An error occurred whilst handling the file {}."), e.filename().filename().string());
try {
auto const s = dcp::filesystem::space(e.filename());
@@ -138,9 +138,9 @@ Job::run_wrapper ()
/* 32-bit */
set_error (
_("Failed to encode the DCP."),
- String::compose(
- _("This error has probably occurred because you are running the 32-bit version of %1 and "
- "trying to use too many encoding threads. Please reduce the 'number of threads %2 should "
+ fmt::format(
+ _("This error has probably occurred because you are running the 32-bit version of {} and "
+ "trying to use too many encoding threads. Please reduce the 'number of threads {} should "
"use' in the General tab of Preferences and try again."),
variant::dcpomatic(),
variant::dcpomatic()
@@ -152,9 +152,9 @@ Job::run_wrapper ()
if (running_32_on_64()) {
set_error (
_("Failed to encode the DCP."),
- String::compose(
- _("This error has probably occurred because you are running the 32-bit version of %1. "
- "Please re-install %2 with the 64-bit installer and try again."),
+ fmt::format(
+ _("This error has probably occurred because you are running the 32-bit version of {}. "
+ "Please re-install {} with the 64-bit installer and try again."),
variant::dcpomatic(),
variant::dcpomatic()
)
@@ -167,7 +167,7 @@ Job::run_wrapper ()
if (!done) {
set_error (
e.what (),
- String::compose(_("It is not known what caused this error. %1"), report_problem())
+ fmt::format(_("It is not known what caused this error. {}"), report_problem())
);
}
@@ -177,8 +177,8 @@ Job::run_wrapper ()
} catch (OpenFileError& e) {
set_error (
- String::compose (_("Could not open %1"), e.file().string()),
- String::compose(_("%1 could not open the file %2 (%3). Perhaps it does not exist or is in an unexpected format."),
+ fmt::format(_("Could not open {}"), e.file().string()),
+ fmt::format(_("{} could not open the file {} ({}). Perhaps it does not exist or is in an unexpected format."),
variant::dcpomatic(),
dcp::filesystem::absolute(e.file()).string(),
e.what()
@@ -192,8 +192,8 @@ Job::run_wrapper ()
if (e.code() == boost::system::errc::no_such_file_or_directory) {
set_error (
- String::compose (_("Could not open %1"), e.path1().string ()),
- String::compose(_("%1 could not open the file %2 (%3). Perhaps it does not exist or is in an unexpected format."),
+ fmt::format(_("Could not open {}"), e.path1().string ()),
+ fmt::format(_("{} could not open the file {} ({}). Perhaps it does not exist or is in an unexpected format."),
variant::dcpomatic(),
dcp::filesystem::absolute(e.path1()).string(),
e.what()
@@ -202,7 +202,7 @@ Job::run_wrapper ()
} else {
set_error (
e.what (),
- String::compose(_("It is not known what caused this error. %1"), report_problem())
+ fmt::format(_("It is not known what caused this error. {}"), report_problem())
);
}
@@ -262,7 +262,7 @@ Job::run_wrapper ()
set_error (
e.what (),
- String::compose(_("It is not known what caused this error. %1"), report_problem())
+ fmt::format(_("It is not known what caused this error. {}"), report_problem())
);
set_progress (1);
@@ -272,7 +272,7 @@ Job::run_wrapper ()
set_error (
_("Unknown error"),
- String::compose(_("It is not known what caused this error. %1"), report_problem())
+ fmt::format(_("It is not known what caused this error. {}"), report_problem())
);
set_progress (1);
@@ -493,7 +493,7 @@ Job::sub (string n)
{
{
boost::mutex::scoped_lock lm (_progress_mutex);
- LOG_GENERAL ("Sub-job %1 starting", n);
+ LOG_GENERAL ("Sub-job {} starting", n);
_sub_name = n;
}
@@ -527,7 +527,7 @@ void
Job::set_error (string s, string d)
{
if (_film) {
- _film->log()->log (String::compose ("Error in job: %1 (%2)", s, d), LogEntry::TYPE_ERROR);
+ _film->log()->log (fmt::format("Error in job: {} ({})", s, d), LogEntry::TYPE_ERROR);
}
boost::mutex::scoped_lock lm (_state_mutex);
@@ -593,14 +593,14 @@ Job::status () const
snprintf (finish_string, sizeof(finish_string), "%02d:%02d", int(finish.time_of_day().hours()), int(finish.time_of_day().minutes()));
string day;
if (now.date() != finish.date()) {
- /// TRANSLATORS: the %1 in this string will be filled in with a day of the week
+ /// TRANSLATORS: the {} in this string will be filled in with a day of the week
/// to say what day a job will finish.
- day = String::compose (_(" on %1"), day_of_week_to_string(finish.date().day_of_week()));
+ day = fmt::format(_(" on {}"), day_of_week_to_string(finish.date().day_of_week()));
}
/// TRANSLATORS: "remaining; finishing at" here follows an amount of time that is remaining
/// on an operation; after it is an estimated wall-clock completion time.
- s += String::compose(
- _("; %1 remaining; finishing at %2%3"),
+ s += fmt::format(
+ _("; {} remaining; finishing at {}{}"),
seconds_to_approximate_hms(r), finish_string, day
);
}
@@ -617,12 +617,12 @@ Job::status () const
s = _("OK");
} else if (duration < 600) {
/* It took less than 10 minutes; it doesn't seem worth saying when it started and finished */
- s = String::compose(_("OK (ran for %1)"), seconds_to_hms(duration));
+ s = fmt::format(_("OK (ran for {})"), seconds_to_hms(duration));
} else {
- s = String::compose(_("OK (ran for %1 from %2 to %3)"), seconds_to_hms(duration), time_string(_start_time), time_string(_finish_time));
+ s = fmt::format(_("OK (ran for {} from {} to {})"), seconds_to_hms(duration), time_string(_start_time), time_string(_finish_time));
}
} else if (finished_in_error ()) {
- s = String::compose (_("Error: %1"), error_summary ());
+ s = fmt::format(_("Error: {}"), error_summary ());
} else if (finished_cancelled ()) {
s = _("Cancelled");
}
diff --git a/src/lib/kdm_cli.cc b/src/lib/kdm_cli.cc
index 6e3b368d0..6c0ee3dda 100644
--- a/src/lib/kdm_cli.cc
+++ b/src/lib/kdm_cli.cc
@@ -62,13 +62,13 @@ using namespace dcpomatic;
static void
help(std::function<void (string)> out)
{
- out(String::compose("Syntax: %1 [OPTION] [COMMAND] <FILM|CPL-ID|DKDM>", program_name));
+ out(fmt::format("Syntax: {} [OPTION] [COMMAND] <FILM|CPL-ID|DKDM>", program_name));
out("Commands:");
out("create create KDMs; default if no other command is specified");
- out(variant::insert_dcpomatic("list-cinemas list known cinemas from %1 settings"));
- out(variant::insert_dcpomatic("list-dkdm-cpls list CPLs for which %1 has DKDMs"));
- out(variant::insert_dcpomatic("add-dkdm add DKDM to %1's list"));
- out(variant::insert_dcpomatic("dump-decryption-certificate write the %1 KDM decryption certificate to the console"));
+ out(variant::insert_dcpomatic("list-cinemas list known cinemas from {} settings"));
+ out(variant::insert_dcpomatic("list-dkdm-cpls list CPLs for which {} has DKDMs"));
+ out(variant::insert_dcpomatic("add-dkdm add DKDM to {}'s list"));
+ out(variant::insert_dcpomatic("dump-decryption-certificate write the {} KDM decryption certificate to the console"));
out(" -h, --help show this help");
out(" -o, --output <path> output file or directory");
out(" -K, --filename-format <format> filename format for KDMs");
@@ -87,17 +87,17 @@ help(std::function<void (string)> out)
out(" -C, --projector-certificate <file> file containing projector certificate");
out(" -T, --trusted-device-certificate <file> file containing a trusted device's certificate");
out(" --decryption-key <file> file containing the private key which can decrypt the given DKDM");
- out(variant::insert_dcpomatic(" (%1's configured private key will be used otherwise)"));
+ 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");
out("");
- out(variant::insert_dcpomatic("CPL-ID must be the ID of a CPL that is mentioned in %1's DKDM list."));
+ out(variant::insert_dcpomatic("CPL-ID must be the ID of a CPL that is mentioned in {}'s DKDM list."));
out("");
out("For example:");
out("");
out("Create KDMs for my_great_movie to play in all of Fred's Cinema's screens for the next two weeks and zip them up.");
- out(variant::insert_dcpomatic("(Fred's Cinema must have been set up in %1's KDM window)"));
+ out(variant::insert_dcpomatic("(Fred's Cinema must have been set up in {}'s KDM window)"));
out("");
- out(String::compose("\t%1 -c \"Fred's Cinema\" -f now -d \"2 weeks\" -z my_great_movie", program_name));
+ out(fmt::format("\t{} -c \"Fred's Cinema\" -f now -d \"2 weeks\" -z my_great_movie", program_name));
}
@@ -105,7 +105,7 @@ class KDMCLIError : public std::runtime_error
{
public:
KDMCLIError(std::string message)
- : std::runtime_error(String::compose("%1: %2", program_name, message).c_str())
+ : std::runtime_error(fmt::format("{}: {}", program_name, message).c_str())
{}
};
@@ -130,7 +130,7 @@ duration_from_string(string d)
string const unit(unit_buf);
if (N == 0) {
- throw KDMCLIError(String::compose("could not understand duration \"%1\"", d));
+ throw KDMCLIError(fmt::format("could not understand duration \"{}\"", d));
}
if (unit == "year" || unit == "years") {
@@ -143,7 +143,7 @@ duration_from_string(string d)
return boost::posix_time::time_duration(N, 0, 0, 0);
}
- throw KDMCLIError(String::compose("could not understand duration \"%1\"", d));
+ throw KDMCLIError(fmt::format("could not understand duration \"{}\"", d));
}
@@ -176,7 +176,7 @@ write_files(
);
if (verbose) {
- out(String::compose("Wrote %1 ZIP files to %2", N, output.string()));
+ out(fmt::format("Wrote {} ZIP files to {}", N, output.string()));
}
} else {
int const N = write_files(
@@ -185,7 +185,7 @@ write_files(
);
if (verbose) {
- out(String::compose("Wrote %1 KDM files to %2", N, output.string()));
+ out(fmt::format("Wrote {} KDM files to {}", N, output.string()));
}
}
}
@@ -230,10 +230,10 @@ from_film(
film = make_shared<Film>(film_dir);
film->read_metadata();
if (verbose) {
- out(String::compose("Read film %1", film->name()));
+ out(fmt::format("Read film {}", film->name()));
}
} catch (std::exception& e) {
- throw KDMCLIError(String::compose("error reading film \"%1\" (%2)", film_dir.string(), e.what()));
+ throw KDMCLIError(fmt::format("error reading film \"{}\" ({})", film_dir.string(), e.what()));
}
/* XXX: allow specification of this */
@@ -294,7 +294,7 @@ from_film(
send_emails({kdms}, container_name_format, filename_format, film->dcp_name(), {});
}
} catch (FileError& e) {
- throw KDMCLIError(String::compose("%1 (%2)", e.what(), e.file().string()));
+ throw KDMCLIError(fmt::format("{} ({})", e.what(), e.file().string()));
}
}
@@ -424,7 +424,7 @@ from_dkdm(
send_emails({kdms}, container_name_format, filename_format, dkdm.annotation_text().get_value_or(""), {});
}
} catch (FileError& e) {
- throw KDMCLIError(String::compose("%1 (%2)", e.what(), e.file().string()));
+ throw KDMCLIError(fmt::format("{} ({})", e.what(), e.file().string()));
}
}
@@ -623,7 +623,7 @@ try
}
if (std::find(commands.begin(), commands.end(), command) == commands.end()) {
- throw KDMCLIError(String::compose("Unrecognised command %1", command));
+ throw KDMCLIError(fmt::format("Unrecognised command {}", command));
}
if (cinemas_file) {
@@ -644,7 +644,7 @@ try
if (command == "list-cinemas") {
CinemaList cinemas;
for (auto const& cinema: cinemas.cinemas()) {
- out(String::compose("%1 (%2)", cinema.second.name, Email::address_list(cinema.second.emails)));
+ out(fmt::format("{} ({})", cinema.second.name, Email::address_list(cinema.second.emails)));
}
return {};
}
@@ -711,7 +711,7 @@ try
}
if (verbose) {
- out(String::compose("Making KDMs valid from %1 to %2", boost::posix_time::to_simple_string(valid_from.get()), boost::posix_time::to_simple_string(valid_to.get())));
+ 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())));
}
string const thing = argv[optind];
diff --git a/src/lib/make_dcp.cc b/src/lib/make_dcp.cc
index c40f707ee..dcbb81bce 100644
--- a/src/lib/make_dcp.cc
+++ b/src/lib/make_dcp.cc
@@ -84,10 +84,10 @@ make_dcp (shared_ptr<Film> film, TranscodeJob::ChangedBehaviour behaviour)
}
for (auto content: film->content()) {
- LOG_GENERAL ("Content: %1", content->technical_summary());
+ LOG_GENERAL ("Content: {}", content->technical_summary());
}
- LOG_GENERAL ("DCP video rate %1 fps", film->video_frame_rate());
- LOG_GENERAL("Video bit rate %1", film->video_bit_rate(film->video_encoding()));
+ LOG_GENERAL ("DCP video rate {} fps", film->video_frame_rate());
+ LOG_GENERAL("Video bit rate {}", film->video_bit_rate(film->video_encoding()));
auto tj = make_shared<DCPTranscodeJob>(film, behaviour);
tj->set_encoder(make_shared<DCPFilmEncoder>(film, tj));
diff --git a/src/lib/map_cli.cc b/src/lib/map_cli.cc
index d93ded220..dfc1abb92 100644
--- a/src/lib/map_cli.cc
+++ b/src/lib/map_cli.cc
@@ -55,7 +55,7 @@ using boost::optional;
static void
help(std::function<void (string)> out)
{
- out(String::compose("Syntax: %1 [OPTION} <cpl-file|ID> [<cpl-file|ID> ... ]", program_name));
+ out(fmt::format("Syntax: {} [OPTION} <cpl-file|ID> [<cpl-file|ID> ... ]", program_name));
out(" -V, --version show libdcp version");
out(" -h, --help show this help");
out(" -o, --output output directory");
@@ -151,7 +151,7 @@ map_cli(int argc, char* argv[], std::function<void (string)> out)
}
if (dcp::filesystem::exists(*output_dir)) {
- return String::compose("Output directory %1 already exists.", output_dir->string());
+ return fmt::format("Output directory {} already exists.", output_dir->string());
}
if (hard_link && soft_link) {
@@ -161,7 +161,7 @@ map_cli(int argc, char* argv[], std::function<void (string)> out)
boost::system::error_code ec;
dcp::filesystem::create_directory(*output_dir, ec);
if (ec) {
- return String::compose("Could not create output directory %1: %2", output_dir->string(), ec.message());
+ return fmt::format("Could not create output directory {}: {}", output_dir->string(), ec.message());
}
/* Find all the assets in the asset directories. This assumes that the asset directories are in fact
@@ -187,20 +187,20 @@ map_cli(int argc, char* argv[], std::function<void (string)> out)
cpl->resolve_refs(assets);
cpls.push_back(cpl);
} catch (std::exception& e) {
- return String::compose("Could not read CPL %1: %2", filename_or_id, e.what());
+ return fmt::format("Could not read CPL {}: {}", filename_or_id, e.what());
}
} else {
auto cpl_iter = std::find_if(assets.begin(), assets.end(), [filename_or_id](shared_ptr<dcp::Asset> asset) {
return asset->id() == filename_or_id;
});
if (cpl_iter == assets.end()) {
- return String::compose("Could not find CPL with ID %1", filename_or_id);
+ return fmt::format("Could not find CPL with ID {}", filename_or_id);
}
if (auto cpl = dynamic_pointer_cast<dcp::CPL>(*cpl_iter)) {
cpl->resolve_refs(assets);
cpls.push_back(cpl);
} else {
- return String::compose("Could not find CPL with ID %1", filename_or_id);
+ return fmt::format("Could not find CPL with ID {}", filename_or_id);
}
}
}
@@ -225,17 +225,17 @@ map_cli(int argc, char* argv[], std::function<void (string)> out)
if (hard_link) {
dcp::filesystem::create_hard_link(input_path, output_path, ec);
if (ec) {
- throw CopyError(String::compose("Could not hard-link asset %1: %2", input_path.string(), ec.message()));
+ throw CopyError(fmt::format("Could not hard-link asset {}: {}", input_path.string(), ec.message()));
}
} else if (soft_link) {
dcp::filesystem::create_symlink(input_path, output_path, ec);
if (ec) {
- throw CopyError(String::compose("Could not soft-link asset %1: %2", input_path.string(), ec.message()));
+ throw CopyError(fmt::format("Could not soft-link asset {}: {}", input_path.string(), ec.message()));
}
} else {
dcp::filesystem::copy_file(input_path, output_path, ec);
if (ec) {
- throw CopyError(String::compose("Could not copy asset %1: %2", input_path.string(), ec.message()));
+ throw CopyError(fmt::format("Could not copy asset {}: {}", input_path.string(), ec.message()));
}
}
};
@@ -263,7 +263,7 @@ map_cli(int argc, char* argv[], std::function<void (string)> out)
}
if (rename) {
- output_path /= String::compose("%1%2", (*iter)->id(), dcp::filesystem::extension((*iter)->file().get()));
+ output_path /= fmt::format("{}{}", (*iter)->id(), dcp::filesystem::extension((*iter)->file().get()));
(*iter)->rename_file(output_path);
} else {
output_path /= (*iter)->file()->filename();
@@ -275,7 +275,7 @@ map_cli(int argc, char* argv[], std::function<void (string)> out)
} else {
boost::system::error_code ec;
dcp::filesystem::remove_all(*output_dir, ec);
- throw CopyError(String::compose("Could not find required asset %1", asset_id));
+ throw CopyError(fmt::format("Could not find required asset {}", asset_id));
}
};
@@ -339,7 +339,7 @@ map_cli(int argc, char* argv[], std::function<void (string)> out)
dcp.set_issuer(Config::instance()->dcp_issuer());
dcp.write_xml(Config::instance()->signer_chain());
} catch (dcp::UnresolvedRefError& e) {
- return String::compose("%1\nPerhaps you need to give a -d parameter to say where this asset is located.", e.what());
+ return fmt::format("{}\nPerhaps you need to give a -d parameter to say where this asset is located.", e.what());
}
return {};
diff --git a/src/lib/nanomsg.cc b/src/lib/nanomsg.cc
index 8061e2f84..96c10e53e 100644
--- a/src/lib/nanomsg.cc
+++ b/src/lib/nanomsg.cc
@@ -44,11 +44,11 @@ Nanomsg::Nanomsg (bool server)
}
if (server) {
if ((_endpoint = nn_bind(_socket, NANOMSG_URL)) < 0) {
- throw runtime_error(String::compose("Could not bind nanomsg socket (%1)", errno));
+ throw runtime_error(fmt::format("Could not bind nanomsg socket ({})", errno));
}
} else {
if ((_endpoint = nn_connect(_socket, NANOMSG_URL)) < 0) {
- throw runtime_error(String::compose("Could not connect nanomsg socket (%1)", errno));
+ throw runtime_error(fmt::format("Could not connect nanomsg socket ({})", errno));
}
}
}
@@ -73,7 +73,7 @@ Nanomsg::send (string s, int timeout)
if (errno == ETIMEDOUT || errno == EAGAIN) {
return false;
}
- throw runtime_error(String::compose("Could not send to nanomsg socket (%1)", errno));
+ throw runtime_error(fmt::format("Could not send to nanomsg socket ({})", errno));
} else if (r != int(s.length())) {
throw runtime_error("Could not send to nanomsg socket (message too big)");
}
diff --git a/src/lib/player.cc b/src/lib/player.cc
index 8f4bc09a2..212258508 100644
--- a/src/lib/player.cc
+++ b/src/lib/player.cc
@@ -754,7 +754,7 @@ Player::pass()
switch (which) {
case CONTENT:
{
- LOG_DEBUG_PLAYER("Calling pass() on %1", earliest_content->content->path(0).string());
+ LOG_DEBUG_PLAYER("Calling pass() on {}", earliest_content->content->path(0).string());
earliest_content->done = earliest_content->decoder->pass();
auto dcp = dynamic_pointer_cast<DCPContent>(earliest_content->content);
if (dcp && !_play_referenced) {
@@ -772,7 +772,7 @@ Player::pass()
break;
}
case BLACK:
- LOG_DEBUG_PLAYER("Emit black for gap at %1", to_string(_black.position()));
+ LOG_DEBUG_PLAYER("Emit black for gap at {}", to_string(_black.position()));
if (!_next_video_time) {
/* Deciding to emit black has the same effect as getting some video from the content
* when we are inaccurately seeking.
@@ -789,7 +789,7 @@ Player::pass()
break;
case SILENT:
{
- LOG_DEBUG_PLAYER("Emit silence for gap at %1", to_string(_silent.position()));
+ LOG_DEBUG_PLAYER("Emit silence for gap at {}", to_string(_silent.position()));
DCPTimePeriod period(_silent.period_at_position());
if (_next_audio_time) {
/* Sometimes the thing that happened last finishes fractionally before
@@ -801,7 +801,7 @@ Player::pass()
/* Let's not worry about less than a frame at 24fps */
int64_t const too_much_error = DCPTime::from_frames(1, 24).get();
if (error >= too_much_error) {
- film->log()->log(String::compose("Silence starting before or after last audio by %1", error), LogEntry::TYPE_ERROR);
+ film->log()->log(fmt::format("Silence starting before or after last audio by {}", error), LogEntry::TYPE_ERROR);
}
DCPOMATIC_ASSERT(error < too_much_error);
period.from = *_next_audio_time;
@@ -844,14 +844,14 @@ Player::pass()
std::map<AudioStreamPtr, StreamState> alive_stream_states;
if (latest_last_push_end != have_pushed.end()) {
- LOG_DEBUG_PLAYER("Leading audio stream is in %1 at %2", latest_last_push_end->second.piece->content->path(0).string(), to_string(latest_last_push_end->second.last_push_end.get()));
+ LOG_DEBUG_PLAYER("Leading audio stream is in {} at {}", latest_last_push_end->second.piece->content->path(0).string(), to_string(latest_last_push_end->second.last_push_end.get()));
/* Now make a list of those streams that are less than ignore_streams_behind behind the leader */
for (auto const& i: _stream_states) {
if (!i.second.last_push_end || (latest_last_push_end->second.last_push_end.get() - i.second.last_push_end.get()) < dcpomatic::DCPTime::from_seconds(ignore_streams_behind)) {
alive_stream_states.insert(i);
} else {
- LOG_DEBUG_PLAYER("Ignoring stream %1 because it is too far behind", i.second.piece->content->path(0).string());
+ LOG_DEBUG_PLAYER("Ignoring stream {} because it is too far behind", i.second.piece->content->path(0).string());
}
}
}
@@ -867,7 +867,7 @@ Player::pass()
pull_to = _silent.position();
}
- LOG_DEBUG_PLAYER("Emitting audio up to %1", to_string(pull_to));
+ LOG_DEBUG_PLAYER("Emitting audio up to {}", to_string(pull_to));
auto audio = _audio_merger.pull(pull_to);
for (auto i = audio.begin(); i != audio.end(); ++i) {
if (_next_audio_time && i->second < *_next_audio_time) {
@@ -887,7 +887,7 @@ Player::pass()
if (done) {
if (_next_video_time) {
- LOG_DEBUG_PLAYER("Done: emit video until end of film at %1", to_string(film->length()));
+ LOG_DEBUG_PLAYER("Done: emit video until end of film at {}", to_string(film->length()));
emit_video_until(film->length());
}
@@ -963,7 +963,7 @@ Player::open_texts_for_frame(DCPTime time) const
void
Player::emit_video_until(DCPTime time)
{
- LOG_DEBUG_PLAYER("emit_video_until %1; next video time is %2", to_string(time), to_string(_next_video_time.get_value_or({})));
+ LOG_DEBUG_PLAYER("emit_video_until {}; next video time is {}", to_string(time), to_string(_next_video_time.get_value_or({})));
auto frame = [this](shared_ptr<PlayerVideo> pv, DCPTime time) {
/* We need a delay to give a little wiggle room to ensure that relevant subtitles arrive at the
player before the video that requires them.
@@ -1012,7 +1012,7 @@ Player::emit_video_until(DCPTime time)
frame(right.first, next);
} else if (both.first && (both.second - next) < age_threshold(both)) {
frame(both.first, next);
- LOG_DEBUG_PLAYER("Content %1 selected for DCP %2 (age %3)", to_string(both.second), to_string(next), to_string(both.second - next));
+ LOG_DEBUG_PLAYER("Content {} selected for DCP {} (age {})", to_string(both.second), to_string(next), to_string(both.second - next));
} else {
auto film = _film.lock();
if (film && film->three_d()) {
@@ -1021,7 +1021,7 @@ Player::emit_video_until(DCPTime time)
} else {
frame(black_player_video_frame(Eyes::BOTH), next);
}
- LOG_DEBUG_PLAYER("Black selected for DCP %1", to_string(next));
+ LOG_DEBUG_PLAYER("Black selected for DCP {}", to_string(next));
}
}
}
@@ -1072,7 +1072,7 @@ Player::video(weak_ptr<Piece> weak_piece, ContentVideo video)
/* Time of the frame we just received within the DCP */
auto const time = content_time_to_dcp(piece, video.time);
- LOG_DEBUG_PLAYER("Received video frame %1 %2 eyes %3", to_string(video.time), to_string(time), static_cast<int>(video.eyes));
+ LOG_DEBUG_PLAYER("Received video frame {} {} eyes {}", to_string(video.time), to_string(time), static_cast<int>(video.eyes));
if (time < piece->content->position()) {
return;
@@ -1162,7 +1162,7 @@ Player::audio(weak_ptr<Piece> weak_piece, AudioStreamPtr stream, ContentAudio co
/* And the end of this block in the DCP */
auto end = time + DCPTime::from_frames(content_audio.audio->frames(), rfr);
- LOG_DEBUG_PLAYER("Received audio frame %1 covering %2 to %3 (%4)", content_audio.frame, to_string(time), to_string(end), piece->content->path(0).filename().string());
+ LOG_DEBUG_PLAYER("Received audio frame {} covering {} to {} ({})", content_audio.frame, to_string(time), to_string(end), piece->content->path(0).filename().string());
/* Remove anything that comes before the start or after the end of the content */
if (time < piece->content->position()) {
@@ -1381,7 +1381,7 @@ void
Player::seek(DCPTime time, bool accurate)
{
boost::mutex::scoped_lock lm(_mutex);
- LOG_DEBUG_PLAYER("Seek to %1 (%2accurate)", to_string(time), accurate ? "" : "in");
+ LOG_DEBUG_PLAYER("Seek to {} ({}accurate)", to_string(time), accurate ? "" : "in");
if (_suspended) {
/* We can't seek in this state */
@@ -1469,7 +1469,7 @@ Player::emit_audio(shared_ptr<AudioBuffers> data, DCPTime time)
/* Log if the assert below is about to fail */
if (_next_audio_time && labs(time.get() - _next_audio_time->get()) > 1) {
- film->log()->log(String::compose("Out-of-sequence emit %1 vs %2", to_string(time), to_string(*_next_audio_time)), LogEntry::TYPE_WARNING);
+ film->log()->log(fmt::format("Out-of-sequence emit {} vs {}", to_string(time), to_string(*_next_audio_time)), LogEntry::TYPE_WARNING);
}
/* This audio must follow on from the previous, allowing for half a sample (at 48kHz) leeway */
diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc
index a0d7d6531..f0e4cb50d 100644
--- a/src/lib/playlist.cc
+++ b/src/lib/playlist.cc
@@ -236,13 +236,13 @@ Playlist::set_from_xml (shared_ptr<const Film> film, cxml::ConstNodePtr node, in
string note = _("Your project contains video content that was not aligned to a frame boundary.");
note += " ";
if (old_pos < content->position()) {
- note += String::compose(
- _("The file %1 has been moved %2 milliseconds later."),
+ note += fmt::format(
+ _("The file {} has been moved {} milliseconds later."),
content->path_summary(), DCPTime(content->position() - old_pos).seconds() * 1000
);
} else {
- note += String::compose(
- _("The file %1 has been moved %2 milliseconds earlier."),
+ note += fmt::format(
+ _("The file {} has been moved {} milliseconds earlier."),
content->path_summary(), DCPTime(content->position() - old_pos).seconds() * 1000
);
}
@@ -256,13 +256,13 @@ Playlist::set_from_xml (shared_ptr<const Film> film, cxml::ConstNodePtr node, in
string note = _("Your project contains video content whose trim was not aligned to a frame boundary.");
note += " ";
if (old_trim < content->trim_start()) {
- note += String::compose(
- _("The file %1 has been trimmed by %2 milliseconds more."),
+ note += fmt::format(
+ _("The file {} has been trimmed by {} milliseconds more."),
content->path_summary(), ContentTime(content->trim_start() - old_trim).seconds() * 1000
);
} else {
- note += String::compose(
- _("The file %1 has been trimmed by %2 milliseconds less."),
+ note += fmt::format(
+ _("The file {} has been trimmed by {} milliseconds less."),
content->path_summary(), ContentTime(old_trim - content->trim_start()).seconds() * 1000
);
}
diff --git a/src/lib/po/cs_CZ.po b/src/lib/po/cs_CZ.po
index bb414965b..f8786e41d 100644
--- a/src/lib/po/cs_CZ.po
+++ b/src/lib/po/cs_CZ.po
@@ -30,10 +30,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Oříznout na %1x%2"
+"Oříznout na {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -47,29 +47,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Vyplněné černou, aby se zmenšil do kontejneru %1 (%2x%3)"
+"Vyplněné černou, aby se zmenšil do kontejneru {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Měřítko %1x%2"
+"Měřítko {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " na %1"
+msgid " on {}"
+msgstr " na {}"
#: src/lib/config.cc:1276
msgid ""
@@ -100,80 +100,80 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [zvuk]"
+msgid "{} [audio]"
+msgstr "{} [zvuk]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [video]"
+msgid "{} [movie]"
+msgstr "{} [video]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [video]"
+msgid "{} [video]"
+msgstr "{} [video]"
#: src/lib/job.cc:181 src/lib/job.cc:196
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"%1 se nepodařilo otevřít soubor %2 (%3). Možná neexistuje nebo je v "
+"{} se nepodařilo otevřít soubor {} ({}). Možná neexistuje nebo je v "
"nepodporovaném formátu."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
-"%1 musel změnit nastavení pro odkazování na DCP jako OV. Zkontrolujte "
+"{} musel změnit nastavení pro odkazování na DCP jako OV. Zkontrolujte "
"prosím tato nastavení a ujistěte se, že odpovídají vašim požadavkům."
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
-"%1 musel změnit nastavení tak, aby snímková frekvence filmu byla stejná jako "
+"{} musel změnit nastavení tak, aby snímková frekvence filmu byla stejná jako "
"u obsahu Atmos."
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
-"%1 musel odstranit jeden z vašich vlastních reelů, protože již neleží uvnitř "
+"{} musel odstranit jeden z vašich vlastních reelů, protože již neleží uvnitř "
"filmu."
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
-"%1 musel odstranit některé z vašich vlastních hranic reelů, protože již "
+"{} musel odstranit některé z vašich vlastních hranic reelů, protože již "
"neleží uvnitř filmu."
#: src/lib/ffmpeg_content.cc:115
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "%1 již nepodporuje filtr `%2', proto byl vypnut."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "{} již nepodporuje filtr `{}', proto byl vypnut."
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
-msgstr "%1 oznámení"
+msgid "{} notification"
+msgstr "{} oznámení"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
-msgstr "%1; %2/%3 snímků"
+msgid "{}; {}/{} frames"
+msgstr "{}; {}/{} snímků"
#: src/lib/video_content.cc:463
#, c-format
@@ -264,12 +264,12 @@ msgstr "9"
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 fps"
+msgid "; {} fps"
+msgstr "; {} fps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 zbývajících; dokončení v %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} zbývajících; dokončení v {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -311,11 +311,11 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
"Soubor titulků nebo skrytých titulků v tomto projektu je označen jazykem "
-"„%1“, který %2 nerozpoznám. Jazyk souboru byl vymazán."
+"„{}“, který {} nerozpoznám. Jazyk souboru byl vymazán."
#: src/lib/ffmpeg_content.cc:639
msgid "ARIB STD-B67 ('Hybrid log-gamma')"
@@ -347,8 +347,8 @@ msgstr ""
"DCP tak, aby měl stejný poměr jako váš obsah."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Vyskytla se chyba při zpracování souboru %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Vyskytla se chyba při zpracování souboru {}."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -426,12 +426,12 @@ msgstr ""
"text“ nebo „Obsah→Otevřít titulky“."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Zvuk bude re-samplovaný z %1Hz na %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Zvuk bude re-samplovaný z {}Hz na {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Zvuk bude re-samplovaný na %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Zvuk bude re-samplovaný na {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -511,8 +511,8 @@ msgid "Cannot contain slashes"
msgstr "Nemůže obsahovat lomítka"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Nemužu zpracovat formát pixelu %1 během %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Nemužu zpracovat formát pixelu {} během {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -739,8 +739,8 @@ msgstr ""
"Obsah, ke kterému se chcete připojit, musí používat stejný jazyk textu."
#: src/lib/video_content.cc:454
-msgid "Content video is %1x%2"
-msgstr "Video je %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Video je {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -749,9 +749,9 @@ msgstr "Kopírovat DCP do TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "kopíruji %1"
+"Copying {}\n"
+"to {}"
+msgstr "kopíruji {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -760,72 +760,72 @@ msgstr "Kombinovat DCPs"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Kopírovat DCP do TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Nemohu se připojit k serveru %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Nemohu se připojit k serveru {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Nemohu vytvořit vzdálený adresář %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Nemohu vytvořit vzdálený adresář {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Nemohu dekódovat JPEG2000 soubor %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Nemohu dekódovat JPEG2000 soubor {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "Nelze dekódovat obraz (%1)"
+msgid "Could not decode image ({})"
+msgstr "Nelze dekódovat obraz ({})"
#: src/lib/unzipper.cc:76
-msgid "Could not find file %1 in ZIP file"
-msgstr "V souboru ZIP se nepodařilo najít soubor %1"
+msgid "Could not find file {} in ZIP file"
+msgstr "V souboru ZIP se nepodařilo najít soubor {}"
#: src/lib/encode_server_finder.cc:197
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Nepodařilo se naslouchat vzdáleným serverům pro kódování. Možná je spuštěna "
-"jiná instance %1."
+"jiná instance {}."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Nemohu otevřít %1"
+msgid "Could not open {}"
+msgstr "Nemohu otevřít {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Nemohu otevřít %1 k poslání"
+msgid "Could not open {} to send"
+msgstr "Nemohu otevřít {} k poslání"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "Nemohu otevřít ZIP soubor"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "Nemohu otevřít stažený ZIP soubor (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "Nemohu otevřít stažený ZIP soubor ({}:{}: {})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
msgstr "Nemohu otevřít soubor pro zápis"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
+msgid "Could not open output file {} ({})"
msgstr "Nelze otevřít výstupní soubor% 1 (% 2)"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Nemohu číst titulky (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Nemohu číst titulky ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Nemohu začít přenos"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Nemohu zapisovat do vzdáleného souboru (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Nemohu zapisovat do vzdáleného souboru ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -913,7 +913,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Milý promítači,\n"
"\n"
@@ -928,32 +928,32 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
-msgstr "Disk plný při zápisu %1"
+msgid "Disk full when writing {}"
+msgstr "Disk plný při zápisu {}"
#: src/lib/dolby_cp750.cc:31
msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 nebo CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Stahování selhalo (%1 error %2)"
+msgid "Download failed ({} error {})"
+msgstr "Stahování selhalo ({} error {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Každý frame bude opakovaný %1 krát v DCP.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
+msgstr "Každý frame bude opakovaný {} krát v DCP.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "Email KDM"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "Email KDM pro %2"
+msgid "Email KDMs for {}"
+msgstr "Email KDM pro {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -964,8 +964,8 @@ msgid "Email problem report"
msgstr "Správa o problému s Emailem"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Správa o problému s Emailem pro %1"
+msgid "Email problem report for {}"
+msgstr "Správa o problému s Emailem pro {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -976,12 +976,12 @@ msgid "Episode"
msgstr "Epizoda"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Chyba v souboru titulků: viděný %1 a byl očekávaný %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Chyba v souboru titulků: viděný {} a byl očekávaný {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Chyba: %1"
+msgid "Error: {}"
+msgstr "Chyba: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1020,8 +1020,8 @@ msgid "FCP XML subtitles"
msgstr "Titulky FCP XML"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Chyba při autentifikování se serverem (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Chyba při autentifikování se serverem ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1073,8 +1073,8 @@ msgid "Full"
msgstr "Full"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Full (0-%1)"
+msgid "Full (0-{})"
+msgstr "Full (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1172,8 +1172,8 @@ msgstr ""
"měli jistotu, že budou vidět."
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
-msgid "It is not known what caused this error. %1"
-msgstr "Není známo, co tuto chybu způsobilo. %1"
+msgid "It is not known what caused this error. {}"
+msgstr "Není známo, co tuto chybu způsobilo. {}"
#: src/lib/ffmpeg_content.cc:614
msgid "JEDEC P22"
@@ -1225,8 +1225,8 @@ msgid "Limited"
msgstr "Limitovaný"
#: src/lib/ffmpeg_content.cc:557
-msgid "Limited / video (%1-%2)"
-msgstr "Omezené / video (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Omezené / video ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1274,8 +1274,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "V DCP se neshoduje velikost videa"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Chybí potřebná nastavení %1"
+msgid "Missing required setting {}"
+msgstr "Chybí potřebná nastavení {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1319,12 +1319,12 @@ msgid "OK"
msgstr "OK"
#: src/lib/job.cc:622
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (spuštěno od %1 do %2 to %3)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (spuštěno od {} do {} to {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (hotovo za %1)"
+msgid "OK (ran for {})"
+msgstr "OK (hotovo za {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1344,9 +1344,9 @@ msgstr "Otevřít titulky"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
-"Otevřete projekt v %1, zkontrolujte nastavení a před dalším pokusem jej "
+"Otevřete projekt v {}, zkontrolujte nastavení a před dalším pokusem jej "
"uložte."
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
@@ -1369,10 +1369,10 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Nahlaste prosím tento problém pomocí Nápověda -> Nahlásit problém nebo e-"
-"mailem na adresu %1."
+"mailem na adresu {}."
#: src/lib/dcp_content_type.cc:61
msgid "Policy"
@@ -1387,8 +1387,8 @@ msgid "Prepared for video frame rate"
msgstr "Příprava pro snímkovou frekvenci videa"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Chyba při programovaní na %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Chyba při programovaní na {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1507,13 +1507,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "SSH chyba [%1]"
+msgid "SSH error [{}]"
+msgstr "SSH chyba [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "SSH chyba [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "SSH chyba [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1540,8 +1540,8 @@ msgid "Size"
msgstr "Velikost"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Některé audio bude převzorkované na %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Některé audio bude převzorkované na {}Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1572,10 +1572,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Některé ze skrytých titulků jsou rozloženy na více než %1 řádcích, takže "
+"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
@@ -1658,18 +1658,18 @@ msgid "The certificate chain for signing is invalid"
msgstr "Řetěz certifikátů pro podepisování je neplatný"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "Řetěz certifikátů pro podepisování je neplatný (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "Řetěz certifikátů pro podepisování je neplatný ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
"Preferences."
msgstr ""
-"Řetězec certifikátů, který %1 používá pro podepisování DCP a KDM, obsahuje "
+"Řetězec certifikátů, který {} používá pro podepisování DCP a KDM, obsahuje "
"malou chybu, která v některých systémech brání správnému ověření DCP. "
"Doporučujeme znovu vytvořit řetězec podpisového certifikátu kliknutím na "
"tlačítko „Re-make certificates and key...“ (Znovu vytvořit certifikáty a "
@@ -1677,13 +1677,13 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
"Preferences."
msgstr ""
-"Řetězec certifikátů, který %1 používá pro podepisování DCP a KDM, má příliš "
+"Řetězec certifikátů, který {} používá pro podepisování DCP a KDM, má příliš "
"dlouhou dobu platnosti. To způsobuje problémy s přehráváním DCP na "
"některých systémech. Doporučujeme znovu vytvořit řetězec podpisových "
"certifikátů kliknutím na tlačítko „Re-make certificates and key...“ (Znovu "
@@ -1692,11 +1692,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"Soubor obsahu %1 je nastaven jako 3D, ale nezdá se, že obsahuje 3D obraz. "
+"Soubor obsahu {} je nastaven jako 3D, ale nezdá se, že obsahuje 3D obraz. "
"Nastavte jej na 2D. 3D DCP z tohoto obsahu můžete stále vytvořit "
"zaškrtnutím políčka 3D na kartě DCP video."
@@ -1709,20 +1709,20 @@ msgstr ""
"zkuste to znovu."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Soubor %1 byl posunut o %2 milisekund dříve."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Soubor {} byl posunut o {} milisekund dříve."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Soubor %1 byl posunut o %2 milisekund později."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Soubor {} byl posunut o {} milisekund později."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Soubor %1 byl oříznut o %2 milisekund méně."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Soubor {} byl oříznut o {} milisekund méně."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Soubor %1 byl oříznut o %2 milisekund více."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Soubor {} byl oříznut o {} milisekund více."
#: src/lib/hints.cc:268
msgid ""
@@ -1772,32 +1772,32 @@ msgstr ""
"enkódovacích threadov v záložce Všeobecné, v nastavení."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
-msgstr "Tento KDM byl vytvořen pro %1, ale ne pro jeho listový certifikát."
+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:984
-msgid "This KDM was not made for %1's decryption certificate."
-msgstr "Tento KDM nebyl vytvořen pro dešifrovací certifikát %1."
+msgid "This KDM was not made for {}'s decryption certificate."
+msgstr "Tento KDM nebyl vytvořen pro dešifrovací certifikát {}."
#: src/lib/job.cc:142
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
-"Tato chyba pravděpodobně nastala, protože používáte 32bitovou verzi %1 a "
+"Tato chyba pravděpodobně nastala, protože používáte 32bitovou verzi {} a "
"snažíte se použít příliš mnoho kódovacích vláken. Snižte prosím „počet "
-"vláken, která má %2 používat“ na kartě Obecné v Předvolbách a zkuste to "
+"vláken, která má {} používat“ na kartě Obecné v Předvolbách a zkuste to "
"znovu."
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
-"Tato chyba se pravděpodobně vyskytla, protože používáte 32bitovou verzi %1. "
-"Přeinstalujte prosím %2 pomocí 64bitového instalačního programu a zkuste to "
+"Tato chyba se pravděpodobně vyskytla, protože používáte 32bitovou verzi {}. "
+"Přeinstalujte prosím {} pomocí 64bitového instalačního programu a zkuste to "
"znovu."
#: src/lib/exceptions.cc:114
@@ -1810,19 +1810,19 @@ msgstr ""
#: src/lib/film.cc:544
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
-"Tento film byl vytvořen v novější verzi %1 a nelze jej do této verze "
+"Tento film byl vytvořen v novější verzi {} a nelze jej do této verze "
"načíst. Omlouváme se!"
#: src/lib/film.cc:525
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
-"Tento film byl vytvořen ve starší verzi %1 a bohužel jej nelze načíst do "
+"Tento film byl vytvořen ve starší verzi {} a bohužel jej nelze načíst do "
"této verze. Budete muset vytvořit nový film, znovu přidat obsah a znovu jej "
"nastavit. Omlouváme se!"
@@ -1839,8 +1839,8 @@ msgid "Trailer"
msgstr "Trailer"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Překódování %1"
+msgid "Transcoding {}"
+msgstr "Překódování {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1871,8 +1871,8 @@ msgid "Unknown error"
msgstr "Neznáma chyba"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Nerozpoznaná vzorkovací frekvence audia (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Nerozpoznaná vzorkovací frekvence audia ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1919,8 +1919,8 @@ msgid "Vertical flip"
msgstr "Vertikální flip"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
-msgstr "Video odkazuje na chybějící asset %1"
+msgid "Video refers to missing asset {}"
+msgstr "Video odkazuje na chybějící asset {}"
#: src/lib/util.cc:596
msgid "Visually impaired"
@@ -1948,23 +1948,23 @@ msgstr "Ještě další deinterlacing filter"
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"Pro DCP jste nastavili snímkovou frekvenci %1 fps. Tato snímková frekvence "
+"Pro DCP jste nastavili snímkovou frekvenci {} fps. Tato snímková frekvence "
"není podporována všemi projektory. Doporučujeme změnit snímkovou frekvenci "
-"DCP na %2 fps."
+"DCP na {} fps."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"Pro DCP jste nastavili snímkovou frekvenci %1 fps. Tato snímková frekvence "
+"Pro DCP jste nastavili snímkovou frekvenci {} fps. Tato snímková frekvence "
"není podporována všemi projektory. Možná budete chtít změnit snímkovou "
-"frekvenci na %2 fps."
+"frekvenci na {} fps."
#: src/lib/hints.cc:203
msgid ""
@@ -1976,11 +1976,11 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
-"Používáte upmixer %1 stereo-to-5.1. Jedná se o experimentální funkci, která "
+"Používáte upmixer {} stereo-to-5.1. Jedná se o experimentální funkci, která "
"může mít za následek špatnou kvalitu zvuku. Pokud budete pokračovat, měli "
"byste si výsledný DCP poslechnout v kině, abyste se ujistili, že zní dobře."
@@ -1994,10 +1994,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Máte %1 souborů, které vypadají jako VOB soubory z DVD. Měli byste je "
+"Máte {} souborů, které vypadají jako VOB soubory z DVD. Měli byste je "
"spojit, aby zajistit tak hladké spojení mezi těmito dvěma soubory."
#: src/lib/film.cc:1665
@@ -2030,11 +2030,11 @@ msgstr "Musíte přidat obsah do DCP před tím než ho vytvoříte"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
-"Váš DCP má %1 zvukových kanálů, spíše než 8 nebo 16. To může způsobit, že "
+"Váš DCP má {} zvukových kanálů, spíše než 8 nebo 16. To může způsobit, že "
"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."
@@ -2042,12 +2042,12 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"Váš DCP má méně než 6 zvukových kanálů. To může u některých projektorů "
"způsobit problémy. Možná budete chtít nastavit DCP tak, aby měl 6 kanálů. "
-"Nezáleží na tom, zda má váš obsah méně kanálů, protože %1 vyplní přídavky "
+"Nezáleží na tom, zda má váš obsah méně kanálů, protože {} vyplní přídavky "
"tichem."
#: src/lib/hints.cc:168
@@ -2060,10 +2060,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Hlasitost zvuku je velmi vysoká (na %1). Snižte zesílení zvukového obsahu."
+"Hlasitost zvuku je velmi vysoká (na {}). Snižte zesílení zvukového obsahu."
#: src/lib/playlist.cc:236
msgid ""
@@ -2091,11 +2091,11 @@ msgstr "[stále]"
msgid "[subtitles]"
msgstr "[titulky]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_reel%1"
+msgid "_reel{}"
+msgstr "_reel{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2114,56 +2114,56 @@ msgid "content type"
msgstr "typ obsahu"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "kopíruji %1"
+msgid "copying {}"
+msgstr "kopíruji {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "nemohu najít informace o streamu"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
msgstr "nemohu přesunout atmos asset do DCP (% 1)"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "nemohu přesunout audio do DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "nemohu přesunout audio do DCP ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "nemohu otevřít soubor %1 pro čtení (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "nemohu otevřít soubor {} pro čtení ({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "nemohu otevřít soubor %1 pro čtení/zápis (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "nemohu otevřít soubor {} pro čtení/zápis ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "nemohu otevřít soubor %1 pro zápis (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "nemohu otevřít soubor {} pro zápis ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "nemohu číst ze souboru %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "nemohu číst ze souboru {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "nemohu zapisovat do souboru %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "nemohu zapisovat do souboru {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "chyba při async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "chyba při async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
-msgid "error during async_connect: (%1)"
-msgstr "chyba při async_connect: (%1)"
+msgid "error during async_connect: ({})"
+msgstr "chyba při async_connect: ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "chyba při async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "chyba při async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "chyba při async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "chyba při async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2182,9 +2182,9 @@ msgstr "má jinou snímkovou frekvenci za sekundu pro film."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
-"má jiný počet zvukových kanálů než projekt; nastavte projekt na %1 kanálů."
+"má jiný počet zvukových kanálů než projekt; nastavte projekt na {} kanálů."
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
#: src/lib/dcp_content.cc:789
@@ -2346,20 +2346,20 @@ msgstr "video snímky"
#~ "Obsah, ke kterému se chcete připojit, musí mít stejnou jazykovou audio "
#~ "stopu."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Nemohu začít SCP session (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Nemohu začít SCP session ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "nemohu začít SCP session (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "nemohu začít SCP session ({})"
#~ msgid "could not start SSH session"
#~ msgstr "nemohu začít SSH session"
#~ msgid ""
-#~ "Some of your closed captions have lines longer than %1 characters, so "
+#~ "Some of your closed captions have lines longer than {} characters, so "
#~ "they will probably be word-wrapped."
#~ msgstr ""
-#~ "Některé z vašich skrytých titulků mají řádky delší než %1 znaků, takže "
+#~ "Některé z vašich skrytých titulků mají řádky delší než {} znaků, takže "
#~ "pravděpodobně budou zalamovány."
#~ msgid "No scale"
@@ -2414,16 +2414,16 @@ msgstr "video snímky"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Nemohu zapisovat do vzdáleného souboru (%1)"
+#~ msgstr "Nemohu zapisovat do vzdáleného souboru ({})"
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Nemohu dekódovat soubor s obrázkem %1 (%2)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Nemohu dekódovat soubor s obrázkem {} ({})"
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "překrývá se s jiným obsahem titulků; odstranit jiný obsah."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2432,7 +2432,7 @@ msgstr "video snímky"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "DCP %1 byl uvedený v tomto filmu. Toto není možné z důvodu velikosti "
+#~ "DCP {} byl uvedený v tomto filmu. Toto není možné z důvodu velikosti "
#~ "reelu ve filmu, protože nesouhlasí s údaji v importovaném DCP. Nastavení "
#~ "'Reel type' na 'rozdělit podle video obsahu' vám pravděpodobně pomůže. "
#~ "Poté budete muset znovu zaškrtnout příslušný checkboxes \"odkaz na "
@@ -2454,10 +2454,10 @@ msgstr "video snímky"
#~ msgstr "IMAX"
#~ msgid ""
-#~ "Your DCP frame rate (%1 fps) may cause problems in a few (mostly older) "
+#~ "Your DCP frame rate ({} fps) may cause problems in a few (mostly older) "
#~ "projectors. Use 24 or 48 frames per second to be on the safe side."
#~ msgstr ""
-#~ "Nastavená snímková rychlost (%1 fps) může způsobit u některých projektorů "
+#~ "Nastavená snímková rychlost ({} fps) může způsobit u některých projektorů "
#~ "problémy(převážně starších). Použijte 24 nebo 48 snímků za sekundu."
#~ msgid "Finding length and subtitles"
@@ -2480,11 +2480,11 @@ msgstr "video snímky"
#~ msgstr ""
#~ "Úroveň zvuku je velmi blízko oříznutí. Snižte zesílení zvukového obsahu."
-#~ msgid "could not create file %1"
-#~ msgstr "nemohu vytvořit soubor %1"
+#~ msgid "could not create file {}"
+#~ msgstr "nemohu vytvořit soubor {}"
-#~ msgid "could not open file %1"
-#~ msgstr "nemohu otevřít soubor %1"
+#~ msgid "could not open file {}"
+#~ msgstr "nemohu otevřít soubor {}"
#~ msgid "Computing audio digest"
#~ msgstr "Počítám souhrn zvuku"
@@ -2526,8 +2526,8 @@ msgstr "video snímky"
#~ msgid "could not run sample-rate converter"
#~ msgstr "Sample-Rate konnte nicht gewandelt werden"
-#~ msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
-#~ msgstr "Sample-Rate für %1 samples konnte nicht gewandelt werden (%2)(%3)"
+#~ msgid "could not run sample-rate converter for {} samples ({}) ({})"
+#~ msgstr "Sample-Rate für {} samples konnte nicht gewandelt werden ({})({})"
#~ msgid "1.375"
#~ msgstr "1.375"
@@ -2563,20 +2563,20 @@ msgstr "video snímky"
#~ msgid "could not read encoded data"
#~ msgstr "Kodierte Daten nicht gefunden."
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "error during async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "error during async_accept ({})"
-#~ msgid "%1 channels, %2kHz, %3 samples"
-#~ msgstr "%1 Kanäle, %2kHz, %3 samples"
+#~ msgid "{} channels, {}kHz, {} samples"
+#~ msgstr "{} Kanäle, {}kHz, {} samples"
-#~ msgid "%1 frames; %2 frames per second"
-#~ msgstr "%1 Bilder; %2 Bilder pro Sekunde"
+#~ msgid "{} frames; {} frames per second"
+#~ msgstr "{} Bilder; {} Bilder pro Sekunde"
-#~ msgid "%1x%2 pixels (%3:1)"
-#~ msgstr "%1x%2 pixel (%3:1)"
+#~ msgid "{}x{} pixels ({}:1)"
+#~ msgstr "{}x{} pixel ({}:1)"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "Key %1 in Key-value set fehlt"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "Key {} in Key-value set fehlt"
#~ msgid "sRGB non-linearised"
#~ msgstr "sRGB nicht linearisiert"
@@ -2667,8 +2667,8 @@ msgstr "video snímky"
#~ msgid "0%"
#~ msgstr "0%"
-#~ msgid "first frame in moving image directory is number %1"
-#~ msgstr "Erstes Bild im Bilderordner ist Nummer %1"
+#~ msgid "first frame in moving image directory is number {}"
+#~ msgstr "Erstes Bild im Bilderordner ist Nummer {}"
-#~ msgid "there are %1 images in the directory but the last one is number %2"
-#~ msgstr "Im Ordner sind %1 Bilder aber die letzte Nummer ist %2"
+#~ msgid "there are {} images in the directory but the last one is number {}"
+#~ msgstr "Im Ordner sind {} Bilder aber die letzte Nummer ist {}"
diff --git a/src/lib/po/da_DK.po b/src/lib/po/da_DK.po
index 48705a152..3850abce1 100644
--- a/src/lib/po/da_DK.po
+++ b/src/lib/po/da_DK.po
@@ -29,10 +29,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Beskåret til %1x%2"
+"Beskåret til {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -46,29 +46,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Udfyldt med sort for at tilpasse til container %1 (%2x%3)"
+"Udfyldt med sort for at tilpasse til container {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Skaleret til %1x%2"
+"Skaleret til {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " på %1"
+msgid " on {}"
+msgstr " på {}"
#: src/lib/config.cc:1276
#, fuzzy
@@ -99,42 +99,42 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
msgstr ""
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [lyd]"
+msgid "{} [audio]"
+msgstr "{} [lyd]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [film]"
+msgid "{} [movie]"
+msgstr "{} [film]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [video]"
+msgid "{} [video]"
+msgstr "{} [video]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"DCP-o-matic kunne ikke åbne filen %1 (%2). Måske findes den ikke, eller den "
+"DCP-o-matic kunne ikke åbne filen {} ({}). Måske findes den ikke, eller den "
"er i et uventet format."
#: src/lib/film.cc:1702
#, fuzzy
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} 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-o-matic var nødt til at ændre dine instillinger for at referere til "
@@ -144,7 +144,7 @@ msgstr ""
#: src/lib/film.cc:1668
#, fuzzy
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
"DCP-o-matic var nødt til at ændre dine instillinger for at referere til "
@@ -153,30 +153,30 @@ msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
msgstr ""
-"DCP-o-matic understøtter ikke længere `%1'-filteret, så det er blevet slået "
+"DCP-o-matic understøtter ikke længere `{}'-filteret, så det er blevet slået "
"fra."
#: src/lib/config.cc:441 src/lib/config.cc:1251
#, fuzzy
-msgid "%1 notification"
+msgid "{} notification"
msgstr "Email besked"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -266,12 +266,12 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 bps"
+msgid "; {} fps"
+msgstr "; {} bps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 mangler; færdig ca %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} mangler; færdig ca {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -303,7 +303,7 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
@@ -340,8 +340,8 @@ msgstr ""
"størrelsesforhold som dit indhold."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Der skete en fejl, mens der blev arbejdet på filen %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Der skete en fejl, mens der blev arbejdet på filen {}."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -407,12 +407,12 @@ msgid ""
msgstr ""
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Lyd resamples fra %1Hz til %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Lyd resamples fra {}Hz til {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Lyd resamples til %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Lyd resamples til {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -493,8 +493,8 @@ msgid "Cannot contain slashes"
msgstr "Må ikke indeholde skråstreger"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Kan ikke håndtere pixelformat %1 under %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Kan ikke håndtere pixelformat {} under {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -737,8 +737,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "Indholdsvideo er %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Indholdsvideo er {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -747,65 +747,65 @@ msgstr "Kopier DCP til TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "kopierer %1"
+"Copying {}\n"
+"to {}"
+msgstr "kopierer {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
msgid "Copying DCP"
-msgstr "kopierer %1"
+msgstr "kopierer {}"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Kopier DCP til TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Kunne ikke få forbindelse til server %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Kunne ikke få forbindelse til server {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Kunne ikke danne fjernkatalog %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Kunne ikke danne fjernkatalog {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Kunne ikke læse JPEG2000 fil %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Kunne ikke læse JPEG2000 fil {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "Kunne ikke afkode billedet (%1)"
+msgid "Could not decode image ({})"
+msgstr "Kunne ikke afkode billedet ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Kunne ikke åbne downloadet ZIP-fil"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Kunne ikke lytte efter andre genereringsservere. Måske kører en anden "
"instans af DCP-o-matic."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Kunne ikke åbne %1"
+msgid "Could not open {}"
+msgstr "Kunne ikke åbne {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Kunne ikke åbne %1 til afsendelse"
+msgid "Could not open {} to send"
+msgstr "Kunne ikke åbne {} til afsendelse"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "Kunne ikke åbne downloadet ZIP-fil"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "Den hentede ZIP-fil (%1:%2: %3) kunne ikke åbnes."
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "Den hentede ZIP-fil ({}:{}: {}) kunne ikke åbnes."
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
@@ -813,20 +813,20 @@ msgstr "Kunne ikke åbne fil til skrivning"
#: src/lib/ffmpeg_file_encoder.cc:271
#, fuzzy
-msgid "Could not open output file %1 (%2)"
-msgstr "kunne ikke skrive til fil %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "kunne ikke skrive til fil {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Kunne ikke indlæse undertekster (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Kunne ikke indlæse undertekster ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Kunne ikke starte overførsel"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Kunne ikke skrive til fjernfil. (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Kunne ikke skrive til fjernfil. ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -909,7 +909,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Kære operatør\n"
"\n"
@@ -924,7 +924,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -933,17 +933,17 @@ msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 og CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Download fejlede (%1 fejl %2)"
+msgid "Download failed ({} error {})"
+msgstr "Download fejlede ({} fejl {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
-"Hvert billede i indholdet vil blive gentaget %1 flere gange i DCP'en.\n"
+"Hvert billede i indholdet vil blive gentaget {} flere gange i DCP'en.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
@@ -951,8 +951,8 @@ msgstr "E-mail KDM'er"
#: src/lib/send_kdm_email_job.cc:97
#, fuzzy
-msgid "Email KDMs for %1"
-msgstr "E-mail KDM'er til %1"
+msgid "Email KDMs for {}"
+msgstr "E-mail KDM'er til {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -963,8 +963,8 @@ msgid "Email problem report"
msgstr "Send problemrapport som mail"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Send problemrapport som mail til %1"
+msgid "Email problem report for {}"
+msgstr "Send problemrapport som mail til {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -975,12 +975,12 @@ msgid "Episode"
msgstr ""
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Fejl i fil med undertekster: så %1 men forventede %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Fejl i fil med undertekster: så {} men forventede {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Fejl: %1"
+msgid "Error: {}"
+msgstr "Fejl: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1024,8 +1024,8 @@ msgid "FCP XML subtitles"
msgstr "DCP XML undertekster"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Kunne ikke godkende mod server (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Kunne ikke godkende mod server ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
#, fuzzy
@@ -1079,8 +1079,8 @@ msgid "Full"
msgstr "Fuld"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Fuld (0-%1)"
+msgid "Full (0-{})"
+msgstr "Fuld (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1172,7 +1172,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "Det er uklart hvad der forårsagede denne fejl."
#: src/lib/ffmpeg_content.cc:614
@@ -1226,8 +1226,8 @@ msgstr "Begrænset"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Begrænset (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Begrænset ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1275,8 +1275,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "Videostørrelser passer ikke i DCP"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Mangler påkrævet indstilling %1"
+msgid "Missing required setting {}"
+msgstr "Mangler påkrævet indstilling {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1322,12 +1322,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (kørte i %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (kørte i {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (kørte i %1)"
+msgid "OK (ran for {})"
+msgstr "OK (kørte i {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1349,7 +1349,7 @@ msgstr "Åbne undertekster"
#: src/lib/transcode_job.cc:116
#, fuzzy
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
"Nogle filer er blevet ændret siden de blev tilføjet til projektet.\n"
"\n"
@@ -1377,7 +1377,7 @@ msgstr "P3"
#, fuzzy
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Rapporter venligst dette problem via Hjælp -> Rapporter et problem eller via "
"email til carl@dcpomatic.com"
@@ -1395,8 +1395,8 @@ msgid "Prepared for video frame rate"
msgstr "Forberedt til video billedhastighed"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Programmerings fejl ved %1: %2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Programmerings fejl ved {}: {} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1513,14 +1513,14 @@ msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
#, fuzzy
-msgid "SSH error [%1]"
-msgstr "SSH-fejl (%1)"
+msgid "SSH error [{}]"
+msgstr "SSH-fejl ({})"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
#, fuzzy
-msgid "SSH error [%1] (%2)"
-msgstr "SSH-fejl (%1)"
+msgid "SSH error [{}] ({})"
+msgstr "SSH-fejl ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1547,8 +1547,8 @@ msgid "Size"
msgstr "Størrelse"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Noget lyd resamples til %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Noget lyd resamples til {}Hz"
#: src/lib/transcode_job.cc:121
#, fuzzy
@@ -1585,10 +1585,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Nogle af underteksterne er på mere end %1 linjer, så de bliver beskåret."
+"Nogle af underteksterne er på mere end {} linjer, så de bliver beskåret."
#: src/lib/hints.cc:727
msgid ""
@@ -1665,12 +1665,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "Certifikatkæden til signering er ugyldig"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "Certifikatkæden til signering er ugyldig (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "Certifikatkæden til signering er ugyldig ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1679,7 +1679,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1688,7 +1688,7 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
@@ -1702,20 +1702,20 @@ msgstr ""
"og prøv igen."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Filen %1 er blevet flyttet %2 millisekunder frem."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Filen {} er blevet flyttet {} millisekunder frem."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Filen %1 er blevet flyttet %2 millisekunder tilbage."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Filen {} er blevet flyttet {} millisekunder tilbage."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Filen %1 er blevet trimmet %2 millisekunder kortere."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Filen {} er blevet trimmet {} millisekunder kortere."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Filen %1 er blevet trimmet %2 millisekunder længere."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Filen {} er blevet trimmet {} millisekunder længere."
#: src/lib/hints.cc:268
msgid ""
@@ -1762,21 +1762,21 @@ msgstr ""
#: src/lib/util.cc:986
#, fuzzy
-msgid "This KDM was made for %1 but not for its leaf certificate."
+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:984
#, fuzzy
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr "KDM var ikke genereret til DCP-o-matics dekrypterings certifikat."
#: src/lib/job.cc:142
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Der var ikke tilstrækkelig arbejdshukommelse til at gøre dette. Hvis du "
@@ -1786,7 +1786,7 @@ msgstr ""
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
#: src/lib/exceptions.cc:114
@@ -1800,7 +1800,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Denne film blev dannet med en nyere version af DCP-o-matic og kan ikke "
@@ -1809,7 +1809,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1830,8 +1830,8 @@ msgid "Trailer"
msgstr "Trailer"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Transcoder %1"
+msgid "Transcoding {}"
+msgstr "Transcoder {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1863,8 +1863,8 @@ msgid "Unknown error"
msgstr "Ukendt fejl"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Kunne ikke genkende lydsekvensens format (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Kunne ikke genkende lydsekvensens format ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1911,7 +1911,7 @@ msgid "Vertical flip"
msgstr "Lodret spejling"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1941,23 +1941,23 @@ msgstr "Endnu et Deinterlacing Filter"
#: src/lib/hints.cc:209
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"Du har gjort klar til en DCP med en billedhastighed på %1 bps. Denne "
+"Du har gjort klar til en DCP med en billedhastighed på {} bps. Denne "
"billedhastighed understøttes ikke af alle projektorer. Du rådes til at "
-"ændre DCP-billedhastigheden til %2 fps."
+"ændre DCP-billedhastigheden til {} fps."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"Du har gjort klar til en DCP med en billedhastighed på %1 bps. Denne "
+"Du har gjort klar til en DCP med en billedhastighed på {} bps. Denne "
"billedhastighed understøttes ikke af alle projektorer. Du rådes til at "
-"ændre billedhastigheden til %2 fps."
+"ændre billedhastigheden til {} fps."
#: src/lib/hints.cc:203
msgid ""
@@ -1971,7 +1971,7 @@ msgstr ""
#: src/lib/hints.cc:126
#, fuzzy
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -1990,10 +1990,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Du har %1 filer der ligner VOB-filer fra en DVD. Du bør samle dem for at "
+"Du har {} filer der ligner VOB-filer fra en DVD. Du bør samle dem for at "
"sikre gode overgange mellem filerne."
#: src/lib/film.cc:1665
@@ -2023,7 +2023,7 @@ msgstr "Du er nødt til at tilføje indhold til DCP'en før du kan danne den"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -2032,7 +2032,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
@@ -2048,9 +2048,9 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
-msgstr "Lydniveauet er meget højt (%1). Du bør sænke gain på lyden."
+msgstr "Lydniveauet er meget højt ({}). Du bør sænke gain på lyden."
#: src/lib/playlist.cc:236
msgid ""
@@ -2078,11 +2078,11 @@ msgstr "[stillbillede]"
msgid "[subtitles]"
msgstr "[undertekster]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_spole%1"
+msgid "_reel{}"
+msgstr "_spole{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2101,8 +2101,8 @@ msgid "content type"
msgstr "indholdstype"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "kopierer %1"
+msgid "copying {}"
+msgstr "kopierer {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
@@ -2110,52 +2110,52 @@ msgstr "kunne ikke finde information om strøm"
#: src/lib/reel_writer.cc:404
#, fuzzy
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "kunne ikke flytte lyd-MXF ind i DCPen (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "kunne ikke flytte lyd-MXF ind i DCPen ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "kunne ikke flytte lyd-MXF ind i DCPen (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "kunne ikke flytte lyd-MXF ind i DCPen ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for read (%2)"
-msgstr "kunne ikke åbne fil %1 til læsning (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "kunne ikke åbne fil {} til læsning ({})"
#: src/lib/exceptions.cc:38
#, fuzzy
-msgid "could not open file %1 for read/write (%2)"
-msgstr "kunne ikke åbne fil %1 til læsning (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "kunne ikke åbne fil {} til læsning ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for write (%2)"
-msgstr "kunne ikke åbne fil (%1) til skrivning (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "kunne ikke åbne fil ({}) til skrivning ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "kunne ikke læse fra fil %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "kunne ikke læse fra fil {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "kunne ikke skrive til fil %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "kunne ikke skrive til fil {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "fejl ved async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "fejl ved async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "fejl ved async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "fejl ved async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "fejl ved async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "fejl ved async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "fejl ved async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "fejl ved async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2174,7 +2174,7 @@ msgstr "den har en anden billedhastighed end filmen."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2324,20 +2324,20 @@ msgstr "videobilleder"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "Indhold der skal splejses skal have samme lydgain."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Kunne ikke starte SCP-session (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Kunne ikke starte SCP-session ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "kunne ikke starte SCP-session (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "kunne ikke starte SCP-session ({})"
#~ msgid "could not start SSH session"
#~ msgstr "kunne ikke starte SSH-session"
#~ msgid ""
-#~ "Some of your closed captions have lines longer than %1 characters, so "
+#~ "Some of your closed captions have lines longer than {} characters, so "
#~ "they will probably be word-wrapped."
#~ msgstr ""
-#~ "Nogle af underteksterne har linjer på mere end %1 tegn, så de vil "
+#~ "Nogle af underteksterne har linjer på mere end {} tegn, så de vil "
#~ "formodentlig blive ombrudt."
#~ msgid "No scale"
@@ -2393,18 +2393,18 @@ msgstr "videobilleder"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Kunne ikke skrive til fjernfil. (%1)"
+#~ msgstr "Kunne ikke skrive til fjernfil. ({})"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Kunne ikke afkode billedfil (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Kunne ikke afkode billedfil ({})"
#, fuzzy
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "Der er andre undertekster, der overlapper i denne DCP; fjern dem."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2413,7 +2413,7 @@ msgstr "videobilleder"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "Denne film havde en reference til DCPen %1. Dette er ikke længere muligt, "
+#~ "Denne film havde en reference til DCPen {}. Dette er ikke længere muligt, "
#~ "da filmens spolestørrelse ikke længere er i overensstemmelse med den "
#~ "importerede DCP.\n"
#~ "\n"
@@ -2450,8 +2450,8 @@ msgstr "videobilleder"
#~ msgstr ""
#~ "Denne KDM afkoder ikke DCPen. Måske er den rettet mod den forkerte CPL."
-#~ msgid "could not create file %1"
-#~ msgstr "kunne ikke danne filen %1"
+#~ msgid "could not create file {}"
+#~ msgstr "kunne ikke danne filen {}"
#~ msgid "Computing audio digest"
#~ msgstr "Beregner lydresume"
@@ -2496,8 +2496,8 @@ msgstr "videobilleder"
#~ msgid "Content to be joined must use the same audio stream."
#~ msgstr "Indhold der skal splejses skal bruge samme lyd strøm."
-#~ msgid "Error (%1)"
-#~ msgstr "Fejl (%1)"
+#~ msgid "Error ({})"
+#~ msgstr "Fejl ({})"
#~ msgid "Fast Bilinear"
#~ msgstr "Hurtig bilineær"
@@ -2530,17 +2530,17 @@ msgstr "videobilleder"
#~ msgid "could not find video decoder"
#~ msgstr "kunne ikke finde videoafkoder"
-#~ msgid "could not move audio MXF into the DCP (%1)"
-#~ msgstr "kunne ikke lægge lyd-MXF ind i DCP'en (%1)"
+#~ msgid "could not move audio MXF into the DCP ({})"
+#~ msgstr "kunne ikke lægge lyd-MXF ind i DCP'en ({})"
-#~ msgid "could not open audio file for reading (%1)"
+#~ msgid "could not open audio file for reading ({})"
#~ msgstr "kunne ikke åbne lydfil til læsning"
#~ msgid "could not read encoded data"
#~ msgstr "kunne ikke læse genererede data"
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "fejl ved async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "fejl ved async_accept ({})"
#~ msgid "hour"
#~ msgstr "time"
diff --git a/src/lib/po/de_DE.po b/src/lib/po/de_DE.po
index 572c450d8..696ea3ded 100644
--- a/src/lib/po/de_DE.po
+++ b/src/lib/po/de_DE.po
@@ -30,10 +30,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Beschnitten zu %1x%2"
+"Beschnitten zu {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -47,29 +47,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Mit Schwarz gefüllt auf Containerformat %1 (%2x%3)"
+"Mit Schwarz gefüllt auf Containerformat {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Skaliert auf %1x%2"
+"Skaliert auf {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " am %1"
+msgid " on {}"
+msgstr " am {}"
#: src/lib/config.cc:1276
#, fuzzy
@@ -101,42 +101,42 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [Ton]"
+msgid "{} [audio]"
+msgstr "{} [Ton]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [Film]"
+msgid "{} [movie]"
+msgstr "{} [Film]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [Bild]"
+msgid "{} [video]"
+msgstr "{} [Bild]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"DCP-o-matic konnte die Datei %1 nicht öffnen (%2). Vielleicht existiert sie "
+"DCP-o-matic konnte die Datei {} nicht öffnen ({}). Vielleicht existiert sie "
"nicht oder ist in einem unerwarteten Format."
#: src/lib/film.cc:1702
#, fuzzy
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
"Einige Einstellungen mussten im Hinblick auf die OV/VF Referenzen angepasst "
@@ -146,7 +146,7 @@ msgstr ""
#: src/lib/film.cc:1668
#, fuzzy
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
"Einige Einstellungen mussten im Hinblick auf die OV/VF Referenzen angepasst "
@@ -155,29 +155,29 @@ msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
msgstr ""
-"DCP-o-matic unterstützt das `%1' Filter nicht mehr, er wird deaktiviert."
+"DCP-o-matic unterstützt das `{}' Filter nicht mehr, er wird deaktiviert."
#: src/lib/config.cc:441 src/lib/config.cc:1251
#, fuzzy
-msgid "%1 notification"
+msgid "{} notification"
msgstr "Email Benachrichtigung"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -271,12 +271,12 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 fps"
+msgid "; {} fps"
+msgstr "; {} fps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 verbleibend; beendet um %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} verbleibend; beendet um {}{}"
#: src/lib/analytics.cc:58
#, fuzzy, c-format, c++-format
@@ -321,7 +321,7 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
@@ -361,8 +361,8 @@ msgstr ""
"DCP-Reiter den DCI Containertyp auf Flat (1.85:1) einstellen."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Beim Bearbeiten der Datei %1 trat ein Fehler auf."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Beim Bearbeiten der Datei {} trat ein Fehler auf."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -449,12 +449,12 @@ msgstr ""
"text\", \"Content→Open subtitles\" or \"Content→Closed captions\"."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Audioabtastrate wird von %1Hz auf %2Hz angepasst"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Audioabtastrate wird von {}Hz auf {}Hz angepasst"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Audioabtastrate wird auf %1Hz angepasst"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Audioabtastrate wird auf {}Hz angepasst"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -534,8 +534,8 @@ msgid "Cannot contain slashes"
msgstr "Darf keine Schrägstriche enthalten"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Kann dieses Pixelformat %1 während %2 nicht bearbeiten"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Kann dieses Pixelformat {} während {} nicht bearbeiten"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -790,8 +790,8 @@ msgstr ""
"verwenden."
#: src/lib/video_content.cc:454
-msgid "Content video is %1x%2"
-msgstr "Inhalt Video ist %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Inhalt Video ist {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -800,9 +800,9 @@ msgstr "DCP auf TMS übertragen"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "kopiere %1"
+"Copying {}\n"
+"to {}"
+msgstr "kopiere {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -811,54 +811,54 @@ msgstr "Kombiniere DCPs"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "DCP auf TMS übertragen"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Keine Verbindung zu Server %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Keine Verbindung zu Server {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Konnte entfernten Ordner %1 (%2) nicht erstellen."
+msgid "Could not create remote directory {} ({})"
+msgstr "Konnte entfernten Ordner {} ({}) nicht erstellen."
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Fehler beim Dekodieren der JPEG2000 Datei %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Fehler beim Dekodieren der JPEG2000 Datei {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "Fehler beim Dekodieren der Bild-Datei (%1)"
+msgid "Could not decode image ({})"
+msgstr "Fehler beim Dekodieren der Bild-Datei ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Heruntergeladene ZIP Datei kann nicht geöffnet werden."
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Konnte keine Encoding Server finden. Ist das Programm vielleicht zweimal "
"gestartet worden?"
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "%1 konnte nicht geöffnet werden."
+msgid "Could not open {}"
+msgstr "{} konnte nicht geöffnet werden."
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "%1 konnte nicht zum Senden geöffnet werden"
+msgid "Could not open {} to send"
+msgstr "{} konnte nicht zum Senden geöffnet werden"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "Heruntergeladene ZIP Datei kann nicht geöffnet werden."
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "Heruntergeladene ZIP Datei kann nicht geöffnet werden (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "Heruntergeladene ZIP Datei kann nicht geöffnet werden ({}:{}: {})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
@@ -866,20 +866,20 @@ msgstr "Datei konnte nicht zum Schreiben geöffnet werden."
#: src/lib/ffmpeg_file_encoder.cc:271
#, fuzzy
-msgid "Could not open output file %1 (%2)"
-msgstr "Datei %1 konnte nicht geschrieben werden (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "Datei {} konnte nicht geschrieben werden ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Untertitel konnten nicht gelesen werden (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Untertitel konnten nicht gelesen werden ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Fehler beim Start der Übertragung"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Entfernte Datei (%1) konnte nicht gespeichert werden"
+msgid "Could not write to remote file ({})"
+msgstr "Entfernte Datei ({}) konnte nicht gespeichert werden"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -963,7 +963,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Sehr geehrte Vorführer,\n"
"\n"
@@ -978,7 +978,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -987,24 +987,24 @@ msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 und CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Herunterladen fehlgeschlagen (%1 Fehler %2)"
+msgid "Download failed ({} error {})"
+msgstr "Herunterladen fehlgeschlagen ({} Fehler {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Jedes Bild der Quelle wird %1 mal im DCP wiederholt.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
+msgstr "Jedes Bild der Quelle wird {} mal im DCP wiederholt.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "Email KDMs"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "Versende KDM Email(s) für %1"
+msgid "Email KDMs for {}"
+msgstr "Versende KDM Email(s) für {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -1015,8 +1015,8 @@ msgid "Email problem report"
msgstr "Email Sendebericht"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Email Sendebericht für %1"
+msgid "Email problem report for {}"
+msgstr "Email Sendebericht für {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -1027,12 +1027,12 @@ msgid "Episode"
msgstr "Episode"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Fehler in SubRip Datei: Ist %1 , sollte %2 sein"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Fehler in SubRip Datei: Ist {} , sollte {} sein"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Fehler: (%1)"
+msgid "Error: {}"
+msgstr "Fehler: ({})"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1076,8 +1076,8 @@ msgid "FCP XML subtitles"
msgstr "DCP XML Untertitel"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Authentifizierung mit Server (%1) fehlgeschlagen"
+msgid "Failed to authenticate with server ({})"
+msgstr "Authentifizierung mit Server ({}) fehlgeschlagen"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1130,8 +1130,8 @@ msgid "Full"
msgstr "Voll"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Voll (0-%1)"
+msgid "Full (0-{})"
+msgstr "Voll (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1233,7 +1233,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "Ein unbekannter Fehler ist aufgetreten."
#: src/lib/ffmpeg_content.cc:614
@@ -1287,8 +1287,8 @@ msgstr "Begrenzt"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Begrenzt (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Begrenzt ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1337,8 +1337,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "Unterschiedliche Auflösungen im DCP"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Benötigte Einstellung %1 fehlt"
+msgid "Missing required setting {}"
+msgstr "Benötigte Einstellung {} fehlt"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1384,12 +1384,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (Dauer %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (Dauer {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (Dauer %1)"
+msgid "OK (ran for {})"
+msgstr "OK (Dauer {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1415,7 +1415,7 @@ msgstr "Untertitel (Text)"
#: src/lib/transcode_job.cc:116
#, fuzzy
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
"Einige in diesem Projekt verwendete Dateien wurden geändert, nachdem sie zu "
"diesem Projekt hinzugefügt wurden.\n"
@@ -1444,7 +1444,7 @@ msgstr "P3"
#, fuzzy
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Bitte benachrichtigen Sie uns über diesen Fehler unter ‚Hilfe -> "
"Problembericht senden…‘ oder per email an: carl@dcpomatic.com"
@@ -1462,8 +1462,8 @@ msgid "Prepared for video frame rate"
msgstr "Angelegt für Bildrate"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Programmfehler bei %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Programmfehler bei {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1584,14 +1584,14 @@ msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
#, fuzzy
-msgid "SSH error [%1]"
-msgstr "SSH Fehler (%1)"
+msgid "SSH error [{}]"
+msgstr "SSH Fehler ({})"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
#, fuzzy
-msgid "SSH error [%1] (%2)"
-msgstr "SSH Fehler (%1)"
+msgid "SSH error [{}] ({})"
+msgstr "SSH Fehler ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1622,8 +1622,8 @@ msgid "Size"
msgstr "Größe"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Einige Audioanteile werden in der Abtastrate geändert auf %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Einige Audioanteile werden in der Abtastrate geändert auf {}Hz"
#: src/lib/transcode_job.cc:121
#, fuzzy
@@ -1663,10 +1663,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Einige ihrer Closed Captions (CCAP) sind länger als %1 Zeile(n). Sie werden "
+"Einige ihrer Closed Captions (CCAP) sind länger als {} Zeile(n). Sie werden "
"abgeschnitten."
#: src/lib/hints.cc:727
@@ -1748,12 +1748,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "Die Zertifikatskette für die Signatur ist ungültig"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "Die Zertifikatskette für Signaturen ist ungültig (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "Die Zertifikatskette für Signaturen ist ungültig ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1762,7 +1762,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1771,11 +1771,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"Die Content-Datei %1 ist als 3D festgelegt, scheint aber keine 3D-Bilder zu "
+"Die Content-Datei {} ist als 3D festgelegt, scheint aber keine 3D-Bilder zu "
"haben. Bitte legen Sie 2D als Wert fest. Sie können immer noch ein 3D DCP "
"aus diesem Content erzeugen. Markieren Sie hierzu die Auswahl \"3D\" im DCP "
"Video-Tabreiter."
@@ -1789,20 +1789,20 @@ msgstr ""
"Speicher. Bitte Speicher freigeben und nochmal versuchen."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Die Spur %1 wurde %2 Millisekunden vorgezogen."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Die Spur {} wurde {} Millisekunden vorgezogen."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Die Spur %1 wurde %2 Millisekunden verzögert."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Die Spur {} wurde {} Millisekunden verzögert."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Die Spur %1 wurde um %2 Millisekunden gekürzt."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Die Spur {} wurde um {} Millisekunden gekürzt."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Die Spur %1 wurde um %2 Millisekunden verlängert."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Die Spur {} wurde um {} Millisekunden verlängert."
#: src/lib/hints.cc:268
msgid ""
@@ -1850,14 +1850,14 @@ msgstr ""
#: src/lib/util.cc:986
#, fuzzy
-msgid "This KDM was made for %1 but not for its leaf certificate."
+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:984
#, fuzzy
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
"KDM ist nicht für das Entschlüsselungszertifikat dieser DCP-o-matic "
"Installation ausgestellt worden."
@@ -1866,8 +1866,8 @@ msgstr ""
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Wahrscheinliche Ursache für diesen Fehler ist die Nutzung der 32-Bit-Version "
@@ -1880,7 +1880,7 @@ msgstr ""
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
"Wahrscheinliche Ursache für diesen Fehler ist die Nutzung der 32-Bit-Version "
"von DCP-o-matic. Bitte installieren Sie DCP-o-matic mit dem 64-Bit-"
@@ -1899,7 +1899,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Diese Projektdatei wurde mit einer neueren DCP-o-matic Version erstellt und "
@@ -1909,7 +1909,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1930,8 +1930,8 @@ msgid "Trailer"
msgstr "Trailer - TLR"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Wandle %1 um"
+msgid "Transcoding {}"
+msgstr "Wandle {} um"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1963,8 +1963,8 @@ msgid "Unknown error"
msgstr "Unbekannter Fehler"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Audio Sample Format (%1) nicht erkannt."
+msgid "Unrecognised audio sample format ({})"
+msgstr "Audio Sample Format ({}) nicht erkannt."
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -2011,7 +2011,7 @@ msgid "Vertical flip"
msgstr "Vertikal Spiegeln"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -2041,25 +2041,25 @@ msgstr "Und ein weiterer De-Interlacer ('YADIF')"
#: src/lib/hints.cc:209
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"Das DCP ist auf eine Bildrate von %1 fps eingestellt. Diese Bildrate wird "
+"Das DCP ist auf eine Bildrate von {} fps eingestellt. Diese Bildrate wird "
"nicht von allen Projektionssystemen unterstützt! Wählen Sie Bildraten "
"abweichend von 24fps oder 48fps(3D) nicht leichtfertig! Ändern Sie die "
-"Bildrate gegebenenfalls in %2 fps."
+"Bildrate gegebenenfalls in {} fps."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"Das DCP ist auf eine Bildrate von %1 fps eingestellt. Diese Bildrate wird "
+"Das DCP ist auf eine Bildrate von {} fps eingestellt. Diese Bildrate wird "
"nicht von allen Projektionssystemen unterstützt!Wählen Sie Bildraten "
"abweichend von 24fps oder 48fps(3D) nicht leichtfertig! Ändern Sie die "
-"Bildrate gegebenenfalls in %2 fps!"
+"Bildrate gegebenenfalls in {} fps!"
#: src/lib/hints.cc:203
msgid ""
@@ -2073,7 +2073,7 @@ msgstr ""
#: src/lib/hints.cc:126
#, fuzzy
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -2093,10 +2093,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Dieses Projekt verwendet %1 Inhalte, die vermutlich zusammen gehörende VOB "
+"Dieses Projekt verwendet {} Inhalte, die vermutlich zusammen gehörende VOB "
"Dateien von einer DVD sind. Sie sollten die Funktion (->Rechtsclick) "
"'Nahtlos verbinden' verwenden, um Sprünge in der Wiedergabe zu vermeiden."
@@ -2136,7 +2136,7 @@ msgstr "Sie müssen erst Inhalte hinzufügen bevor Sie ein DCP erstellen können
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -2146,7 +2146,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"Ihr DCP hat weniger als sechs Audiokanäle. Das kann auf einigen Projektoren "
@@ -2167,10 +2167,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Ihr Audiopegel in Kanal %1 ist hoch. Sie sollten die Pegel und Verstärkung "
+"Ihr Audiopegel in Kanal {} ist hoch. Sie sollten die Pegel und Verstärkung "
"prüfen und ggfs. anpassen. Peak/True Peak Werte nahe 0dB sind jedoch "
"technisch noch unbedenklich. Streben Sie als Orientierungswert für eine "
"angemessene Lautheit im Kino etwa -20 LUFS an. Dialogpassagen liegen typisch "
@@ -2205,11 +2205,11 @@ msgstr "[Standbild]"
msgid "[subtitles]"
msgstr "[Untertitel]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_reel%1"
+msgid "_reel{}"
+msgstr "_reel{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2228,8 +2228,8 @@ msgid "content type"
msgstr "Inhaltsbeschreibung"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "kopiere %1"
+msgid "copying {}"
+msgstr "kopiere {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
@@ -2237,52 +2237,52 @@ msgstr "Keine Spur-Information gefunden"
#: src/lib/reel_writer.cc:404
#, fuzzy
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "Audio konnte nicht in DCP (%1) kopiert werden"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "Audio konnte nicht in DCP ({}) kopiert werden"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "Audio konnte nicht in DCP (%1) kopiert werden"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "Audio konnte nicht in DCP ({}) kopiert werden"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for read (%2)"
-msgstr "Datei %1 konnte nicht zum Lesen geöffnet werden. (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "Datei {} konnte nicht zum Lesen geöffnet werden. ({})"
#: src/lib/exceptions.cc:38
#, fuzzy
-msgid "could not open file %1 for read/write (%2)"
-msgstr "Datei %1 konnte nicht zum Lesen geöffnet werden. (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "Datei {} konnte nicht zum Lesen geöffnet werden. ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for write (%2)"
-msgstr "Datei %1 konnte nicht zum Schreiben geöffnet werden. (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "Datei {} konnte nicht zum Schreiben geöffnet werden. ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "Datei %1 konnte nicht gelesen werden (%2)"
+msgid "could not read from file {} ({})"
+msgstr "Datei {} konnte nicht gelesen werden ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "Datei %1 konnte nicht geschrieben werden (%2)"
+msgid "could not write to file {} ({})"
+msgstr "Datei {} konnte nicht geschrieben werden ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "error during async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "error during async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "error during async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "error during async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "error during async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "error during async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "error during async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "error during async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2301,7 +2301,7 @@ msgstr "Dieses Projekt verwendet eine andere Bildrate als dieses DCP."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2484,20 +2484,20 @@ msgstr "Video Bilder"
#~ "Zu verbindende Inhalte müssen die gleichen Tonpegeleinstellungen "
#~ "verwenden."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "SCP Session (%1) konnte nicht gestartet werden"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "SCP Session ({}) konnte nicht gestartet werden"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "SCP Session konnte nicht gestartet werden (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "SCP Session konnte nicht gestartet werden ({})"
#~ msgid "could not start SSH session"
#~ msgstr "SSH Session konnte nicht gestartet werden"
#~ msgid ""
-#~ "Some of your closed captions have lines longer than %1 characters, so "
+#~ "Some of your closed captions have lines longer than {} characters, so "
#~ "they will probably be word-wrapped."
#~ msgstr ""
-#~ "Einige Zeilen ihrer Closed Captions (CCAP) sind länger als %1 Zeichen. "
+#~ "Einige Zeilen ihrer Closed Captions (CCAP) sind länger als {} Zeichen. "
#~ "Sie werden bei der Wiedergabe vermutlich in die nächste Zeile umgebrochen."
#~ msgid "No scale"
@@ -2565,8 +2565,8 @@ msgstr "Video Bilder"
#~ msgstr "Datei konnte nicht vollständig geschrieben werden."
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Fehler beim Dekodieren der Bild-Datei (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Fehler beim Dekodieren der Bild-Datei ({})"
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr ""
@@ -2574,7 +2574,7 @@ msgstr "Video Bilder"
#~ ">Zeitleiste)!"
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2583,7 +2583,7 @@ msgstr "Video Bilder"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "Das DCP %1 wird in diesem Projekt eingebunden. Dies ist so nicht "
+#~ "Das DCP {} wird in diesem Projekt eingebunden. Dies ist so nicht "
#~ "umsetzbar, weil die im Projekt eingestellen Aktgrößen ('reel size') nicht "
#~ "mit denen des eingebundenen DCPs übereinstimmen. Eine Überlagerung "
#~ "unterschiedlicher Aktgrößen ist nicht möglich.\n"
@@ -2627,11 +2627,11 @@ msgstr "Video Bilder"
#~ msgid "DBPS"
#~ msgstr "DBPS"
-#~ msgid "could not create file %1"
-#~ msgstr "Datei %1 konnte nicht erstellt werden."
+#~ msgid "could not create file {}"
+#~ msgstr "Datei {} konnte nicht erstellt werden."
-#~ msgid "could not open file %1"
-#~ msgstr "Datei %1 konnte nicht geöffnet werden."
+#~ msgid "could not open file {}"
+#~ msgstr "Datei {} konnte nicht geöffnet werden."
#~ msgid "Computing audio digest"
#~ msgstr "Tonübersicht berechnen"
@@ -2673,8 +2673,8 @@ msgstr "Video Bilder"
#~ msgid "could not run sample-rate converter"
#~ msgstr "Sample-Rate konnte nicht gewandelt werden"
-#~ msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
-#~ msgstr "Sample-Rate für %1 samples konnte nicht gewandelt werden (%2)(%3)"
+#~ msgid "could not run sample-rate converter for {} samples ({}) ({})"
+#~ msgstr "Sample-Rate für {} samples konnte nicht gewandelt werden ({})({})"
#~ msgid "1.375"
#~ msgstr "1.375"
@@ -2710,20 +2710,20 @@ msgstr "Video Bilder"
#~ msgid "could not read encoded data"
#~ msgstr "Kodierte Daten nicht gefunden."
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "error during async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "error during async_accept ({})"
-#~ msgid "%1 channels, %2kHz, %3 samples"
-#~ msgstr "%1 Kanäle, %2kHz, %3 samples"
+#~ msgid "{} channels, {}kHz, {} samples"
+#~ msgstr "{} Kanäle, {}kHz, {} samples"
-#~ msgid "%1 frames; %2 frames per second"
-#~ msgstr "%1 Bilder; %2 Bilder pro Sekunde"
+#~ msgid "{} frames; {} frames per second"
+#~ msgstr "{} Bilder; {} Bilder pro Sekunde"
-#~ msgid "%1x%2 pixels (%3:1)"
-#~ msgstr "%1x%2 pixel (%3:1)"
+#~ msgid "{}x{} pixels ({}:1)"
+#~ msgstr "{}x{} pixel ({}:1)"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "Key %1 in Key-value set fehlt"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "Key {} in Key-value set fehlt"
#~ msgid "sRGB non-linearised"
#~ msgstr "sRGB nicht linearisiert"
@@ -2814,8 +2814,8 @@ msgstr "Video Bilder"
#~ msgid "0%"
#~ msgstr "0%"
-#~ msgid "first frame in moving image directory is number %1"
-#~ msgstr "Erstes Bild im Bilderordner ist Nummer %1"
+#~ msgid "first frame in moving image directory is number {}"
+#~ msgstr "Erstes Bild im Bilderordner ist Nummer {}"
-#~ msgid "there are %1 images in the directory but the last one is number %2"
-#~ msgstr "Im Ordner sind %1 Bilder aber die letzte Nummer ist %2"
+#~ msgid "there are {} images in the directory but the last one is number {}"
+#~ msgstr "Im Ordner sind {} Bilder aber die letzte Nummer ist {}"
diff --git a/src/lib/po/es_ES.po b/src/lib/po/es_ES.po
index 08cb188e3..dae7a2ec4 100644
--- a/src/lib/po/es_ES.po
+++ b/src/lib/po/es_ES.po
@@ -29,10 +29,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Recortado a %1x%2"
+"Recortado a {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -46,29 +46,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Completado con negro para cubrir el contenedor %1 (%2x%3)"
+"Completado con negro para cubrir el contenedor {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Redimensionado a %1x%2"
+"Redimensionado a {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " el %1"
+msgid " on {}"
+msgstr " el {}"
#: src/lib/config.cc:1276
#, fuzzy
@@ -99,42 +99,42 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [audio]"
+msgid "{} [audio]"
+msgstr "{} [audio]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [película]"
+msgid "{} [movie]"
+msgstr "{} [película]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [película]"
+msgid "{} [video]"
+msgstr "{} [película]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"DCP-o-matic no pudo abrir el fichero %1 (%2). Quizás no existe o está en un "
+"DCP-o-matic no pudo abrir el fichero {} ({}). Quizás no existe o está en un "
"formato inesperado."
#: src/lib/film.cc:1702
#, fuzzy
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} 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-o-matic tuvo que cambiar las opciones para hacer referencia a DCPs como "
@@ -143,7 +143,7 @@ msgstr ""
#: src/lib/film.cc:1668
#, fuzzy
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
"DCP-o-matic tuvo que cambiar las opciones para que la velocidad de la "
@@ -151,28 +151,28 @@ msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "DCP-o-matic ya no ofrece el filtro `%1', así que ha sido desactivado."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "DCP-o-matic ya no ofrece el filtro `{}', así que ha sido desactivado."
#: src/lib/config.cc:441 src/lib/config.cc:1251
#, fuzzy
-msgid "%1 notification"
+msgid "{} notification"
msgstr "Notificación por email"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -265,12 +265,12 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 fps"
+msgid "; {} fps"
+msgstr "; {} fps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; faltan %1 ; terminará a las %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; faltan {} ; terminará a las {}{}"
#: src/lib/analytics.cc:58
#, fuzzy, c-format, c++-format
@@ -314,11 +314,11 @@ msgstr ""
#, fuzzy
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
"Un subtítulo, normal o cerrado, en este proyecto está marcado con la lengua "
-"‘%1’, que DCP-o-matic no reconoce. La lengua del fichero se ha borrado."
+"‘{}’, que DCP-o-matic no reconoce. La lengua del fichero se ha borrado."
#: src/lib/ffmpeg_content.cc:639
msgid "ARIB STD-B67 ('Hybrid log-gamma')"
@@ -350,8 +350,8 @@ msgstr ""
"seleccionar el contenedor DCP en el mismo ratio de aspecto que el contenido."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Ha ocurrido un error con el fichero %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Ha ocurrido un error con el fichero {}."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -432,12 +432,12 @@ msgstr ""
"“Contenido→Subtítulos” o “Contenido→Subtítulos cerrados”."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "EL audio será remuestreado de %1Hz a %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "EL audio será remuestreado de {}Hz a {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "EL audio será remuestreado a %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "EL audio será remuestreado a {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -517,8 +517,8 @@ msgid "Cannot contain slashes"
msgstr "No puede contener barras"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "No se puede usar el formato de pixel %1 para %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "No se puede usar el formato de pixel {} para {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -751,8 +751,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "El video es %1x%2"
+msgid "Content video is {}x{}"
+msgstr "El video es {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -761,9 +761,9 @@ msgstr "Copiar DCP al TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "copiando %1"
+"Copying {}\n"
+"to {}"
+msgstr "copiando {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -772,74 +772,74 @@ msgstr "Combinar DCPs"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Copiar DCP al TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "No se pudo conectar al servidor %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "No se pudo conectar al servidor {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "No se pudo crear la carpeta remota %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "No se pudo crear la carpeta remota {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "No se pudo descodificar el fichero JPEG2000 %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "No se pudo descodificar el fichero JPEG2000 {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "No se pudo descodificar la imagen (%1)"
+msgid "Could not decode image ({})"
+msgstr "No se pudo descodificar la imagen ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "No se puedo abrir el fichero ZIP descargado"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"No se pueden buscar servidores de codificación externos. Quizás haya otro "
"DCP-o-matic ejecutándose."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "No se pudo abrir %1"
+msgid "Could not open {}"
+msgstr "No se pudo abrir {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "No se pudo abrir %1 para enviar"
+msgid "Could not open {} to send"
+msgstr "No se pudo abrir {} para enviar"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "No se puedo abrir el fichero ZIP descargado"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "No se puedo abrir el fichero ZIP descargado (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "No se puedo abrir el fichero ZIP descargado ({}:{}: {})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
msgstr "No se pudo abrir el fichero para escritura"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
-msgstr "No se pudo abrir el fichero de salida %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "No se pudo abrir el fichero de salida {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "No se pudieron leer los subtítulos (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "No se pudieron leer los subtítulos ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "No se pudo iniciar la transferencia"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "No se pudo escribir el fichero remoto (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "No se pudo escribir el fichero remoto ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -922,7 +922,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Estimado proyecionista\n"
"\n"
@@ -937,7 +937,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -945,24 +945,24 @@ msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 o CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Descarga fallida (%1 error %2)"
+msgid "Download failed ({} error {})"
+msgstr "Descarga fallida ({} error {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Cada imagen será repetida otras %1 veces en el DCP.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
+msgstr "Cada imagen será repetida otras {} veces en el DCP.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "Enviar las KDM"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "Enviar por email las KDM para %2"
+msgid "Email KDMs for {}"
+msgstr "Enviar por email las KDM para {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -973,8 +973,8 @@ msgid "Email problem report"
msgstr "Enviar por correo el problema"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Enviar por correo el problema para %1"
+msgid "Email problem report for {}"
+msgstr "Enviar por correo el problema para {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -985,12 +985,12 @@ msgid "Episode"
msgstr "Episodio"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Error en el fichero de subtítulos: encontrado %1 cuando se esperaba %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Error en el fichero de subtítulos: encontrado {} cuando se esperaba {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Error: %1"
+msgid "Error: {}"
+msgstr "Error: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1031,8 +1031,8 @@ msgid "FCP XML subtitles"
msgstr "Subtítulos DCP XML"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Fallo al identificarse con el servidor (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Fallo al identificarse con el servidor ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1085,8 +1085,8 @@ msgid "Full"
msgstr "Completo"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Completo (0-%1)"
+msgid "Full (0-{})"
+msgstr "Completo (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1184,7 +1184,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "No se sabe lo que causó este error."
#: src/lib/ffmpeg_content.cc:614
@@ -1238,8 +1238,8 @@ msgstr "Limitado"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Limitado (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Limitado ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1288,8 +1288,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "El tamaño de los vídeos no coincide en el DCP"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Falta una configuración obligatoria %1"
+msgid "Missing required setting {}"
+msgstr "Falta una configuración obligatoria {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1335,12 +1335,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (ejecución %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (ejecución {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (ejecución %1)"
+msgid "OK (ran for {})"
+msgstr "OK (ejecución {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1363,7 +1363,7 @@ msgstr "Subtítulos"
#: src/lib/transcode_job.cc:116
#, fuzzy
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
"Algunos ficheros han sido modificados desde que se añadieron al proyecto. "
"Abre el proyecto en DCP-o-matic, comprueba las opciones, guárdalo y prueba "
@@ -1390,7 +1390,7 @@ msgstr "P3"
#, fuzzy
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Por favor, informe de este problema usando Ayuda -> Informar de un problema "
"o vía email a carl@dcpomatic.com"
@@ -1408,8 +1408,8 @@ msgid "Prepared for video frame rate"
msgstr "Preparado para velocidad de vídeo"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Error de programación en %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Error de programación en {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1529,13 +1529,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "Error SSH [%1]"
+msgid "SSH error [{}]"
+msgstr "Error SSH [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "Error SSH [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "Error SSH [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1562,8 +1562,8 @@ msgid "Size"
msgstr "Tamaño"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "El audio será remuestreado a %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "El audio será remuestreado a {}Hz"
#: src/lib/transcode_job.cc:121
#, fuzzy
@@ -1597,10 +1597,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Algunos d los subtítulos cerrados tienen más de %1 líneas, serán cortados."
+"Algunos d los subtítulos cerrados tienen más de {} líneas, serán cortados."
#: src/lib/hints.cc:727
msgid ""
@@ -1681,12 +1681,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "La cadena de certificados para firmar no es válida"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "La cadena de certificados para firmar no es válida (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "La cadena de certificados para firmar no es válida ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1695,7 +1695,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1704,11 +1704,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"El fichero de contenido %1 está identificado como 3D pero no parece contener "
+"El fichero de contenido {} está identificado como 3D pero no parece contener "
"imágenes en 3D. Por favor identifícalo como 2D. Puedes crear el DCP en 3D "
"a partir de este contenido, eligiendo la opción 3D en la pestaña DCP."
@@ -1721,20 +1721,20 @@ msgstr ""
"espacio en el disco y pruebe de nuevo."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "El fichero %1 ha sido desplazado %2 milisegundos antes."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "El fichero {} ha sido desplazado {} milisegundos antes."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "El fichero %1 ha sido desplazado %2 milisegundos después."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "El fichero {} ha sido desplazado {} milisegundos después."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "El fichero %1 ha sido recortado en %2 milisegundos."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "El fichero {} ha sido recortado en {} milisegundos."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "El fichero %1 ha sido alargado con %2 milisegundos."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "El fichero {} ha sido alargado con {} milisegundos."
#: src/lib/hints.cc:268
msgid ""
@@ -1781,12 +1781,12 @@ msgstr ""
#: src/lib/util.cc:986
#, fuzzy
-msgid "This KDM was made for %1 but not for its leaf certificate."
+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:984
#, fuzzy
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
"Este KDM no se hizo para el certificado de desencriptado de DCP-o-matic."
@@ -1794,8 +1794,8 @@ msgstr ""
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Este error ha posiblemente ocurrido porque estás usando una versión 32 bits "
@@ -1807,7 +1807,7 @@ msgstr ""
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
"Este error ha posiblemente ocurrido porque estás usando una versión 32 bits "
"de DCP-o-matic. Por favor reinstala la versión 64 bits de DCP-o-matic y "
@@ -1824,7 +1824,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Esta película se creó con una versión más reciente de DCP-o-matic, y "
@@ -1834,7 +1834,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1855,8 +1855,8 @@ msgid "Trailer"
msgstr "Trailer"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Transcodificando %1"
+msgid "Transcoding {}"
+msgstr "Transcodificando {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1887,8 +1887,8 @@ msgid "Unknown error"
msgstr "Error desconocido"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Formato de audio desconocido (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Formato de audio desconocido ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1935,7 +1935,7 @@ msgid "Vertical flip"
msgstr "Volteo vertical"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1965,22 +1965,22 @@ msgstr "Yet Another Deinterlacing Filter"
#: src/lib/hints.cc:209
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"Intentas hacer un DCP a una velocidad de %1 ips. Esta velocidad no está "
+"Intentas hacer un DCP a una velocidad de {} ips. Esta velocidad no está "
"soportada por todos los proyectores. Te recomendamos cambiar la velocidad a "
-"%2 ips."
+"{} ips."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"Intentas hacer un DCP a una velocidad de %1 ips. Esta velocidad no está "
-"soportada por todos los proyectores. Considera cambiar la velocidad a %2 "
+"Intentas hacer un DCP a una velocidad de {} ips. Esta velocidad no está "
+"soportada por todos los proyectores. Considera cambiar la velocidad a {} "
"ips."
#: src/lib/hints.cc:203
@@ -1995,7 +1995,7 @@ msgstr ""
#: src/lib/hints.cc:126
#, fuzzy
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -2013,10 +2013,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Hay %1 ficheros que parecen VOBs de un DVD. Deberías unirlos para asegurarte "
+"Hay {} ficheros que parecen VOBs de un DVD. Deberías unirlos para asegurarte "
"transiciones suaves."
#: src/lib/film.cc:1665
@@ -2049,7 +2049,7 @@ msgstr "Tiene que añadir contenido al DCP antes de crearlo"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -2059,7 +2059,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"El DCP tiene menos de 6 pistas de audio. Esto puede causar problemas con "
@@ -2078,10 +2078,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"El nivel de sonido es muy alto (en %1). Deberías reducir la ganancia del "
+"El nivel de sonido es muy alto (en {}). Deberías reducir la ganancia del "
"audio."
#: src/lib/playlist.cc:236
@@ -2108,11 +2108,11 @@ msgstr "[imagen fija]"
msgid "[subtitles]"
msgstr "[subtítulos]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_bobina%1"
+msgid "_reel{}"
+msgstr "_bobina{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2131,57 +2131,57 @@ msgid "content type"
msgstr "tipo de contenido"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "copiando %1"
+msgid "copying {}"
+msgstr "copiando {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "no se pudo encontrar información del flujo"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "no se puede mover el material Atmos en el DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "no se puede mover el material Atmos en el DCP ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "no se puede mover el audio en el DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "no se puede mover el audio en el DCP ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "no se pudo abrir el fichero %1 para lectura (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "no se pudo abrir el fichero {} para lectura ({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "no se pudo abrir el fichero %1 para lectura/escritura (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "no se pudo abrir el fichero {} para lectura/escritura ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "no se pudo abrir el fichero %1 para escritura (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "no se pudo abrir el fichero {} para escritura ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "no se pudo leer del fichero %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "no se pudo leer del fichero {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "no se pudo escribir en el fichero %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "no se pudo escribir en el fichero {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "error durante async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "error durante async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "error durante async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "error durante async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "error durante async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "error durante async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "error durante async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "error durante async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2200,7 +2200,7 @@ msgstr "tiene una velocidad diferente a la película."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2359,11 +2359,11 @@ msgstr "fotogramas"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "Para unir contenido debe tener la misma ganancia de audio."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "No se pudo iniciar la sesión SCP (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "No se pudo iniciar la sesión SCP ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "no se pudo abrir la sesión SCP (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "no se pudo abrir la sesión SCP ({})"
#~ msgid "could not start SSH session"
#~ msgstr "no se pudo abrir la sesión SSH"
@@ -2418,18 +2418,18 @@ msgstr "fotogramas"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "No se pudo escribir el fichero remoto (%1)"
+#~ msgstr "No se pudo escribir el fichero remoto ({})"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "No se pudo descodificar el fichero de imagen (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "No se pudo descodificar el fichero de imagen ({})"
#, fuzzy
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "Hay otros subtítulos superpuestos a este DCP; elimínelos."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2438,7 +2438,7 @@ msgstr "fotogramas"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "El DCP %1 se utilizaba como referencia para esta película. Esto ya no es "
+#~ "El DCP {} se utilizaba como referencia para esta película. Esto ya no es "
#~ "posible porque el tamaño de las bobinas no coincide con los del DCP "
#~ "referenciado.\n"
#~ "\n"
@@ -2460,10 +2460,10 @@ msgstr "fotogramas"
#~ msgstr "4:3"
#~ msgid ""
-#~ "Your DCP frame rate (%1 fps) may cause problems in a few (mostly older) "
+#~ "Your DCP frame rate ({} fps) may cause problems in a few (mostly older) "
#~ "projectors. Use 24 or 48 frames per second to be on the safe side."
#~ msgstr ""
-#~ "La velocidad de tu DCP (%1 fps) puede causar problemas en algunos "
+#~ "La velocidad de tu DCP ({} fps) puede causar problemas en algunos "
#~ "proyectores (sobre todo antiguos). Utiliza 24 o 48 imágenes por segundo "
#~ "para asegurarte."
@@ -2486,11 +2486,11 @@ msgstr "fotogramas"
#~ msgid "DBPS"
#~ msgstr "DBPS"
-#~ msgid "could not create file %1"
-#~ msgstr "No se pudo crear el fichero (%1)"
+#~ msgid "could not create file {}"
+#~ msgstr "No se pudo crear el fichero ({})"
-#~ msgid "could not open file %1"
-#~ msgstr "no se pudo abrir el fichero %1"
+#~ msgid "could not open file {}"
+#~ msgstr "no se pudo abrir el fichero {}"
#~ msgid "Computing audio digest"
#~ msgstr "Calculando la firma resumen del audio"
@@ -2571,20 +2571,20 @@ msgstr "fotogramas"
#~ msgid "could not read encoded data"
#~ msgstr "no se pudo leer la información codificada"
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "error durante async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "error durante async_accept ({})"
-#~ msgid "%1 channels, %2kHz, %3 samples"
-#~ msgstr "%1 canales, %2kHz, %3 muestras"
+#~ msgid "{} channels, {}kHz, {} samples"
+#~ msgstr "{} canales, {}kHz, {} muestras"
-#~ msgid "%1 frames; %2 frames per second"
-#~ msgstr "%1 imágenes; %2 imágenes per second"
+#~ msgid "{} frames; {} frames per second"
+#~ msgstr "{} imágenes; {} imágenes per second"
-#~ msgid "%1x%2 pixels (%3:1)"
-#~ msgstr "%1x%2 pixels (%3:1)"
+#~ msgid "{}x{} pixels ({}:1)"
+#~ msgstr "{}x{} pixels ({}:1)"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "falta la clave %1 en el par clave-valor"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "falta la clave {} en el par clave-valor"
#~ msgid "sRGB non-linearised"
#~ msgstr "sRGB no-lineal"
@@ -2674,16 +2674,16 @@ msgstr "fotogramas"
#~ msgid "0%"
#~ msgstr "0%"
-#~ msgid "first frame in moving image directory is number %1"
+#~ msgid "first frame in moving image directory is number {}"
#~ msgstr ""
-#~ "primera imagen en el directorio de imagen en movimiento es la número %1"
+#~ "primera imagen en el directorio de imagen en movimiento es la número {}"
-#~ msgid "there are %1 images in the directory but the last one is number %2"
-#~ msgstr "hay %1 imágenes en el directorio, la última es la %2"
+#~ msgid "there are {} images in the directory but the last one is number {}"
+#~ msgstr "hay {} imágenes en el directorio, la última es la {}"
-#~ msgid "only %1 file(s) found in moving image directory"
+#~ msgid "only {} file(s) found in moving image directory"
#~ msgstr ""
-#~ "solo el fichero(s) %1 se encuentra en el directorio de imagen en "
+#~ "solo el fichero(s) {} se encuentra en el directorio de imagen en "
#~ "movimiento"
#, fuzzy
@@ -2697,7 +2697,7 @@ msgstr "fotogramas"
#~ msgstr "firmando"
#, fuzzy
-#~ msgid "Sound file: %1"
+#~ msgid "Sound file: {}"
#~ msgstr "no se pudo abrir el fichero para lectura"
#~ msgid "1.66 within Flat"
@@ -2713,15 +2713,15 @@ msgstr "fotogramas"
#~ msgid "4:3 within Flat"
#~ msgstr "4:3 en Flat"
-#~ msgid "A/B transcode %1"
-#~ msgstr "Codificación A/B %1"
+#~ msgid "A/B transcode {}"
+#~ msgstr "Codificación A/B {}"
#~ msgid "Cannot resample audio as libswresample is not present"
#~ msgstr ""
#~ "No se puede redimensionar el sonido porque no se encuentra libswresample"
-#~ msgid "Examine content of %1"
-#~ msgstr "Examinar contenido de %1"
+#~ msgid "Examine content of {}"
+#~ msgstr "Examinar contenido de {}"
#~ msgid "Scope without stretch"
#~ msgstr "Scope sin deformación"
@@ -2783,5 +2783,5 @@ msgstr "fotogramas"
#~ msgid "Source scaled to fit Scope preserving its aspect ratio"
#~ msgstr "Fuente escalada a Scope conservando el ratio de aspecto"
-#~ msgid "adding to queue of %1"
-#~ msgstr "añadiendo a la cola de %1"
+#~ msgid "adding to queue of {}"
+#~ msgstr "añadiendo a la cola de {}"
diff --git a/src/lib/po/fa_IR.po b/src/lib/po/fa_IR.po
index 404ad49a5..4d5a5be07 100644
--- a/src/lib/po/fa_IR.po
+++ b/src/lib/po/fa_IR.po
@@ -30,10 +30,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"بریده شد به %1x%2"
+"بریده شد به {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -47,29 +47,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"با نوار مشکی تا هم اندازه ظرف محتوا پوشیده شد %1 (%2x%3)"
+"با نوار مشکی تا هم اندازه ظرف محتوا پوشیده شد {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"تغییر مقیاس به %1x%2"
+"تغییر مقیاس به {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " روی %1"
+msgid " on {}"
+msgstr " روی {}"
#: src/lib/config.cc:1276
msgid ""
@@ -100,81 +100,81 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$نام_عملیات: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [دالبی اتمز]"
+msgid "{} [Atmos]"
+msgstr "{} [دالبی اتمز]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [دی سی پی]"
+msgid "{} [DCP]"
+msgstr "{} [دی سی پی]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [صدا]"
+msgid "{} [audio]"
+msgstr "{} [صدا]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [فیلم]"
+msgid "{} [movie]"
+msgstr "{} [فیلم]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [ویدیو]"
+msgid "{} [video]"
+msgstr "{} [ویدیو]"
#: src/lib/job.cc:181 src/lib/job.cc:196
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"%1 نمیتوان فایل %2(%3) را باز کرد. ممکن است فایل یا وجود نداشته باشد و یا "
+"{} نمیتوان فایل {}({}) را باز کرد. ممکن است فایل یا وجود نداشته باشد و یا "
"فرمت مناسب نداشته باشد."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
-"%1 مجبور شد برای ارجاع به یک دی سی پی به عنوان نسخه اصلی (OV) تنظیمات شما را "
+"{} مجبور شد برای ارجاع به یک دی سی پی به عنوان نسخه اصلی (OV) تنظیمات شما را "
"تغییر دهد. لطفا آنها را بررسی کنید تا مطمئن شوید همان چیزی است که شما می "
"خواهید."
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
-"%1 مجبور شد تنظیمات شما را تغییر دهد تا نرخ فریم فیلم برابر محتوای دالبی "
+"{} مجبور شد تنظیمات شما را تغییر دهد تا نرخ فریم فیلم برابر محتوای دالبی "
"اتمز شما شود."
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
-"%1 مجبور به حذف یکی از مرزهای تعیین شده شما برای ریل گردید به دلیل اینکه "
+"{} مجبور به حذف یکی از مرزهای تعیین شده شما برای ریل گردید به دلیل اینکه "
"دیگر در داخل محدوده فیلم قرار نمی گرفت."
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
-"%1 مجبور به حذف تعدادی از مرزهای تعیین شده شما برای ریل گردید به دلیل اینکه "
+"{} مجبور به حذف تعدادی از مرزهای تعیین شده شما برای ریل گردید به دلیل اینکه "
"دیگر در داخل محدوده فیلم قرار نمی گرفتند."
#: src/lib/ffmpeg_content.cc:115
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "%1 دیگر از فیلتر'2%' پشتیبانی نمیکند، بنابراین خاموش شده است."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "{} دیگر از فیلتر'2%' پشتیبانی نمیکند، بنابراین خاموش شده است."
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
-msgstr "%1 یادداشت"
+msgid "{} notification"
+msgstr "{} یادداشت"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
-msgstr "%1 ; %2/%3 فریمها"
+msgid "{}; {}/{} frames"
+msgstr "{} ; {}/{} فریمها"
#: src/lib/video_content.cc:463
#, c-format
@@ -265,12 +265,12 @@ msgstr "9"
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 فریم بر ثانیه"
+msgid "; {} fps"
+msgstr "; {} فریم بر ثانیه"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 باقیمانده ; پایان در %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} باقیمانده ; پایان در {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -315,7 +315,7 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
"یک زیرنویس یا فایل زیرنویس با زبان '1%' در این پروژه مشخص شده است، که 2% "
@@ -352,8 +352,8 @@ msgstr ""
"خود را مشابه با نسبت ابعاد محتوا تغییر دهید."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "بروز خطا هنگام دسترسی به فایل %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "بروز خطا هنگام دسترسی به فایل {}."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -431,12 +431,12 @@ msgstr ""
"زیرنویس\" زبان زیرنویس را تعیین کنید."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "صدا از %1هرتز به %2هرتز نمونه برداری مجدد میشود"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "صدا از {}هرتز به {}هرتز نمونه برداری مجدد میشود"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "صدا با %1هرتز نمونه برداری مجدد میشود"
+msgid "Audio will be resampled to {}Hz"
+msgstr "صدا با {}هرتز نمونه برداری مجدد میشود"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -516,8 +516,8 @@ msgid "Cannot contain slashes"
msgstr "نمیتواند شامل اسلش باشد"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "نمیتوان فرمت پیکسل %1 را همزمان با %2 کار کرد"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "نمیتوان فرمت پیکسل {} را همزمان با {} کار کرد"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -740,8 +740,8 @@ msgid "Content to be joined must use the same text language."
msgstr "محتوایی که الحاق میشود باید زبان نوشتاری مشابه داشته باشد."
#: src/lib/video_content.cc:454
-msgid "Content video is %1x%2"
-msgstr "محتوای ویدیو %1x%2 است"
+msgid "Content video is {}x{}"
+msgstr "محتوای ویدیو {}x{} است"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -750,9 +750,9 @@ msgstr "کپی دی سی پی به تی ام اس"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "در حال کپی%1"
+"Copying {}\n"
+"to {}"
+msgstr "در حال کپی{}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -761,72 +761,72 @@ msgstr "ترکیب دی سی پی ها"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "کپی دی سی پی به تی ام اس"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "ارتباط با سرور ممکن نیست %1(%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "ارتباط با سرور ممکن نیست {}({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "دایرکتوری راه دور ساخته نشد %1(%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "دایرکتوری راه دور ساخته نشد {}({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "فایل JPEG2000 رمزگشایی نشد %1(%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "فایل JPEG2000 رمزگشایی نشد {}({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "تصویر رمزگشایی نشد (%1)"
+msgid "Could not decode image ({})"
+msgstr "تصویر رمزگشایی نشد ({})"
#: src/lib/unzipper.cc:76
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "فایل 1% در فایل فشرده پیدا نشد"
#: src/lib/encode_server_finder.cc:197
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"نمیتوان به سرورهای رمزگذاری راه دور گوش داد. ممکن است نسخه دیگری از 1% در "
"حال اجرا باشد."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "باز نشد %1"
+msgid "Could not open {}"
+msgstr "باز نشد {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "برای ارسال باز نشد %1"
+msgid "Could not open {} to send"
+msgstr "برای ارسال باز نشد {}"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "فایل فشرده دانلود شده باز نشد"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "فایل فشرده دانلود شده باز نشد (%1:%2:%3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "فایل فشرده دانلود شده باز نشد ({}:{}:{})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
msgstr "فایل برای نوشتن باز نشد"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
-msgstr "فایل خروجی باز نشد %1(%2)"
+msgid "Could not open output file {} ({})"
+msgstr "فایل خروجی باز نشد {}({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "نمیتوان زیرنویس ها را خواند(%1/%2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "نمیتوان زیرنویس ها را خواند({}/{})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "نمی توان انتقال را شروع کرد"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "نمیتوان در فایل راه دور نوشت(%1)"
+msgid "Could not write to remote file ({})"
+msgstr "نمیتوان در فایل راه دور نوشت({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -914,7 +914,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"سینمادار عزیز\n"
"\n"
@@ -926,10 +926,10 @@ msgstr ""
"اعتبار کلید از$START_TIMEتا $END_TIMEاست .\n"
"\n"
"با احترام,\n"
-"%1"
+"{}"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr "هنگام نوشتن 1% دیسک پر شد"
#: src/lib/dolby_cp750.cc:31
@@ -937,24 +937,24 @@ msgid "Dolby CP650 or CP750"
msgstr "دالبی CP650 یا CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "دانلود با خطا مواجه شد(%1 خطا%2)"
+msgid "Download failed ({} error {})"
+msgstr "دانلود با خطا مواجه شد({} خطا{})"
#: src/lib/frame_rate_change.cc:94
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "هر فریم محتوا در دی سی پی دوبرابر خواهد شد.\n"
#: src/lib/frame_rate_change.cc:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "هر فریم محتوا %1بار در دی سی پی تکرار خواهد شد.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
+msgstr "هر فریم محتوا {}بار در دی سی پی تکرار خواهد شد.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "ایمیل کلیدها"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "ایمیل کلیدها برای %1"
+msgid "Email KDMs for {}"
+msgstr "ایمیل کلیدها برای {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -965,8 +965,8 @@ msgid "Email problem report"
msgstr "گزارش مشکل ایمیل"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "گزارش مشکل ایمیل برای %1"
+msgid "Email problem report for {}"
+msgstr "گزارش مشکل ایمیل برای {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -977,12 +977,12 @@ msgid "Episode"
msgstr "قسمت"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
msgstr "خطا در فایل زیرنویس: % 1 دیدم در حالی که انتظار % 2 را داشتم"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "خطا: %1"
+msgid "Error: {}"
+msgstr "خطا: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1022,8 +1022,8 @@ msgid "FCP XML subtitles"
msgstr "زیرنویس های XML دی سی پی"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "احراز هویت با سرور ناموفق(%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "احراز هویت با سرور ناموفق({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1075,8 +1075,8 @@ msgid "Full"
msgstr "کامل"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "کامل(0-%1)"
+msgid "Full (0-{})"
+msgstr "کامل(0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1174,7 +1174,7 @@ msgstr ""
"دهید تا مطمئن شوید که دیده میشود."
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "معلوم نیست چه چیزی باعث این خطا شده است. 1%"
#: src/lib/ffmpeg_content.cc:614
@@ -1227,8 +1227,8 @@ msgid "Limited"
msgstr "محدود شد"
#: src/lib/ffmpeg_content.cc:557
-msgid "Limited / video (%1-%2)"
-msgstr "محدود شد/ویدیو (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "محدود شد/ویدیو ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1276,8 +1276,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "اندازه های ویدیو در دی سی پی مطابقت ندارند"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "تنظیم مورد نیاز وجود ندارد%1"
+msgid "Missing required setting {}"
+msgstr "تنظیم مورد نیاز وجود ندارد{}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1320,12 +1320,12 @@ msgid "OK"
msgstr "مورد تایید"
#: src/lib/job.cc:622
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "مورد تایید (اجرا شد %1 از %2 تا %3)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "مورد تایید (اجرا شد {} از {} تا {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "مورد تایید (اجرا شد %1)"
+msgid "OK (ran for {})"
+msgstr "مورد تایید (اجرا شد {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1349,7 +1349,7 @@ msgstr "زیرنویس شروع فیلم"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
"بازکردن پروژه در 1%، بررسی تنظیمات، سپس قبل از تلاش مجدد یک بار پروژه را "
"ذخیره کنید."
@@ -1374,7 +1374,7 @@ msgstr "پی3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"لطفا این مشکل را از طریق منوی \"راهنما --> گزارش یک مشکل\" و یا ارسال ایمیل "
"به 1% گزارش دهید"
@@ -1392,8 +1392,8 @@ msgid "Prepared for video frame rate"
msgstr "برای نرخ فریم ویدیو آماده است"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "خطای برنامه نویسی در%1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "خطای برنامه نویسی در{}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1512,13 +1512,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "خطای اس اس اچ [%1]"
+msgid "SSH error [{}]"
+msgstr "خطای اس اس اچ [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "خطای اس اس اچ [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "خطای اس اس اچ [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1545,8 +1545,8 @@ msgid "Size"
msgstr "اندازه"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "برخی صداها با %1هرتز مجدد نمونه برداری میشوند"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "برخی صداها با {}هرتز مجدد نمونه برداری میشوند"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1576,7 +1576,7 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
"برخی از زیرنویس‌های شما بیش از % 1 خطوط را شامل می‌شوند، بنابراین کوتاه می‌شوند."
@@ -1656,12 +1656,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "زنجیره گواهینامه نامعتبر است"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "زنجیره گواهینامه نامعتبر است(%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "زنجیره گواهینامه نامعتبر است({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1674,7 +1674,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1687,11 +1687,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"فایل محتوای %1 سه بعدی است اما تصویر سه بعدی در آن نیست. لطفا آنرا دو بعدی "
+"فایل محتوای {} سه بعدی است اما تصویر سه بعدی در آن نیست. لطفا آنرا دو بعدی "
"تنظیم کنید. شما هنوزمیتوانید از طریق زبانه دی سی پی و تیک زدن گزینه سه بعدی "
"یک دی سی پی سه بعدی بسازید."
@@ -1703,20 +1703,20 @@ msgstr ""
"فضای کافی در محل ذخیره فیلم وجود ندارد. پس از خالی کردن فضا مجددا تلاش کنید."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "فایل %1 به مدت %2 میلی ثانیه جلوتر افتاد."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "فایل {} به مدت {} میلی ثانیه جلوتر افتاد."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "فایل %1 به مدت %2 میلی ثانیه عقب تر افتاد."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "فایل {} به مدت {} میلی ثانیه عقب تر افتاد."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "فایل %1 به مدت %2 میلی ثانیه تنظیم وکوتاه شد."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "فایل {} به مدت {} میلی ثانیه تنظیم وکوتاه شد."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "فایل %1 به مدت %2 میلی ثانیه تنظیم وبلند شد."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "فایل {} به مدت {} میلی ثانیه تنظیم وبلند شد."
#: src/lib/hints.cc:268
msgid ""
@@ -1766,18 +1766,18 @@ msgstr ""
"کاهش دهید."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
+msgid "This KDM was made for {} but not for its leaf certificate."
msgstr "این کلید برای 1% ساخته شده اما نه برای گواهی برگ آن."
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr "این کلید برای گواهی نامه 1% ساخته نشده است."
#: src/lib/job.cc:142
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"این خطا ممکن است به دلیل استفاده شما از نسخه 32 بیتی 1% و استفاده از تعداد "
@@ -1787,7 +1787,7 @@ msgstr ""
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
"این مشکل ممکن است به دلیل نصب نسخه 32 بیتی 1% پیش آمده باشد. لطفا پس ازنصب "
"نسخه 64 بیتی 2% مجدد تلاش کنید."
@@ -1802,7 +1802,7 @@ msgstr ""
#: src/lib/film.cc:544
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"این فیلم با نسخه جدیدتر 1% ساخته شده، و در این نسخه قابل فراخوانی نیست. "
@@ -1810,7 +1810,7 @@ msgstr ""
#: src/lib/film.cc:525
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1831,8 +1831,8 @@ msgid "Trailer"
msgstr "تبلیغ فیلم"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "ترنسکدینگ %1"
+msgid "Transcoding {}"
+msgstr "ترنسکدینگ {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1863,8 +1863,8 @@ msgid "Unknown error"
msgstr "خطای ناشناخته"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "فرمت نمونه صدای غیرقابل تشخیص(%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "فرمت نمونه صدای غیرقابل تشخیص({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1911,7 +1911,7 @@ msgid "Vertical flip"
msgstr "برگردان عمودی"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1940,22 +1940,22 @@ msgstr "با این حال یک فیلتر ضد اینترلیس دیگر"
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"تنظیمات دی سی پی خود را روی نرخ فریم %1 گذاشته اید. این نرخ فریم روی همه "
-"پروژکتورها پشتیبانی نمیشود. توصیه میشود نرخ فریم دی سی پی را به %2 فریم بر "
+"تنظیمات دی سی پی خود را روی نرخ فریم {} گذاشته اید. این نرخ فریم روی همه "
+"پروژکتورها پشتیبانی نمیشود. توصیه میشود نرخ فریم دی سی پی را به {} فریم بر "
"ثانیه تغییر دهید."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"تنظیمات دی سی پی خود را روی نرخ فریم %1 گذاشته اید. این نرخ فریم روی همه "
-"پروژکتورها پشتیبانی نمیشود. ممکن است بخواهید نرخ فریم را به %2 فریم بر ثانیه "
+"تنظیمات دی سی پی خود را روی نرخ فریم {} گذاشته اید. این نرخ فریم روی همه "
+"پروژکتورها پشتیبانی نمیشود. ممکن است بخواهید نرخ فریم را به {} فریم بر ثانیه "
"تغییر دهید."
#: src/lib/hints.cc:203
@@ -1968,7 +1968,7 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -1987,10 +1987,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"شما%1 فایل دارید که به نظر میرسد فرمت آنها وی او بی و از دی وی دی هستند. "
+"شما{} فایل دارید که به نظر میرسد فرمت آنها وی او بی و از دی وی دی هستند. "
"برای پرش نیافتادن بین فایلها باید آنها را به هم بچسبانید."
#: src/lib/film.cc:1665
@@ -2023,11 +2023,11 @@ msgstr "شما قبل از ساخت دی س پی باید به آن تعدادی
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
-"دی سی پی شما به جای 8 یا 16 کانال دارای %1 کانال صدا است. ممکن است هنگام صحت "
+"دی سی پی شما به جای 8 یا 16 کانال دارای {} کانال صدا است. ممکن است هنگام صحت "
"سنجی دی سی پی شما توسط دفاتر پخش با خطای کیفی مواجه شود. برای پرهیز از خطا، "
"تعداد کانالهای دی سی پی خود را روی 8 یا 16 قرار دهید."
@@ -2035,7 +2035,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"دی سی پی شما کمتر از 6 کانال صدا دارد. این ممکن است در برخی پروژکتورها مشکل "
@@ -2053,10 +2053,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"گین صدای شما خیلی زیاد است(روی %1). شما باید گین محتوای خود را کاهش دهید."
+"گین صدای شما خیلی زیاد است(روی {}). شما باید گین محتوای خود را کاهش دهید."
#: src/lib/playlist.cc:236
msgid ""
@@ -2082,11 +2082,11 @@ msgstr "[تصویرثابت]"
msgid "[subtitles]"
msgstr "[زیرنویسها]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_حلقه%1"
+msgid "_reel{}"
+msgstr "_حلقه{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2105,57 +2105,57 @@ msgid "content type"
msgstr "نوع محتوا"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "در حال کپی%1"
+msgid "copying {}"
+msgstr "در حال کپی{}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "اطلاعات رشته پیدا نشد"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "دالبی اتمز قابل انتقال به داخل دی س پی نیست(%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "دالبی اتمز قابل انتقال به داخل دی س پی نیست({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "صدا قابل انتقال به داخل دی س پی نیست(%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "صدا قابل انتقال به داخل دی س پی نیست({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "فایل باز نمیشود%1 برای خواندن(%2)"
+msgid "could not open file {} for read ({})"
+msgstr "فایل باز نمیشود{} برای خواندن({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "فایل باز نمیشود%1 برای نوشتن/خواندن(%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "فایل باز نمیشود{} برای نوشتن/خواندن({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "فایل باز نمیشود%1 برای نوشتن(%2)"
+msgid "could not open file {} for write ({})"
+msgstr "فایل باز نمیشود{} برای نوشتن({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "نمیتوان از فایل خواند%1(%2)"
+msgid "could not read from file {} ({})"
+msgstr "نمیتوان از فایل خواند{}({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "نمیتوان در فایل نوشت%1(%2)"
+msgid "could not write to file {} ({})"
+msgstr "نمیتوان در فایل نوشت{}({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "خطا در هنگام async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "خطا در هنگام async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "خطا در هنگام async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "خطا در هنگام async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "خطا در هنگام async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "خطا در هنگام async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "خطا در هنگام async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "خطا در هنگام async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2174,7 +2174,7 @@ msgstr "نرخ فریم آن با فیلم یکسان نیست."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
"تعداد کانالهای صدا با تعداد کانالهای صدای پروژه متفاوت است; تعداد کانالهای "
"صدای پروژه را روی 1% قرار دهید."
diff --git a/src/lib/po/fr_FR.po b/src/lib/po/fr_FR.po
index d69429e42..c23f5e0ec 100644
--- a/src/lib/po/fr_FR.po
+++ b/src/lib/po/fr_FR.po
@@ -29,10 +29,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Rogné à %1x%2"
+"Rogné à {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -46,29 +46,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Ajout de bandes noires pour remplir le format image cible %1 (%2x%3)"
+"Ajout de bandes noires pour remplir le format image cible {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Mis à l'échelle à %1x%2"
+"Mis à l'échelle à {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " le %1"
+msgid " on {}"
+msgstr " le {}"
#: src/lib/config.cc:1276
msgid ""
@@ -99,81 +99,81 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [audio]"
+msgid "{} [audio]"
+msgstr "{} [audio]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [film]"
+msgid "{} [movie]"
+msgstr "{} [film]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [vidéo]"
+msgid "{} [video]"
+msgstr "{} [vidéo]"
#: src/lib/job.cc:181 src/lib/job.cc:196
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"%1 n'a pas pu ouvrir le fichier %2 (%3). Il n'existe peut-être pas ou est "
+"{} n'a pas pu ouvrir le fichier {} ({}). Il n'existe peut-être pas ou est "
"dans un format non reconnu."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
-"%1 a dû modifier vos paramètres pour désigner les DCP en tant qu'OV. "
+"{} a dû modifier vos paramètres pour désigner les DCP en tant qu'OV. "
"Veuillez vérifier ces paramètres pour vous assurer qu'ils correspondent à ce "
"que vous souhaitez."
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
-"%1 a dû modifier vos paramètres pour que la fréquence d'images du film soit "
+"{} a dû modifier vos paramètres pour que la fréquence d'images du film soit "
"la même que celle de votre contenu Atmos."
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
-"%1 a dû supprimer l'une des délimitations de bobines qui se situait en "
+"{} a dû supprimer l'une des délimitations de bobines qui se situait en "
"dehors du film."
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
-"%1 a dû supprimer certaines délimitations de bobines qui se situaient en "
+"{} a dû supprimer certaines délimitations de bobines qui se situaient en "
"dehors du film."
#: src/lib/ffmpeg_content.cc:115
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "%1 ne gère plus le filtre `%2'.  Il a donc été désactivé."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "{} ne gère plus le filtre `{}'.  Il a donc été désactivé."
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
-msgstr "Notification %1"
+msgid "{} notification"
+msgstr "Notification {}"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
-msgstr "%1; %2/%3 images"
+msgid "{}; {}/{} frames"
+msgstr "{}; {}/{} images"
#: src/lib/video_content.cc:463
#, c-format
@@ -265,12 +265,12 @@ msgstr "9"
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 ips"
+msgid "; {} fps"
+msgstr "; {} ips"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 restant ; fin prévue à %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} restant ; fin prévue à {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -313,11 +313,11 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
"Un fichier de sous-titres ou de sous-titres codés de ce projet est marqué "
-"avec la langue '%1', que %2 ne reconnaît pas. La langue du fichier a été "
+"avec la langue '{}', que {} ne reconnaît pas. La langue du fichier a été "
"réinitialisée."
#: src/lib/ffmpeg_content.cc:639
@@ -351,8 +351,8 @@ msgstr ""
"de votre DCP au contenu dans l'onglet \"DCP\", si vous voulez l'éviter."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Une erreur s'est produite lors du traitement du fichier %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Une erreur s'est produite lors du traitement du fichier {}."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -432,12 +432,12 @@ msgstr ""
"\"Contenu→Texte programmé\" ou \"Contenu→Sous-titres\"."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "L'audio sera ré-échantillonné de %1Hz à %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "L'audio sera ré-échantillonné de {}Hz à {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "L'audio sera ré-échantillonné à %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "L'audio sera ré-échantillonné à {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -517,8 +517,8 @@ msgid "Cannot contain slashes"
msgstr "Slashes non autorisés"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Impossible de gérer le format de pixel %1 pendant %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Impossible de gérer le format de pixel {} pendant {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -750,8 +750,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "Le contenu vidéo est %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Le contenu vidéo est {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -760,9 +760,9 @@ msgstr "Copier le DCP dans le TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "copie de %1"
+"Copying {}\n"
+"to {}"
+msgstr "copie de {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -771,72 +771,72 @@ msgstr "Combiner les DCPs"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Copier le DCP dans le TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Impossible de se connecter au serveur %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Impossible de se connecter au serveur {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Impossible de créer le répertoire distant %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Impossible de créer le répertoire distant {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Impossible de décoder le fichier JPEG2000 %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Impossible de décoder le fichier JPEG2000 {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "Impossible de décoder l'image (%1)"
+msgid "Could not decode image ({})"
+msgstr "Impossible de décoder l'image ({})"
#: src/lib/unzipper.cc:76
-msgid "Could not find file %1 in ZIP file"
-msgstr "Impossible d'ouvrir le fichier %1 dans l'archive ZIP"
+msgid "Could not find file {} in ZIP file"
+msgstr "Impossible d'ouvrir le fichier {} dans l'archive ZIP"
#: src/lib/encode_server_finder.cc:197
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Impossible d'écouter les serveurs d'encodage distants. Peut-être qu'une "
-"autre instance de %1 est en cours d'exécution."
+"autre instance de {} est en cours d'exécution."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Impossible d'ouvrir %1"
+msgid "Could not open {}"
+msgstr "Impossible d'ouvrir {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Impossible d'ouvrir %1 pour l'envoi"
+msgid "Could not open {} to send"
+msgstr "Impossible d'ouvrir {} pour l'envoi"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "Impossible d'ouvrir le fichier ZIP téléchargé"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "Impossible d'ouvrir le fichier ZIP téléchargé (%1:%2 : %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "Impossible d'ouvrir le fichier ZIP téléchargé ({}:{} : {})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
msgstr "Impossible d'ouvrir le fichier pour l'écriture"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
-msgstr "Impossible d'ouvrir le fichier de sortie %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "Impossible d'ouvrir le fichier de sortie {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Impossible de lire les sous-titres (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Impossible de lire les sous-titres ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Impossible de démarrer le transfert"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Impossible d'écrire dans le fichier distant (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Impossible d'écrire dans le fichier distant ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -924,7 +924,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Cher projectionniste,\n"
"\n"
@@ -936,35 +936,35 @@ msgstr ""
"Les KDMs sont valides du $START_TIME au $END_TIME.\n"
"\n"
"Meilleures salutations,\n"
-"%1"
+"{}"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
-msgstr "Disque rempli lors de l'écriture de %1"
+msgid "Disk full when writing {}"
+msgstr "Disque rempli lors de l'écriture de {}"
#: src/lib/dolby_cp750.cc:31
msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 ou CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Échec du téléchargement (erreur %1 %2)"
+msgid "Download failed ({} error {})"
+msgstr "Échec du téléchargement (erreur {} {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Chaque image de contenu sera répétée %1 fois de plus dans le DCP.\n"
+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"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "KDMs par e-mail"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "KDMs par e-mail pour %1"
+msgid "Email KDMs for {}"
+msgstr "KDMs par e-mail pour {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -975,8 +975,8 @@ msgid "Email problem report"
msgstr "Rapport de problème par e-mail"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Rapport de problème par e-mail pour %1"
+msgid "Email problem report for {}"
+msgstr "Rapport de problème par e-mail pour {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -987,14 +987,14 @@ msgid "Episode"
msgstr "Épisode"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
msgstr ""
-"Erreur dans le fichier de sous-titres : %1 a été trouvé alors que %2 était "
+"Erreur dans le fichier de sous-titres : {} a été trouvé alors que {} était "
"attendu"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Erreur : %1"
+msgid "Error: {}"
+msgstr "Erreur : {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1034,8 +1034,8 @@ msgid "FCP XML subtitles"
msgstr "Sous-titres XML de DCP"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Échec de l'authentification avec le serveur (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Échec de l'authentification avec le serveur ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1087,8 +1087,8 @@ msgid "Full"
msgstr "Plein"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Entier (0-%1)"
+msgid "Full (0-{})"
+msgstr "Entier (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1186,8 +1186,8 @@ msgstr ""
"après le début du DCP pour être sûr qu'il soit vu."
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
-msgid "It is not known what caused this error. %1"
-msgstr "La cause de cette erreur n'est pas connue. %1"
+msgid "It is not known what caused this error. {}"
+msgstr "La cause de cette erreur n'est pas connue. {}"
#: src/lib/ffmpeg_content.cc:614
msgid "JEDEC P22"
@@ -1239,8 +1239,8 @@ msgid "Limited"
msgstr "Limité"
#: src/lib/ffmpeg_content.cc:557
-msgid "Limited / video (%1-%2)"
-msgstr "Limité / vidéo (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Limité / vidéo ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1290,8 +1290,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "Tailles de vidéo non concordantes dans le DCP"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Paramètre requis %1 manquant"
+msgid "Missing required setting {}"
+msgstr "Paramètre requis {} manquant"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1338,12 +1338,12 @@ msgid "OK"
msgstr "OK"
#: src/lib/job.cc:622
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (exécuté pendant %1, de %2 à %3)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (exécuté pendant {}, de {} à {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (exécuté pendant %1)"
+msgid "OK (ran for {})"
+msgstr "OK (exécuté pendant {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1365,9 +1365,9 @@ msgstr "Sous-titres forcés"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
-"Ouvrez le projet dans %1, vérifiez les paramètres, puis enregistrez-le avant "
+"Ouvrez le projet dans {}, vérifiez les paramètres, puis enregistrez-le avant "
"de réessayer."
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
@@ -1390,10 +1390,10 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Veuillez rapporter ce problème en utilisant le menu Aide -> Signaler un "
-"problème ou par e-mail à %1"
+"problème ou par e-mail à {}"
#: src/lib/dcp_content_type.cc:61
msgid "Policy"
@@ -1408,8 +1408,8 @@ msgid "Prepared for video frame rate"
msgstr "Préparé pour la fréquence d'images vidéo"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Erreur de programmation à %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Erreur de programmation à {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1529,13 +1529,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "Erreur SSH [%1]"
+msgid "SSH error [{}]"
+msgstr "Erreur SSH [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "Erreur SSH [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "Erreur SSH [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1562,8 +1562,8 @@ msgid "Size"
msgstr "Taille"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Certains sons seront ré-échantillonné à %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Certains sons seront ré-échantillonné à {}Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1595,10 +1595,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Certaines de vos sous-titres codés font plus de %1 lignes, ils seront donc "
+"Certaines de vos sous-titres codés font plus de {} lignes, ils seront donc "
"tronqués."
#: src/lib/hints.cc:727
@@ -1679,18 +1679,18 @@ msgid "The certificate chain for signing is invalid"
msgstr "La chaîne de certificats pour la signature n'est pas valide"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "La chaîne de certificats pour la signature n'est pas valide (%1)"
+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
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
"Preferences."
msgstr ""
-"La chaîne de certificats que %1 utilise pour signer les DCP et les KDM "
+"La chaîne de certificats que {} utilise pour signer les DCP et les KDM "
"contient une petite erreur qui empêchera les DCP d'être validés correctement "
"sur certains systèmes. Il vous est conseillé de recréer la chaîne de "
"certificats de signature en cliquant sur le bouton \"Re-créer les "
@@ -1698,13 +1698,13 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
"Preferences."
msgstr ""
-"La chaîne de certificats que %1 utilise pour signer les DCP et les KDM a une "
+"La chaîne de certificats que {} utilise pour signer les DCP et les KDM a une "
"période de validité trop longue. Cela entraîne des problèmes de lecture des "
"DCP sur certains systèmes. Il vous est conseillé de recréer la chaîne de "
"certificats de signature en cliquant sur le bouton \"Re-créer les "
@@ -1712,11 +1712,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"Le fichier de contenu %1 est configuré en 3D mais ne semble pas contenir "
+"Le fichier de contenu {} est configuré en 3D mais ne semble pas contenir "
"d'images 3D. Veuillez le définir en 2D. Vous pouvez néanmoins créer un DCP "
"3D à partir de ce contenu en cochant l'option 3D dans l'onglet vidéo DCP."
@@ -1729,20 +1729,20 @@ msgstr ""
"Libérez un peu plus d'espace et réessayez."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Le fichier %1 a été déplacé de %2 millisecondes plus tôt."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Le fichier {} a été déplacé de {} millisecondes plus tôt."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Le fichier %1 a été déplacé de %2 millisecondes plus tard."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Le fichier {} a été déplacé de {} millisecondes plus tard."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Le fichier %1 a été raccourci de %2 millisecondes."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Le fichier {} a été raccourci de {} millisecondes."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Le fichier %1 a été allongé de %2 millisecondes."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Le fichier {} a été allongé de {} millisecondes."
#: src/lib/hints.cc:268
msgid ""
@@ -1795,33 +1795,33 @@ msgstr ""
"d'encodage dans l'onglet Général des préférences."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
+msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
-"Ce KDM a été fait pour %1 mais pas pour son certificat d'entité finale."
+"Ce KDM a été fait pour {} mais pas pour son certificat d'entité finale."
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
-msgstr "Ce KDM n'a pas été fait pour le certificat de décryptage de %1."
+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 {}."
#: src/lib/job.cc:142
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Cette erreur s'est probablement produite parce que vous exécutez la version "
-"32 bits de %1 et essayez d'utiliser trop de threads d'encodage. Veuillez "
-"réduire le nombre de threads que %2 doit utiliser dans l'onglet Général des "
+"32 bits de {} et essayez d'utiliser trop de threads d'encodage. Veuillez "
+"réduire le nombre de threads que {} doit utiliser dans l'onglet Général des "
"préférences et réessayez."
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
"Cette erreur s'est probablement produite parce que vous exécutez la version "
-"32 bits de %1. Veuillez réinstaller %2 avec le programme d'installation 64 "
+"32 bits de {}. Veuillez réinstaller {} avec le programme d'installation 64 "
"bits et réessayer."
#: src/lib/exceptions.cc:114
@@ -1834,19 +1834,19 @@ msgstr ""
#: src/lib/film.cc:544
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
-"Ce film a été créé avec une nouvelle version de %1 et il ne peut être ouvert "
+"Ce film a été créé avec une nouvelle version de {} et il ne peut être ouvert "
"dans cette version du programme. Désolé !"
#: src/lib/film.cc:525
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
-"Ce film a été créé avec une ancienne version de %1, et il ne peut "
+"Ce film a été créé avec une ancienne version de {}, et il ne peut "
"malheureusement pas être chargé dans cette version. Vous devrez créer un "
"nouveau film, réintroduire votre contenu et le configurer à nouveau. "
"Désolé !"
@@ -1864,8 +1864,8 @@ msgid "Trailer"
msgstr "Trailer"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Transcodage de %1"
+msgid "Transcoding {}"
+msgstr "Transcodage de {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1896,8 +1896,8 @@ msgid "Unknown error"
msgstr "Erreur inconnue"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Format d'échantillon audio non reconnu (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Format d'échantillon audio non reconnu ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1944,7 +1944,7 @@ msgid "Vertical flip"
msgstr "Retournement vertical"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1973,23 +1973,23 @@ msgstr "Yet Another Deinterlacing Filter"
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"Vous allez créer un DCP à une cadence de %1 ips. Elle n'est pas supportée "
+"Vous allez créer un DCP à une cadence de {} ips. Elle n'est pas supportée "
"par tous les projecteurs. Nous vous conseillons de modifier la cadence "
-"d'images de votre DCP à %2 ips."
+"d'images de votre DCP à {} ips."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"Vous êtes sur le point de créer un DCP à la fréquence d'images de %1 ips. "
+"Vous êtes sur le point de créer un DCP à la fréquence d'images de {} ips. "
"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 à %2 ips."
+"pourriez envisager de modifier la fréquence d'images de votre DCP à {} ips."
#: src/lib/hints.cc:203
msgid ""
@@ -2002,11 +2002,11 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
-"Vous utilisez l'upmixer stéréo vers 5.1 de %1. Cet outil est expérimental "
+"Vous utilisez l'upmixer stéréo vers 5.1 de {}. Cet outil est expérimental "
"et un son de mauvaise qualité pourrait en résulter. Si vous continuez, vous "
"devriez écouter le résultat dans un cinéma pour vous assurer que le son est "
"bon."
@@ -2022,10 +2022,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Vous avez %1 fichiers qui semblent être des fichiers VOB de DVD. Vous devez "
+"Vous avez {} fichiers qui semblent être des fichiers VOB de DVD. Vous devez "
"les joindre afin d'assurer une liaison fluide entre les fichiers."
#: src/lib/film.cc:1665
@@ -2058,11 +2058,11 @@ msgstr "Vous devez ajouter du contenu au DCP avant de le créer"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
-"Votre DCP a %1 canaux audio au lieu de 8 ou 16. Cela peut engendrer une "
+"Votre DCP a {} canaux audio au lieu de 8 ou 16. Cela peut engendrer une "
"erreur lors de la vérification par votre distributeur. Sélectionnez 8 ou 16 "
"canaux audio pour éviter cela."
@@ -2070,13 +2070,13 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"Votre DCP a moins de 6 canaux audio. Cela peut causer des problèmes sur "
"certains projecteurs. Vous voudrez peut-être régler le DCP pour qu'il ait 6 "
"canaux. Cela n'a pas d'importance si votre contenu a moins de canaux, car "
-"%1 remplira les extras de silence."
+"{} remplira les extras de silence."
#: src/lib/hints.cc:168
msgid ""
@@ -2089,10 +2089,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Votre volume sonore est très élevé (sur %1). Vous devriez réduire le gain "
+"Votre volume sonore est très élevé (sur {}). Vous devriez réduire le gain "
"de votre contenu audio."
#: src/lib/playlist.cc:236
@@ -2123,11 +2123,11 @@ msgstr "[image fixe]"
msgid "[subtitles]"
msgstr "[sous-titres]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_bobine%1"
+msgid "_reel{}"
+msgstr "_bobine{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2146,57 +2146,57 @@ msgid "content type"
msgstr "type de contenu"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "copie de %1"
+msgid "copying {}"
+msgstr "copie de {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "impossible de trouver les informations du flux"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "impossible de déplacer une ressource atmos dans le DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "impossible de déplacer une ressource atmos dans le DCP ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "impossible de déplacer une ressource audio dans le DCP (%1)."
+msgid "could not move audio asset into the DCP ({})"
+msgstr "impossible de déplacer une ressource audio dans le DCP ({})."
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "impossible d'ouvrir le fichier %1 en lecture (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "impossible d'ouvrir le fichier {} en lecture ({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "impossible d'ouvrir le fichier %1 en lecture/écriture (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "impossible d'ouvrir le fichier {} en lecture/écriture ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "impossible d'ouvrir le fichier %1 en écriture (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "impossible d'ouvrir le fichier {} en écriture ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "impossible de lire depuis le fichier %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "impossible de lire depuis le fichier {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "impossible d'écrire dans le fichier %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "impossible d'écrire dans le fichier {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "erreur pendant async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "erreur pendant async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "erreur pendant async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "erreur pendant async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "erreur pendant async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "erreur pendant async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "erreur pendant async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "erreur pendant async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2215,10 +2215,10 @@ msgstr "la fréquence des images est différente de celle du film."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
"le nombre de canaux audio est différent de celui du projet, ajuster le "
-"projet avec %1 canaux."
+"projet avec {} canaux."
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
#: src/lib/dcp_content.cc:789
@@ -2385,20 +2385,20 @@ msgstr "images vidéo"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "Le contenu à ajouter doit avoir le même gain audio"
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Démarrage de session SCP (%1) impossible"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Démarrage de session SCP ({}) impossible"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "démarrage de session SCP (%1) impossible"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "démarrage de session SCP ({}) impossible"
#~ msgid "could not start SSH session"
#~ msgstr "démarrage de session SSH impossible"
#~ msgid ""
-#~ "Some of your closed captions have lines longer than %1 characters, so "
+#~ "Some of your closed captions have lines longer than {} characters, so "
#~ "they will probably be word-wrapped."
#~ msgstr ""
-#~ "Certains de vos sous-titres ont des lignes plus longues que %1 "
+#~ "Certains de vos sous-titres ont des lignes plus longues que {} "
#~ "caractères, aussi certains mots seront-ils probablement coupés."
#~ msgid "No scale"
@@ -2455,14 +2455,14 @@ msgstr "images vidéo"
#~ msgid "Could not write whole file"
#~ msgstr "Ecriture du fichier entier impossible"
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Ne parvient pas à décoder le fichier image %1 (%2)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Ne parvient pas à décoder le fichier image {} ({})"
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "Sous-titres superposés, enlevez les autres contenus."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2471,7 +2471,7 @@ msgstr "images vidéo"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "Le DCP %1 se régérait à ce film. Ce n'est plus possible désormais "
+#~ "Le DCP {} se régérait à ce film. Ce n'est plus possible désormais "
#~ "puisque la taille de la bobine du film ne correspond plus à celle "
#~ "importée dans le DCP.\n"
#~ "\n"
@@ -2496,10 +2496,10 @@ msgstr "images vidéo"
#~ msgstr "IMAX"
#~ msgid ""
-#~ "Your DCP frame rate (%1 fps) may cause problems in a few (mostly older) "
+#~ "Your DCP frame rate ({} fps) may cause problems in a few (mostly older) "
#~ "projectors. Use 24 or 48 frames per second to be on the safe side."
#~ msgstr ""
-#~ "Votre cadence DCP (%1 ips) peut créer des problèmes avec certains "
+#~ "Votre cadence DCP ({} ips) peut créer des problèmes avec certains "
#~ "projecteurs (anciens). Utilisez plutôt une cadence de 24 ou 48 images par "
#~ "seconde pour les éviter."
@@ -2528,11 +2528,11 @@ msgstr "images vidéo"
#~ "Votre volume sonore est proche de la saturation. Vous devriez réduire le "
#~ "gain de votre contenu audio."
-#~ msgid "could not create file %1"
-#~ msgstr "Écriture vers fichier distant (%1) impossible"
+#~ msgid "could not create file {}"
+#~ msgstr "Écriture vers fichier distant ({}) impossible"
-#~ msgid "could not open file %1"
-#~ msgstr "lecture du fichier (%1) impossible"
+#~ msgid "could not open file {}"
+#~ msgstr "lecture du fichier ({}) impossible"
#~ msgid "Computing audio digest"
#~ msgstr "Fabrication rendu audio"
@@ -2583,10 +2583,10 @@ msgstr "images vidéo"
#~ msgid "could not run sample-rate converter"
#~ msgstr "conversion de la fréquence d'échantillonnage impossible"
-#~ msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+#~ msgid "could not run sample-rate converter for {} samples ({}) ({})"
#~ msgstr ""
-#~ "n'a pas pu convertir la fréquence d'échantillonnage pour %1 échantillons "
-#~ "(%2) (%3)"
+#~ "n'a pas pu convertir la fréquence d'échantillonnage pour {} échantillons "
+#~ "({}) ({})"
#~ msgid "1.375"
#~ msgstr "1.375"
@@ -2621,20 +2621,20 @@ msgstr "images vidéo"
#~ msgid "could not read encoded data"
#~ msgstr "lecture des données encodées impossible"
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "erreur pendant async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "erreur pendant async_accept ({})"
-#~ msgid "%1 channels, %2kHz, %3 samples"
-#~ msgstr "%1 canaux, %2kHz, %3 échantillons"
+#~ msgid "{} channels, {}kHz, {} samples"
+#~ msgstr "{} canaux, {}kHz, {} échantillons"
-#~ msgid "%1 frames; %2 frames per second"
-#~ msgstr "%1 images ; %2 images par seconde"
+#~ msgid "{} frames; {} frames per second"
+#~ msgstr "{} images ; {} images par seconde"
-#~ msgid "%1x%2 pixels (%3:1)"
-#~ msgstr "%1x%2 pixels (%3:1)"
+#~ msgid "{}x{} pixels ({}:1)"
+#~ msgstr "{}x{} pixels ({}:1)"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "clé %1 manquante dans le réglage"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "clé {} manquante dans le réglage"
#~ msgid "sRGB non-linearised"
#~ msgstr "sRGB non linéarisé"
@@ -2725,14 +2725,14 @@ msgstr "images vidéo"
#~ msgid "0%"
#~ msgstr "0%"
-#~ msgid "first frame in moving image directory is number %1"
-#~ msgstr "la première image dans le dossier est la numéro %1"
+#~ msgid "first frame in moving image directory is number {}"
+#~ msgstr "la première image dans le dossier est la numéro {}"
-#~ msgid "there are %1 images in the directory but the last one is number %2"
-#~ msgstr "il y a %1 images dans le dossier mais la dernière est la numéro %2"
+#~ msgid "there are {} images in the directory but the last one is number {}"
+#~ msgstr "il y a {} images dans le dossier mais la dernière est la numéro {}"
-#~ msgid "only %1 file(s) found in moving image directory"
-#~ msgstr "Seulement %1 fichier(s) trouvé(s) dans le dossier de diaporama"
+#~ msgid "only {} file(s) found in moving image directory"
+#~ msgstr "Seulement {} fichier(s) trouvé(s) dans le dossier de diaporama"
#~ msgid "Could not find DCP to make KDM for"
#~ msgstr "DCP introuvable pour fabrication de KDM"
@@ -2743,14 +2743,14 @@ msgstr "images vidéo"
#~ msgid "hashing"
#~ msgstr "calcul du hash"
-#~ msgid "Image: %1"
-#~ msgstr "Image : %1"
+#~ msgid "Image: {}"
+#~ msgstr "Image : {}"
-#~ msgid "Movie: %1"
-#~ msgstr "Film : %1"
+#~ msgid "Movie: {}"
+#~ msgstr "Film : {}"
-#~ msgid "Sound file: %1"
-#~ msgstr "Fichier son : %1"
+#~ msgid "Sound file: {}"
+#~ msgstr "Fichier son : {}"
#~ msgid "1.66 within Flat"
#~ msgstr "1.66 dans Flat"
@@ -2765,14 +2765,14 @@ msgstr "images vidéo"
#~ msgid "4:3 within Flat"
#~ msgstr "4:3 dans Flat"
-#~ msgid "A/B transcode %1"
-#~ msgstr "Transcodage A/B %1"
+#~ msgid "A/B transcode {}"
+#~ msgstr "Transcodage A/B {}"
#~ msgid "Cannot resample audio as libswresample is not present"
#~ msgstr "Ré-échantillonnage du son impossible : libswresample est absent"
-#~ msgid "Examine content of %1"
-#~ msgstr "Examen du contenu de %1"
+#~ msgid "Examine content of {}"
+#~ msgstr "Examen du contenu de {}"
#~ msgid "Scope without stretch"
#~ msgstr "Scope sans déformation"
@@ -2834,11 +2834,11 @@ msgstr "images vidéo"
#~ msgid "Source scaled to fit Scope preserving its aspect ratio"
#~ msgstr "Source réduite en Scope afin de préserver ses dimensions"
-#~ msgid "adding to queue of %1"
-#~ msgstr "Mise en file d'attente de %1"
+#~ msgid "adding to queue of {}"
+#~ msgstr "Mise en file d'attente de {}"
-#~ msgid "decoder sleeps with queue of %1"
-#~ msgstr "décodeur en veille avec %1 en file d'attente"
+#~ msgid "decoder sleeps with queue of {}"
+#~ msgstr "décodeur en veille avec {} en file d'attente"
-#~ msgid "decoder wakes with queue of %1"
-#~ msgstr "reprise du décodage avec %1 en file d'attente"
+#~ msgid "decoder wakes with queue of {}"
+#~ msgstr "reprise du décodage avec {} en file d'attente"
diff --git a/src/lib/po/hu_HU.po b/src/lib/po/hu_HU.po
index 4255e61d7..6244721f9 100644
--- a/src/lib/po/hu_HU.po
+++ b/src/lib/po/hu_HU.po
@@ -29,10 +29,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Méretre vágva: %1x%2"
+"Méretre vágva: {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -46,29 +46,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Fekete kerettel körbekerítve, hogy beleférjen a %1 (%2x%3) konténerbe."
+"Fekete kerettel körbekerítve, hogy beleférjen a {} ({}x{}) konténerbe."
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Skálázva a következő méretre: %1x%2"
+"Skálázva a következő méretre: {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " on %1"
+msgid " on {}"
+msgstr " on {}"
#: src/lib/config.cc:1276
msgid ""
@@ -99,71 +99,71 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [hang]"
+msgid "{} [audio]"
+msgstr "{} [hang]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [film]"
+msgid "{} [movie]"
+msgstr "{} [film]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [videó]"
+msgid "{} [video]"
+msgstr "{} [videó]"
#: src/lib/job.cc:181 src/lib/job.cc:196
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
msgstr ""
#: src/lib/config.cc:441 src/lib/config.cc:1251
#, fuzzy
-msgid "%1 notification"
+msgid "{} notification"
msgstr "Email értesítés"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
-msgstr "%1; %2/%3 képkocka"
+msgid "{}; {}/{} frames"
+msgstr "{}; {}/{} képkocka"
#: src/lib/video_content.cc:463
#, c-format
@@ -254,12 +254,12 @@ msgstr "9"
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 fps"
+msgid "; {} fps"
+msgstr "; {} fps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 van hátra; befejezés: %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} van hátra; befejezés: {}{}"
#: src/lib/analytics.cc:58
#, fuzzy, c-format, c++-format
@@ -304,10 +304,10 @@ msgstr ""
#, fuzzy
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
-"A felirat vagy a hangleíró felirat fájl ebben a projektben ‘%1’ nyelvként "
+"A felirat vagy a hangleíró felirat fájl ebben a projektben ‘{}’ nyelvként "
"lett megjelölve, amit a DCP-o-matic nem ismer fel. A fájl nyelve törölve "
"lett."
@@ -341,8 +341,8 @@ msgstr ""
"tartalom."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Hiba a %1 fájl kezelése közben."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Hiba a {} fájl kezelése közben."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -424,12 +424,12 @@ msgstr ""
"“Tartalom→Hangleíró felirat” menüpontokban."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "A hang újra lesz keverve %1Hz-ről %2Hz-re"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "A hang újra lesz keverve {}Hz-ről {}Hz-re"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "A hang újra lesz keverve %1Hz-re"
+msgid "Audio will be resampled to {}Hz"
+msgstr "A hang újra lesz keverve {}Hz-re"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -509,8 +509,8 @@ msgid "Cannot contain slashes"
msgstr "Nem tartalmazhat / jeleket"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Nem kezelhető a %1 pixel formátum %2 közben"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Nem kezelhető a {} pixel formátum {} közben"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -742,7 +742,7 @@ msgid "Content to be joined must use the same text language."
msgstr ""
#: src/lib/video_content.cc:454
-msgid "Content video is %1x%2"
+msgid "Content video is {}x{}"
msgstr ""
#: src/lib/upload_job.cc:66
@@ -752,9 +752,9 @@ msgstr "DCP másolása a TMS-re"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "%1 másolása"
+"Copying {}\n"
+"to {}"
+msgstr "{} másolása"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -763,42 +763,42 @@ msgstr "DCPk egyesítése"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "DCP másolása a TMS-re"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
+msgid "Could not connect to server {} ({})"
msgstr ""
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
+msgid "Could not create remote directory {} ({})"
msgstr ""
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
msgstr ""
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
+msgid "Could not decode image ({})"
msgstr ""
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
-msgstr "nem sikerült a(z) %1 fájlt megnyitni írásra (%2)"
+msgid "Could not find file {} in ZIP file"
+msgstr "nem sikerült a(z) {} fájlt megnyitni írásra ({})"
#: src/lib/encode_server_finder.cc:197
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
+msgid "Could not open {}"
msgstr ""
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
+msgid "Could not open {} to send"
msgstr ""
#: src/lib/internet.cc:167 src/lib/internet.cc:172
@@ -806,7 +806,7 @@ msgid "Could not open downloaded ZIP file"
msgstr ""
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
msgstr ""
#: src/lib/config.cc:1178
@@ -814,11 +814,11 @@ msgid "Could not open file for writing"
msgstr ""
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
+msgid "Could not open output file {} ({})"
msgstr ""
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
msgstr ""
#: src/lib/curl_uploader.cc:59
@@ -826,7 +826,7 @@ msgid "Could not start transfer"
msgstr ""
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
+msgid "Could not write to remote file ({})"
msgstr ""
#: src/lib/util.cc:601
@@ -910,7 +910,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Kedves mozigépész\n"
"\n"
@@ -925,7 +925,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -933,15 +933,15 @@ msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 vagy CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Letöltés közben hiba lépett fel (%1 hiba %2)"
+msgid "Download failed ({} error {})"
+msgstr "Letöltés közben hiba lépett fel ({} hiba {})"
#: src/lib/frame_rate_change.cc:94
msgid "Each content frame will be doubled in the DCP.\n"
msgstr ""
#: src/lib/frame_rate_change.cc:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
#: src/lib/send_kdm_email_job.cc:94
@@ -949,8 +949,8 @@ msgid "Email KDMs"
msgstr "KDM-ek küldése"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "KDM küldése a következőhöz: %1"
+msgid "Email KDMs for {}"
+msgstr "KDM küldése a következőhöz: {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -961,8 +961,8 @@ msgid "Email problem report"
msgstr "Hibajelentés küldése"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Hibajelentés küldése a következőhöz: %1"
+msgid "Email problem report for {}"
+msgstr "Hibajelentés küldése a következőhöz: {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -973,12 +973,12 @@ msgid "Episode"
msgstr "Episode"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
msgstr ""
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Hiba: %1"
+msgid "Error: {}"
+msgstr "Hiba: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1019,7 +1019,7 @@ msgid "FCP XML subtitles"
msgstr "DCP XML feliratok"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
+msgid "Failed to authenticate with server ({})"
msgstr ""
#: src/lib/job.cc:140 src/lib/job.cc:154
@@ -1072,7 +1072,7 @@ msgid "Full"
msgstr "Teljes"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
+msgid "Full (0-{})"
msgstr ""
#: src/lib/ratio.cc:57
@@ -1164,7 +1164,7 @@ msgid ""
msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr ""
#: src/lib/ffmpeg_content.cc:614
@@ -1218,8 +1218,8 @@ msgstr "Limitált"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Limitált (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Limitált ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1267,8 +1267,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "A videó méret nem egyezik a DCP-ben"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Hiányzó beállítás: %1"
+msgid "Missing required setting {}"
+msgstr "Hiányzó beállítás: {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1314,12 +1314,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (eltelt idő: %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (eltelt idő: {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (eltelt idő: %1)"
+msgid "OK (ran for {})"
+msgstr "OK (eltelt idő: {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1341,7 +1341,7 @@ msgstr "Felirat megnyitása"
#: src/lib/transcode_job.cc:116
#, fuzzy
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
"Nyisd meg a projektet a DCP-o-matic programban és mentsd el, mielőtt "
"újrapróbálod."
@@ -1367,7 +1367,7 @@ msgstr "P3"
#, fuzzy
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Kérlek jelentsd ezt a hibát a Segítség -> Probléma jelentése gombra "
"kattintva, vagy emailben: carl@dcpomatic.com"
@@ -1385,8 +1385,8 @@ msgid "Prepared for video frame rate"
msgstr ""
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Programhiba, itt: %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Programhiba, itt: {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1506,13 +1506,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "SSH hiba [%1]"
+msgid "SSH error [{}]"
+msgstr "SSH hiba [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "SSH hiba [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "SSH hiba [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1539,7 +1539,7 @@ msgid "Size"
msgstr "Méret"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
+msgid "Some audio will be resampled to {}Hz"
msgstr ""
#: src/lib/transcode_job.cc:121
@@ -1563,7 +1563,7 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
@@ -1641,12 +1641,12 @@ msgid "The certificate chain for signing is invalid"
msgstr ""
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
+msgid "The certificate chain for signing is invalid ({})"
msgstr ""
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1655,7 +1655,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1664,7 +1664,7 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
@@ -1676,19 +1676,19 @@ msgid ""
msgstr ""
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
+msgid "The file {} has been moved {} milliseconds earlier."
msgstr ""
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
+msgid "The file {} has been moved {} milliseconds later."
msgstr ""
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
+msgid "The file {} has been trimmed by {} milliseconds less."
msgstr ""
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
+msgid "The file {} has been trimmed by {} milliseconds more."
msgstr ""
#: src/lib/hints.cc:268
@@ -1726,25 +1726,25 @@ msgid ""
msgstr ""
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
+msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
#: src/lib/job.cc:142
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
#: src/lib/exceptions.cc:114
@@ -1755,13 +1755,13 @@ msgstr ""
#: src/lib/film.cc:544
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
#: src/lib/film.cc:525
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1779,8 +1779,8 @@ msgid "Trailer"
msgstr ""
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "%1 konvertálása"
+msgid "Transcoding {}"
+msgstr "{} konvertálása"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1811,7 +1811,7 @@ msgid "Unknown error"
msgstr "Ismeretlen hiba"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
+msgid "Unrecognised audio sample format ({})"
msgstr ""
#: src/lib/filter.cc:102
@@ -1859,7 +1859,7 @@ msgid "Vertical flip"
msgstr ""
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1888,16 +1888,16 @@ msgstr ""
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
#: src/lib/hints.cc:203
@@ -1908,7 +1908,7 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -1921,7 +1921,7 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
@@ -1949,7 +1949,7 @@ msgstr ""
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -1958,7 +1958,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
@@ -1970,7 +1970,7 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
@@ -1998,11 +1998,11 @@ msgstr "[álló]"
msgid "[subtitles]"
msgstr "[felirat]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_reel%1"
+msgid "_reel{}"
+msgstr "_reel{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2021,57 +2021,57 @@ msgid "content type"
msgstr "tartalom típusa"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "%1 másolása"
+msgid "copying {}"
+msgstr "{} másolása"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "nem található az adatfolyam információ"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "nem sikerült az atmos anyagot DCP-be írni (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "nem sikerült az atmos anyagot DCP-be írni ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "nem sikerült a hanganyagot DCP-be írni (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "nem sikerült a hanganyagot DCP-be írni ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "nem sikerült a(z) %1 fájlt megnyitni olvasásra (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "nem sikerült a(z) {} fájlt megnyitni olvasásra ({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "nem sikerült a(z) %1 fájlt megnyitni írásra/olvasásra (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "nem sikerült a(z) {} fájlt megnyitni írásra/olvasásra ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "nem sikerült a(z) %1 fájlt megnyitni írásra (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "nem sikerült a(z) {} fájlt megnyitni írásra ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "hiba a fájlból olvasás közben %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "hiba a fájlból olvasás közben {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "hiba a fájlba írás közben %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "hiba a fájlba írás közben {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "hiba a csatlakozás közben (%1)"
+msgid "error during async_connect ({})"
+msgstr "hiba a csatlakozás közben ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "hiba a csatlakozás közben (%1)"
+msgid "error during async_connect: ({})"
+msgstr "hiba a csatlakozás közben ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "hiba az olvasás közben (%1)"
+msgid "error during async_read ({})"
+msgstr "hiba az olvasás közben ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "hiba az írás közben (%1)"
+msgid "error during async_write ({})"
+msgstr "hiba az írás közben ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2090,7 +2090,7 @@ msgstr ""
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
diff --git a/src/lib/po/it_IT.po b/src/lib/po/it_IT.po
index 78f85a57b..6a0d245a8 100644
--- a/src/lib/po/it_IT.po
+++ b/src/lib/po/it_IT.po
@@ -29,10 +29,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Ritagliato a %1x%2"
+"Ritagliato a {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -46,29 +46,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Aggiunto nero per adattare al contenitore %1 (%2x%3)"
+"Aggiunto nero per adattare al contenitore {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Scalato a %1x%2"
+"Scalato a {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " on %1"
+msgid " on {}"
+msgstr " on {}"
#: src/lib/config.cc:1276
#, fuzzy
@@ -99,75 +99,75 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$NOME_LAVORO: $STATO_LAVORO"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
msgstr ""
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [audio]"
+msgid "{} [audio]"
+msgstr "{} [audio]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [film]"
+msgid "{} [movie]"
+msgstr "{} [film]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [video]"
+msgid "{} [video]"
+msgstr "{} [video]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"DCP-o-MATIC non riesce ad aprire il file %1 (%2). Forse non esiste oppure è "
+"DCP-o-MATIC non riesce ad aprire il file {} ({}). Forse non esiste oppure è "
"un formato non riconosciuto."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
msgstr ""
-"DCP-o-MATIC non supporta più il filtro '%1', quindi è stato disattivato."
+"DCP-o-MATIC non supporta più il filtro '{}', quindi è stato disattivato."
#: src/lib/config.cc:441 src/lib/config.cc:1251
#, fuzzy
-msgid "%1 notification"
+msgid "{} notification"
msgstr "Notifica Email"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -257,12 +257,12 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 fps"
+msgid "; {} fps"
+msgstr "; {} fps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 rimanente; alla fine %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} rimanente; alla fine {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -294,7 +294,7 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
@@ -330,8 +330,8 @@ msgstr ""
"preferibile impostare il contenitore DCP su Flat (1.85:1) nel tab \"DCP\"."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Errore durante l'elaborazione del file %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Errore durante l'elaborazione del file {}."
#: src/lib/analyse_audio_job.cc:74
#, fuzzy
@@ -398,12 +398,12 @@ msgid ""
msgstr ""
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "L'audio sarà ricampionato da %1Hz a %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "L'audio sarà ricampionato da {}Hz a {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "L'audio sarà ricampionato a %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "L'audio sarà ricampionato a {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -484,8 +484,8 @@ msgid "Cannot contain slashes"
msgstr "Non può contenere slash"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Impossibile gestire il formato pixel %1 durante %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Impossibile gestire il formato pixel {} durante {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -727,8 +727,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "Il contenuto video è %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Il contenuto video è {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -737,58 +737,58 @@ msgstr "Copia DCP nel TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "copia %1"
+"Copying {}\n"
+"to {}"
+msgstr "copia {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
msgid "Copying DCP"
-msgstr "copia %1"
+msgstr "copia {}"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Copia DCP nel TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Impossibile connettersi al server %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Impossibile connettersi al server {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Impossibile creare la cartella remota %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Impossibile creare la cartella remota {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Impossibile decodificare il file JPEG2000 %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Impossibile decodificare il file JPEG2000 {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
#, fuzzy
-msgid "Could not decode image (%1)"
-msgstr "Impossibile decodificare il file immagine (%1)"
+msgid "Could not decode image ({})"
+msgstr "Impossibile decodificare il file immagine ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Impossibile aprire il file ZIP scaricato"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Impossibile connettersi ai server di codifica remoti. Forse è in esecuzione "
"un'altra istanza di DCP-o-MATIC."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Impossibile aprire %1"
+msgid "Could not open {}"
+msgstr "Impossibile aprire {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Impossibile aprire %1 da inviare"
+msgid "Could not open {} to send"
+msgstr "Impossibile aprire {} da inviare"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
@@ -796,30 +796,30 @@ msgstr "Impossibile aprire il file ZIP scaricato"
#: src/lib/internet.cc:179
#, fuzzy
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
msgstr "Impossibile aprire il file ZIP scaricato"
#: src/lib/config.cc:1178
#, fuzzy
msgid "Could not open file for writing"
-msgstr "impossibile aprire il file %1 per la scrittura (%2)"
+msgstr "impossibile aprire il file {} per la scrittura ({})"
#: src/lib/ffmpeg_file_encoder.cc:271
#, fuzzy
-msgid "Could not open output file %1 (%2)"
-msgstr "Impossibile scrivere il file %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "Impossibile scrivere il file {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Impossibile leggere i sottotitoli (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Impossibile leggere i sottotitoli ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Impossibile avviare il trasferimento"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Impossibile scrivere il file remoto (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Impossibile scrivere il file remoto ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -902,7 +902,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Spett. Proiezionista\n"
"\n"
@@ -917,7 +917,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -927,16 +927,16 @@ msgstr "Dolby CP650 e CP750"
#: src/lib/internet.cc:124
#, fuzzy
-msgid "Download failed (%1 error %2)"
-msgstr "Download fallito (%1/%2 errore %3)"
+msgid "Download failed ({} error {})"
+msgstr "Download fallito ({}/{} errore {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Ogni fotogramma del contenuto sarà ripetuto %1 più volte nel DCP.\n"
+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"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
@@ -944,8 +944,8 @@ msgstr "Email KDM"
#: src/lib/send_kdm_email_job.cc:97
#, fuzzy
-msgid "Email KDMs for %1"
-msgstr "Email KDM per %1"
+msgid "Email KDMs for {}"
+msgstr "Email KDM per {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -956,8 +956,8 @@ msgid "Email problem report"
msgstr "Email rapporto problemi"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Email rapporto problemi per %1"
+msgid "Email problem report for {}"
+msgstr "Email rapporto problemi per {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -968,12 +968,12 @@ msgid "Episode"
msgstr ""
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Errore nel file dei sottotitoli: letto %1 ma era atteso %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Errore nel file dei sottotitoli: letto {} ma era atteso {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Errore: %1"
+msgid "Error: {}"
+msgstr "Errore: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1018,18 +1018,18 @@ msgid "FCP XML subtitles"
msgstr "DCP XML sottotitoli"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Autenticazione con il server fallita (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Autenticazione con il server fallita ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
#, fuzzy
msgid "Failed to encode the DCP."
-msgstr "Invio email fallito (%1)"
+msgstr "Invio email fallito ({})"
#: src/lib/email.cc:250
#, fuzzy
msgid "Failed to send email"
-msgstr "Invio email fallito (%1)"
+msgstr "Invio email fallito ({})"
#: src/lib/dcp_content_type.cc:54
msgid "Feature"
@@ -1074,8 +1074,8 @@ msgid "Full"
msgstr "Completo"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Completo (0-%1)"
+msgid "Full (0-{})"
+msgstr "Completo (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1167,7 +1167,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "Non è chiaro cosa ha causato l'errore."
#: src/lib/ffmpeg_content.cc:614
@@ -1221,8 +1221,8 @@ msgstr "Limitato"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Limitato (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Limitato ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1270,8 +1270,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "La dimensione video nel DCP non corrisponde"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Impostazione obbligatoria mancante %1"
+msgid "Missing required setting {}"
+msgstr "Impostazione obbligatoria mancante {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1317,12 +1317,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (eseguito in: %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (eseguito in: {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (eseguito in: %1)"
+msgid "OK (ran for {})"
+msgstr "OK (eseguito in: {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1345,7 +1345,7 @@ msgstr "Testo sottotitoli"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
@@ -1368,7 +1368,7 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
#: src/lib/dcp_content_type.cc:61
@@ -1384,8 +1384,8 @@ msgid "Prepared for video frame rate"
msgstr "Preparato per la frequenza fotogrammi del video"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Errore di programmazione a %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Errore di programmazione a {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1502,14 +1502,14 @@ msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
#, fuzzy
-msgid "SSH error [%1]"
-msgstr "Errore SSH (%1)"
+msgid "SSH error [{}]"
+msgstr "Errore SSH ({})"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
#, fuzzy
-msgid "SSH error [%1] (%2)"
-msgstr "Errore SSH (%1)"
+msgid "SSH error [{}] ({})"
+msgstr "Errore SSH ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1536,8 +1536,8 @@ msgid "Size"
msgstr "Dimensione"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Parte dell'audio sarà ricampionato a %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Parte dell'audio sarà ricampionato a {}Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1560,7 +1560,7 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
@@ -1639,12 +1639,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "La catena del certificato per la firma non è valida"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "La catena del certificato per la firma non è valida (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "La catena del certificato per la firma non è valida ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1653,7 +1653,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1662,7 +1662,7 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
@@ -1676,20 +1676,20 @@ msgstr ""
"altro spazio e riprovare."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Il file %1 é stato anticipato di %2 millisecondi."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Il file {} é stato anticipato di {} millisecondi."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Il file %1 é stato posticipato di %2 millisecondi."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Il file {} é stato posticipato di {} millisecondi."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Il file %1 é stato tagliato di %2 millisecondi in meno."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Il file {} é stato tagliato di {} millisecondi in meno."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Il file %1 é stato tagliato di %2 millisecondi in piú."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Il file {} é stato tagliato di {} millisecondi in piú."
#: src/lib/hints.cc:268
msgid ""
@@ -1736,19 +1736,19 @@ msgstr ""
"scheda Generale delle Preferenze."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
+msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
#: src/lib/job.cc:142
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Non c'e abbastanza memoria per fare questo. Se si utilizza un sistema "
@@ -1758,7 +1758,7 @@ msgstr ""
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
#: src/lib/exceptions.cc:114
@@ -1772,7 +1772,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Questo film è stato creato con una versione più recente di DCP-o-matic e non "
@@ -1781,7 +1781,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1804,8 +1804,8 @@ msgstr "Trailer"
#: src/lib/transcode_job.cc:75
#, fuzzy
-msgid "Transcoding %1"
-msgstr "Transcodifica %1"
+msgid "Transcoding {}"
+msgstr "Transcodifica {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1837,8 +1837,8 @@ msgid "Unknown error"
msgstr "Errore sconosciuto"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Formato campionamento audio non riconosciuto (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Formato campionamento audio non riconosciuto ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1885,7 +1885,7 @@ msgid "Vertical flip"
msgstr "Vibrazione verticale"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1915,9 +1915,9 @@ msgstr "Altro filtro di deinterlacciamento"
#: src/lib/hints.cc:209
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
"Hai impostato un DCP Interop con una frequenza fotogrammi ufficialmente non "
"supportata . Si consiglia di modificare la frequenza fotogrammi del DCP o di "
@@ -1926,9 +1926,9 @@ msgstr ""
#: src/lib/hints.cc:193
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
"Hai impostato un DCP Interop con una frequenza fotogrammi ufficialmente non "
"supportata . Si consiglia di modificare la frequenza fotogrammi del DCP o di "
@@ -1947,7 +1947,7 @@ msgstr ""
#: src/lib/hints.cc:126
#, fuzzy
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -1967,10 +1967,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Hai %1 files che sembrano provenire da un DVD (files VOB). Dovresti unirli "
+"Hai {} files che sembrano provenire da un DVD (files VOB). Dovresti unirli "
"per assicurare una transizione senza salti."
#: src/lib/film.cc:1665
@@ -1999,7 +1999,7 @@ msgstr "Devi aggiungere dei contenuti al DCP prima di crearlo"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -2008,7 +2008,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
@@ -2024,10 +2024,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Il tuo livello audio è molto alto (su %1). Dovresti ridurre il guadagno del "
+"Il tuo livello audio è molto alto (su {}). Dovresti ridurre il guadagno del "
"tuo contenuto audio."
#: src/lib/playlist.cc:236
@@ -2058,10 +2058,10 @@ msgstr "[fermo immagine]"
msgid "[subtitles]"
msgstr "[sottotitoli]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
+msgid "_reel{}"
msgstr ""
#: src/lib/audio_content.cc:306
@@ -2081,8 +2081,8 @@ msgid "content type"
msgstr "tipo di contenuto"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "copia %1"
+msgid "copying {}"
+msgstr "copia {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
@@ -2090,52 +2090,52 @@ msgstr "non riesco a trovare informazioni sul flusso"
#: src/lib/reel_writer.cc:404
#, fuzzy
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "impossibile spostare la risorsa audio nel DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "impossibile spostare la risorsa audio nel DCP ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "impossibile spostare la risorsa audio nel DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "impossibile spostare la risorsa audio nel DCP ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for read (%2)"
-msgstr "impossibile aprire il file %1 per la lettura (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "impossibile aprire il file {} per la lettura ({})"
#: src/lib/exceptions.cc:38
#, fuzzy
-msgid "could not open file %1 for read/write (%2)"
-msgstr "impossibile aprire il file %1 per la lettura (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "impossibile aprire il file {} per la lettura ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for write (%2)"
-msgstr "impossibile aprire il file %1 per la scrittura (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "impossibile aprire il file {} per la scrittura ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "Impossibile leggere dal file %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "Impossibile leggere dal file {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "Impossibile scrivere il file %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "Impossibile scrivere il file {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "errore durante la connessione asincrona (%1)"
+msgid "error during async_connect ({})"
+msgstr "errore durante la connessione asincrona ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "errore durante la connessione asincrona (%1)"
+msgid "error during async_connect: ({})"
+msgstr "errore durante la connessione asincrona ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "errore durante la lettura asincrona (%1)"
+msgid "error during async_read ({})"
+msgstr "errore durante la lettura asincrona ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "errore durante la scrittura asincrona (%1)"
+msgid "error during async_write ({})"
+msgstr "errore durante la scrittura asincrona ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2154,7 +2154,7 @@ msgstr "il DCP ha una frequenza fotogrammi diversa rispetto al film."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2304,11 +2304,11 @@ msgstr "fotogrammi video"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "Il contenuto da unire deve avere lo stesso guadagno audio."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Impossibile avviare la sessione SCP (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Impossibile avviare la sessione SCP ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "Impossibile avviare la sessione SCP (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "Impossibile avviare la sessione SCP ({})"
#~ msgid "could not start SSH session"
#~ msgstr "Impossibile avviare la sessione SSH"
@@ -2366,13 +2366,13 @@ msgstr "fotogrammi video"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Impossibile scrivere il file remoto (%1)"
+#~ msgstr "Impossibile scrivere il file remoto ({})"
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "c'è un altro file di sottotitoli che si sovrappone; rimuoverlo."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2381,7 +2381,7 @@ msgstr "fotogrammi video"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "Il DCP %1 era contenuto in questo film. Ora non ci sta più, in quanto la "
+#~ "Il DCP {} era contenuto in questo film. Ora non ci sta più, in quanto la "
#~ "dimensione delle parti del film non corrisponde più a quelle del DCP "
#~ "importato.\n"
#~ "\n"
@@ -2404,10 +2404,10 @@ msgstr "fotogrammi video"
#~ msgstr "4:3"
#~ msgid ""
-#~ "Your DCP frame rate (%1 fps) may cause problems in a few (mostly older) "
+#~ "Your DCP frame rate ({} fps) may cause problems in a few (mostly older) "
#~ "projectors. Use 24 or 48 frames per second to be on the safe side."
#~ msgstr ""
-#~ "La velocità dei frame del DCP (%1 fps) può causare problemi in alcuni (i "
+#~ "La velocità dei frame del DCP ({} fps) può causare problemi in alcuni (i "
#~ "più vecchi) proiettori. Usa 24 o 48 frames al secondo per essere sicuro "
#~ "che funzioni."
@@ -2425,11 +2425,11 @@ msgstr "fotogrammi video"
#~ "CPL."
#~ msgstr "La KDM non decripta il DCP. Forse si riferisce alla CPL sbagliata."
-#~ msgid "could not create file %1"
-#~ msgstr "Non posso creare il file (%1)"
+#~ msgid "could not create file {}"
+#~ msgstr "Non posso creare il file ({})"
-#~ msgid "could not open file %1"
-#~ msgstr "non riesco ad aprire %1"
+#~ msgid "could not open file {}"
+#~ msgstr "non riesco ad aprire {}"
#~ msgid "Computing audio digest"
#~ msgstr "Calcolo del digest audio"
@@ -2493,11 +2493,11 @@ msgstr "fotogrammi video"
#~ msgid "could not read encoded data"
#~ msgstr "non riesco a trovare il decoder audio"
-#~ msgid "%1 frames; %2 frames per second"
-#~ msgstr "%1 fotogrammi; %2 fotogrammi al secondo"
+#~ msgid "{} frames; {} frames per second"
+#~ msgstr "{} fotogrammi; {} fotogrammi al secondo"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "persa la chiave %1 tra i valori chiave"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "persa la chiave {} tra i valori chiave"
#~ msgid "sRGB non-linearised"
#~ msgstr "sRGB non linearizzato"
@@ -2591,8 +2591,8 @@ msgstr "fotogrammi video"
#~ msgstr "non riesco a trovare il decoder audio"
#, fuzzy
-#~ msgid "Sound file: %1"
-#~ msgstr "non riesco ad aprire %1"
+#~ msgid "Sound file: {}"
+#~ msgstr "non riesco ad aprire {}"
#~ msgid "1.66 within Flat"
#~ msgstr "1.66 all'interno di Flat"
@@ -2606,14 +2606,14 @@ msgstr "fotogrammi video"
#~ msgid "4:3 within Flat"
#~ msgstr "4:3 all'interno di Flat"
-#~ msgid "A/B transcode %1"
-#~ msgstr "Transcodifica A/B %1"
+#~ msgid "A/B transcode {}"
+#~ msgstr "Transcodifica A/B {}"
#~ msgid "Cannot resample audio as libswresample is not present"
#~ msgstr "Non posso ricampionare l'audio perchè libswresample non è presente"
-#~ msgid "Examine content of %1"
-#~ msgstr "Esamino il contenuto di %1"
+#~ msgid "Examine content of {}"
+#~ msgstr "Esamino il contenuto di {}"
#~ msgid "Scope without stretch"
#~ msgstr "Scope senza stiramento"
@@ -2677,11 +2677,11 @@ msgstr "fotogrammi video"
#~ msgstr ""
#~ "Sorgente scalato per adattarsi a Scope mantentendo le sue proporzioni"
-#~ msgid "adding to queue of %1"
-#~ msgstr "aggiungo alla coda %1"
+#~ msgid "adding to queue of {}"
+#~ msgstr "aggiungo alla coda {}"
-#~ msgid "decoder sleeps with queue of %1"
-#~ msgstr "il decoder è in pausa con la coda di %1"
+#~ msgid "decoder sleeps with queue of {}"
+#~ msgstr "il decoder è in pausa con la coda di {}"
-#~ msgid "decoder wakes with queue of %1"
-#~ msgstr "il decoder riparte con la coda di %1"
+#~ msgid "decoder wakes with queue of {}"
+#~ msgstr "il decoder riparte con la coda di {}"
diff --git a/src/lib/po/nl_NL.po b/src/lib/po/nl_NL.po
index cc8bbcfbc..ad4898ad2 100644
--- a/src/lib/po/nl_NL.po
+++ b/src/lib/po/nl_NL.po
@@ -30,10 +30,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Bijgesneden naar %1x%2"
+"Bijgesneden naar {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -47,29 +47,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Opgevuld met zwart om in container %1 (%2x%3) te passen"
+"Opgevuld met zwart om in container {} ({}x{}) te passen"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Geschaald naar %1x%2"
+"Geschaald naar {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " op %1"
+msgid " on {}"
+msgstr " op {}"
#: src/lib/config.cc:1276
msgid ""
@@ -100,82 +100,82 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [audio]"
+msgid "{} [audio]"
+msgstr "{} [audio]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [video]"
+msgid "{} [movie]"
+msgstr "{} [video]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [video]"
+msgid "{} [video]"
+msgstr "{} [video]"
#: src/lib/job.cc:181 src/lib/job.cc:196
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"%1 kan het bestand %2 (%3) niet openen. Misschien bestaat het niet of wordt "
+"{} kan het bestand {} ({}) niet openen. Misschien bestaat het niet of wordt "
"het formaat niet ondersteund."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
-"%1 moest uw instellingen voor refereren aan DCP's als OV wijzigen. "
+"{} moest uw instellingen voor refereren aan DCP's als OV wijzigen. "
"Controleer a.u.b. deze instellingen om er zeker van te zijn dat ze zijn "
"zoals u wilt."
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
-"%1 moest uw instellingen wijzigen zodat de frame rate van de film hetzelfde "
+"{} moest uw instellingen wijzigen zodat de frame rate van de film hetzelfde "
"is als die van uw Atmos-content."
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
-"%1 moest een van uw aangepaste reel-grenzen verwijderen omdat deze niet meer "
+"{} moest een van uw aangepaste reel-grenzen verwijderen omdat deze niet meer "
"binnen de film valt."
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
-"%1 moest een aantal van uw aangepaste reel-grenzen verwijderen, omdat ze "
+"{} moest een aantal van uw aangepaste reel-grenzen verwijderen, omdat ze "
"niet meer binnen de film vallen."
#: src/lib/ffmpeg_content.cc:115
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
msgstr ""
-"%1 ondersteunt het filter `%2' niet langer, daarom is het uitgeschakeld."
+"{} ondersteunt het filter `{}' niet langer, daarom is het uitgeschakeld."
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
-msgstr "%1 notificatie"
+msgid "{} notification"
+msgstr "{} notificatie"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
-msgstr "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
+msgstr "{}; {}/{} frames"
#: src/lib/video_content.cc:463
#, c-format
@@ -266,12 +266,12 @@ msgstr "9"
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 fps"
+msgid "; {} fps"
+msgstr "; {} fps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 resterend; klaar om %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} resterend; klaar om {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -315,11 +315,11 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
"Een ondertitel of closed caption bestand in dit project is gemarkeerd met de "
-"taal '%1', die %2 niet herkent. De taal van het bestand is gewist."
+"taal '{}', die {} niet herkent. De taal van het bestand is gewist."
#: src/lib/ffmpeg_content.cc:639
msgid "ARIB STD-B67 ('Hybrid log-gamma')"
@@ -353,8 +353,8 @@ msgstr ""
"beeldverhouding als uw content in te stellen."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Er is een fout opgetreden bij de verwerking van bestand %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Er is een fout opgetreden bij de verwerking van bestand {}."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -435,12 +435,12 @@ msgstr ""
"tabblad."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Audio wordt geresampled van %1Hz naar %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Audio wordt geresampled van {}Hz naar {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Audio wordt geresampled naar %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Audio wordt geresampled naar {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -520,8 +520,8 @@ msgid "Cannot contain slashes"
msgstr "Mag geen slash bevatten"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Kan pixelformaat %1 niet verwerken tijdens %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Kan pixelformaat {} niet verwerken tijdens {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -766,8 +766,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "Content-video is %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Content-video is {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -776,9 +776,9 @@ msgstr "Kopieer DCP naar TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "kopiëren van %1"
+"Copying {}\n"
+"to {}"
+msgstr "kopiëren van {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -787,72 +787,72 @@ msgstr "Combineer DCP's"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Kopieer DCP naar TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Kan geen verbinding maken met server %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Kan geen verbinding maken met server {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Kan externe map %1 niet aanmaken (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Kan externe map {} niet aanmaken ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Kan JPEG2000-bestand %1 niet decoderen (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Kan JPEG2000-bestand {} niet decoderen ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "Kan beeld niet decoderen (%1)"
+msgid "Could not decode image ({})"
+msgstr "Kan beeld niet decoderen ({})"
#: src/lib/unzipper.cc:76
-msgid "Could not find file %1 in ZIP file"
-msgstr "Kan bestand %1 niet in ZIP-bestand vinden"
+msgid "Could not find file {} in ZIP file"
+msgstr "Kan bestand {} niet in ZIP-bestand vinden"
#: src/lib/encode_server_finder.cc:197
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Kan niet luisteren naar externe encodeer-servers. Misschien draait er al "
-"een andere instantie van %1."
+"een andere instantie van {}."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Kan %1 niet openen"
+msgid "Could not open {}"
+msgstr "Kan {} niet openen"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Kan %1 niet openen om te verzenden"
+msgid "Could not open {} to send"
+msgstr "Kan {} niet openen om te verzenden"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "Kan gedownload ZIP-bestand niet openen"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "Kan gedownload ZIP-bestand niet openen (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "Kan gedownload ZIP-bestand niet openen ({}:{}: {})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
msgstr "Kan bestand niet openen om te schrijven"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
-msgstr "Kan output-bestand %1 niet openen (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "Kan output-bestand {} niet openen ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Kan ondertitels niet lezen (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Kan ondertitels niet lezen ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Kan overdracht niet starten"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Kan extern bestand niet schrijven (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Kan extern bestand niet schrijven ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -940,7 +940,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Geachte Operateur,\n"
"\n"
@@ -952,35 +952,35 @@ msgstr ""
"De KDM's zijn geldig van $START_TIME tot $END_TIME.\n"
"\n"
"Met vriendelijke groet,\n"
-"%1"
+"{}"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
-msgstr "Schijf vol bij het schrijven van %1"
+msgid "Disk full when writing {}"
+msgstr "Schijf vol bij het schrijven van {}"
#: src/lib/dolby_cp750.cc:31
msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 of CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Download mislukt (%1 fout %2)"
+msgid "Download failed ({} error {})"
+msgstr "Download mislukt ({} fout {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Elk content frame zal %1 keer herhaald worden in de DCP.\n"
+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"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "E-mail KDM's"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "E-mail KDM's voor %2"
+msgid "Email KDMs for {}"
+msgstr "E-mail KDM's voor {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -991,8 +991,8 @@ msgid "Email problem report"
msgstr "E-mail probleemrapport"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "E-mail probleemrapport voor %1"
+msgid "Email problem report for {}"
+msgstr "E-mail probleemrapport voor {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -1003,12 +1003,12 @@ msgid "Episode"
msgstr "Episode"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Fout in ondertitelbestand: %1 gelezen terwijl %2 verwacht werd"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Fout in ondertitelbestand: {} gelezen terwijl {} verwacht werd"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Fout: %1"
+msgid "Error: {}"
+msgstr "Fout: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1047,8 +1047,8 @@ msgid "FCP XML subtitles"
msgstr "FCP XML ondertitels"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Authenticatiefout met server (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Authenticatiefout met server ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1100,8 +1100,8 @@ msgid "Full"
msgstr "Full"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Full (0-%1)"
+msgid "Full (0-{})"
+msgstr "Full (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1202,8 +1202,8 @@ msgstr ""
"de DCP te plaatsen om er zeker van te zijn dat deze wordt gezien."
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
-msgid "It is not known what caused this error. %1"
-msgstr "Het is onbekend hoe deze fout is ontstaan. %1"
+msgid "It is not known what caused this error. {}"
+msgstr "Het is onbekend hoe deze fout is ontstaan. {}"
#: src/lib/ffmpeg_content.cc:614
msgid "JEDEC P22"
@@ -1255,8 +1255,8 @@ msgid "Limited"
msgstr "Limited"
#: src/lib/ffmpeg_content.cc:557
-msgid "Limited / video (%1-%2)"
-msgstr "Limited / video (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Limited / video ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1304,8 +1304,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "Ongelijke beeldgroottes in DCP"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Ontbrekende verplichte instelling %1"
+msgid "Missing required setting {}"
+msgstr "Ontbrekende verplichte instelling {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1352,12 +1352,12 @@ msgid "OK"
msgstr "OK"
#: src/lib/job.cc:622
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (%1 bezig, van %2 tot %3)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK ({} bezig, van {} tot {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (%1 bezig)"
+msgid "OK (ran for {})"
+msgstr "OK ({} bezig)"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1381,9 +1381,9 @@ msgstr "Open ondertitels"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
-"Open het project in %1, controleer de instellingen en bewaar voordat u het "
+"Open het project in {}, controleer de instellingen en bewaar voordat u het "
"opnieuw probeert."
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
@@ -1406,10 +1406,10 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Rapporteer dit probleem a.u.b. via \"Help -> Meld een probleem...\" of per e-"
-"mail naar %1"
+"mail naar {}"
#: src/lib/dcp_content_type.cc:61
msgid "Policy"
@@ -1424,8 +1424,8 @@ msgid "Prepared for video frame rate"
msgstr "Voorbereid voor video frame rate"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Programmeerfout op %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Programmeerfout op {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1545,13 +1545,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "SSH-fout [%1]"
+msgid "SSH error [{}]"
+msgstr "SSH-fout [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "SSH-fout [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "SSH-fout [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1578,8 +1578,8 @@ msgid "Size"
msgstr "Grootte"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Een deel van de audio wordt geresampled naar %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Een deel van de audio wordt geresampled naar {}Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1611,10 +1611,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Een deel van uw closed captions heeft meer dan %1 regels, dus worden ze "
+"Een deel van uw closed captions heeft meer dan {} regels, dus worden ze "
"afgekapt."
#: src/lib/hints.cc:727
@@ -1698,18 +1698,18 @@ msgid "The certificate chain for signing is invalid"
msgstr "De certificaat-keten voor ondertekening is ongeldig"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "De certificaat-keten voor ondertekening is ongeldig (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "De certificaat-keten voor ondertekening is ongeldig ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
"Preferences."
msgstr ""
-"De certificaat-keten die %1 gebruikt voor het ondertekenen van DCP's en "
+"De certificaat-keten die {} gebruikt voor het ondertekenen van DCP's en "
"KDM's bevat een kleine fout die ervoor zorgt dat DCP's als incorrect worden "
"gevalideerd op sommige systemen. U wordt geadviseerd om deze certificaat-"
"keten opnieuw aan te maken door op de knop \"Maak certificaten en sleutel "
@@ -1717,13 +1717,13 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
"Preferences."
msgstr ""
-"De certificaat-keten die %1 gebruikt voor het ondertekenen van DCP's en "
+"De certificaat-keten die {} gebruikt voor het ondertekenen van DCP's en "
"KDM's heeft een te lange geldigheidsduur. Dit zal op sommige systemen "
"problemen veroorzaken bij het afspelen van DCP's. U wordt geadviseerd om "
"deze certificaat-keten opnieuw aan te maken door op de knop \"Maak "
@@ -1732,11 +1732,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"Het content-bestand %1 is ingesteld als 3D, maar lijkt geen 3D-beelden te "
+"Het content-bestand {} is ingesteld als 3D, maar lijkt geen 3D-beelden te "
"bevatten. Stel het a.u.b. in op 2D. U kunt nog steeds een 3D-DCP van deze "
"content maken door in het \"DCP/Video\"-tabblad de 3D-optie aan te vinken."
@@ -1749,20 +1749,20 @@ msgstr ""
"meer ruimte vrij en probeer het opnieuw."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Het bestand %1 is naar %2 milliseconden eerder verplaatst."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Het bestand {} is naar {} milliseconden eerder verplaatst."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Het bestand %1 is naar %2 milliseconden later verplaatst."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Het bestand {} is naar {} milliseconden later verplaatst."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Van het bestand %1 is %2 milliseconden minder weggeknipt."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Van het bestand {} is {} milliseconden minder weggeknipt."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Van het bestand %1 is %2 milliseconden meer weggeknipt."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Van het bestand {} is {} milliseconden meer weggeknipt."
#: src/lib/hints.cc:268
msgid ""
@@ -1815,32 +1815,32 @@ msgstr ""
"32-bits operating system draait."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
-msgstr "Deze KDM is gemaakt voor %1 maar niet voor het leaf-certificaat."
+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:984
-msgid "This KDM was not made for %1's decryption certificate."
-msgstr "Deze KDM is niet gemaakt voor het ontsleutelings-certificaat van %1."
+msgid "This KDM was not made for {}'s decryption certificate."
+msgstr "Deze KDM is niet gemaakt voor het ontsleutelings-certificaat van {}."
#: src/lib/job.cc:142
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
-"Deze fout is waarschijnlijk opgetreden omdat u de 32-bits versie van %1 "
+"Deze fout is waarschijnlijk opgetreden omdat u de 32-bits versie van {} "
"gebruikt en probeert te veel encoderings-threads te gebruiken. Verminder "
-"a.u.b. het 'Aantal threads dat %2 moet gebruiken' in het \"Algemeen\"-"
+"a.u.b. het 'Aantal threads dat {} moet gebruiken' in het \"Algemeen\"-"
"tabblad bij Voorkeuren en probeer het opnieuw."
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
-"Deze fout is waarschijnlijk opgetreden omdat u de 32-bits versie van %1 "
-"gebruikt. Installeer a.u.b. de 64-bits versie van %2 en probeer het opnieuw."
+"Deze fout is waarschijnlijk opgetreden omdat u de 32-bits versie van {} "
+"gebruikt. Installeer a.u.b. de 64-bits versie van {} en probeer het opnieuw."
#: src/lib/exceptions.cc:114
msgid ""
@@ -1853,19 +1853,19 @@ msgstr ""
#: src/lib/film.cc:544
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
-"Deze film is aangemaakt met een nieuwere versie van %1 en kan niet met deze "
+"Deze film is aangemaakt met een nieuwere versie van {} en kan niet met deze "
"versie geladen worden. Sorry!"
#: src/lib/film.cc:525
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
-"Deze film is aangemaakt met een oudere versie van %1 en kan niet met deze "
+"Deze film is aangemaakt met een oudere versie van {} en kan niet met deze "
"versie geladen worden. U moet een nieuwe film aanmaken en de content "
"opnieuw toevoegen en configureren. Sorry!"
@@ -1882,8 +1882,8 @@ msgid "Trailer"
msgstr "Trailer"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Transcoderen %1"
+msgid "Transcoding {}"
+msgstr "Transcoderen {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1914,8 +1914,8 @@ msgid "Unknown error"
msgstr "Onbekende fout"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Niet-herkend audio sample-formaat (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Niet-herkend audio sample-formaat ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1962,8 +1962,8 @@ msgid "Vertical flip"
msgstr "Spiegel verticaal"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
-msgstr "Video refereert aan ontbrekende asset %1"
+msgid "Video refers to missing asset {}"
+msgstr "Video refereert aan ontbrekende asset {}"
#: src/lib/util.cc:596
msgid "Visually impaired"
@@ -1991,23 +1991,23 @@ msgstr "Yet Another Deinterlacing Filter"
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"U heeft een frame rate van %1 fps voor de DCP ingesteld. Deze frame rate "
+"U heeft een frame rate van {} fps voor de DCP ingesteld. Deze frame rate "
"wordt niet door alle projectoren ondersteund. U wordt geadviseerd om de DCP "
-"frame rate te wijzigen in %2 fps."
+"frame rate te wijzigen in {} fps."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"U heeft een frame rate van %1 fps voor de DCP ingesteld. Deze frame rate "
+"U heeft een frame rate van {} fps voor de DCP ingesteld. Deze frame rate "
"wordt niet door alle projectoren ondersteund. U kunt overwegen om de DCP "
-"frame rate te wijzigen in %2 fps."
+"frame rate te wijzigen in {} fps."
#: src/lib/hints.cc:203
msgid ""
@@ -2020,11 +2020,11 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
-"U gebruikt de stereo naar 5.1 up-mixer van %1. Deze is experimenteel en kan "
+"U gebruikt de stereo naar 5.1 up-mixer van {}. Deze is experimenteel en kan "
"leiden tot audio van slechte kwaliteit. Als u doorgaat, kunt u beter in een "
"bioscoop naar de resulterende DCP luisteren om er zeker van te zijn dat het "
"goed klinkt."
@@ -2039,10 +2039,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"U heeft %1 bestanden die VOB-bestanden van een DVD lijken te zijn. U kunt "
+"U heeft {} bestanden die VOB-bestanden van een DVD lijken te zijn. U kunt "
"deze beter samenvoegen om van soepele aansluitingen verzekerd te zijn."
#: src/lib/film.cc:1665
@@ -2075,11 +2075,11 @@ msgstr "U moet content aan de DCP toevoegen voor hij gemaakt kan worden"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
-"Uw DCP heeft %1 audio-kanalen in plaats van 8 of 16. Dit kan ertoe leiden "
+"Uw DCP heeft {} audio-kanalen in plaats van 8 of 16. Dit kan ertoe leiden "
"dat sommige distributeurs QC-fouten (Quality Control) melden wanneer zij uw "
"DCP controleren. Om dit te voorkomen, stelt u het aantal audio-kanalen van "
"de DCP in op 8 of 16."
@@ -2088,12 +2088,12 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"Uw DCP heeft minder dan 6 audio-kanalen. Dit kan problemen geven met "
"sommige installaties. Mogelijk wilt u de DCP instellen op 6 kanalen. Het "
-"maakt niet uit of uw content minder kanalen heeft, %1 vult de extra kanalen "
+"maakt niet uit of uw content minder kanalen heeft, {} vult de extra kanalen "
"met stilte."
#: src/lib/hints.cc:168
@@ -2107,10 +2107,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Uw audio-niveau is zeer hoog (op %1). U kunt beter de versterking van uw "
+"Uw audio-niveau is zeer hoog (op {}). U kunt beter de versterking van uw "
"audio-content verminderen."
#: src/lib/playlist.cc:236
@@ -2140,11 +2140,11 @@ msgstr "[stilstaand beeld]"
msgid "[subtitles]"
msgstr "[ondertitels]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_reel%1"
+msgid "_reel{}"
+msgstr "_reel{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2163,56 +2163,56 @@ msgid "content type"
msgstr "content-type"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "kopiëren van %1"
+msgid "copying {}"
+msgstr "kopiëren van {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "kan geen stream-informatie vinden"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "kan Atmos asset niet naar de DCP verplaatsen (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "kan Atmos asset niet naar de DCP verplaatsen ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "kan audio asset niet naar de DCP verplaatsen (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "kan audio asset niet naar de DCP verplaatsen ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "kan bestand %1 niet openen om te lezen (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "kan bestand {} niet openen om te lezen ({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "kan bestand %1 niet openen om te lezen/schrijven (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "kan bestand {} niet openen om te lezen/schrijven ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "kan bestand %1 niet openen om te schrijven (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "kan bestand {} niet openen om te schrijven ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "kan niet lezen uit bestand %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "kan niet lezen uit bestand {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "kan niet schrijven naar bestand %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "kan niet schrijven naar bestand {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "fout tijdens async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "fout tijdens async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
-msgid "error during async_connect: (%1)"
-msgstr "fout tijdens async_connect: (%1)"
+msgid "error during async_connect: ({})"
+msgstr "fout tijdens async_connect: ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "fout tijdens async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "fout tijdens async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "fout tijdens async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "fout tijdens async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2231,10 +2231,10 @@ msgstr "hij heeft een andere frame rate dan de film."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
"hij heeft een ander aantal audio-kanalen dan het project; stel het project "
-"in op %1 kanalen."
+"in op {} kanalen."
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
#: src/lib/dcp_content.cc:789
@@ -2399,20 +2399,20 @@ msgstr "video frames"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "Samen te voegen content moet dezelfde audio-taal hebben."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Kan SCP-sessie niet starten (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Kan SCP-sessie niet starten ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "kan SCP-sessie niet starten (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "kan SCP-sessie niet starten ({})"
#~ msgid "could not start SSH session"
#~ msgstr "kan SSH-sessie niet starten"
#~ msgid ""
-#~ "Some of your closed captions have lines longer than %1 characters, so "
+#~ "Some of your closed captions have lines longer than {} characters, so "
#~ "they will probably be word-wrapped."
#~ msgstr ""
-#~ "Een deel van uw closed captions heeft regels die langer zijn dan %1 "
+#~ "Een deel van uw closed captions heeft regels die langer zijn dan {} "
#~ "tekens, dus waarschijnlijk worden ze afgebroken."
#~ msgid "No scale"
@@ -2469,15 +2469,15 @@ msgstr "video frames"
#~ msgid "Could not write whole file"
#~ msgstr "Kan niet het volledige bestand schrijven"
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Kan beeldbestand %1 niet decoderen (%2)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Kan beeldbestand {} niet decoderen ({})"
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr ""
#~ "hij overlapt met andere ondertitel-content; verwijder deze andere content."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2486,7 +2486,7 @@ msgstr "video frames"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "Er werd aan de DCP %1 gerefereerd door deze film. Dat is nu niet meer "
+#~ "Er werd aan de DCP {} gerefereerd door deze film. Dat is nu niet meer "
#~ "mogelijk omdat de reel-lengtes van de film en de geïmporteerde DCP niet "
#~ "meer overeenkomen.\n"
#~ "\n"
@@ -2512,10 +2512,10 @@ msgstr "video frames"
#~ msgstr "1,43:1 (IMAX)"
#~ msgid ""
-#~ "Your DCP frame rate (%1 fps) may cause problems in a few (mostly older) "
+#~ "Your DCP frame rate ({} fps) may cause problems in a few (mostly older) "
#~ "projectors. Use 24 or 48 frames per second to be on the safe side."
#~ msgstr ""
-#~ "Uw DCP frame rate (%1 fps) kan problemen geven met sommige (oudere) "
+#~ "Uw DCP frame rate ({} fps) kan problemen geven met sommige (oudere) "
#~ "projectoren. Gebruik 24 of 48 frames per seconde voor zekerheid."
#~ msgid "Finding length and subtitles"
diff --git a/src/lib/po/pl_PL.po b/src/lib/po/pl_PL.po
index 4beea247b..52ea83d15 100644
--- a/src/lib/po/pl_PL.po
+++ b/src/lib/po/pl_PL.po
@@ -32,10 +32,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Wykadrowany do %1x%2"
+"Wykadrowany do {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -49,29 +49,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Dodane czarne pasy, aby dopasować do formatu %1 (%2x%3)"
+"Dodane czarne pasy, aby dopasować do formatu {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Przeskalowany do %1x%2"
+"Przeskalowany do {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " w %1"
+msgid " on {}"
+msgstr " w {}"
#: src/lib/config.cc:1276
#, fuzzy
@@ -102,42 +102,42 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [dźwięk]"
+msgid "{} [audio]"
+msgstr "{} [dźwięk]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [film]"
+msgid "{} [movie]"
+msgstr "{} [film]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [obraz]"
+msgid "{} [video]"
+msgstr "{} [obraz]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"DCP-o-matic nie mógł otworzyć pliku %1 (%2). Plik nie istnieje lub jest w "
+"DCP-o-matic nie mógł otworzyć pliku {} ({}). Plik nie istnieje lub jest w "
"niewspieranym formacie."
#: src/lib/film.cc:1702
#, fuzzy
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
"Program DCP-o-matic musiał zmienić ustawienia Projektu, żeby DCP mógł zostać "
@@ -147,7 +147,7 @@ msgstr ""
#: src/lib/film.cc:1668
#, fuzzy
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
"Program DCP-o-matic musiał zmienić ustawienia Projektu, żeby liczba klatek/s "
@@ -155,29 +155,29 @@ msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "DCP-o-matic nie wspiera już filtru `%1', więc został on wyłączony."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "DCP-o-matic nie wspiera już filtru `{}', więc został on wyłączony."
#: src/lib/config.cc:441 src/lib/config.cc:1251
#, fuzzy
-msgid "%1 notification"
+msgid "{} notification"
msgstr "Powiadomienie email"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
-msgstr "%1; %2/%3 klatki"
+msgid "{}; {}/{} frames"
+msgstr "{}; {}/{} klatki"
#: src/lib/video_content.cc:463
#, c-format
@@ -269,12 +269,12 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 kl/s"
+msgid "; {} fps"
+msgstr "; {} kl/s"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 pozostało; koniec o %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} pozostało; koniec o {}{}"
#: src/lib/analytics.cc:58
#, fuzzy, c-format, c++-format
@@ -319,11 +319,11 @@ msgstr ""
#, fuzzy
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
"Plik napisów lub plik napisów kodowanych w tym Projekcie ma oznaczenie "
-"języka '%1', którego DCP-o-matic nie rozpoznaje. Oznaczenie języka zostało "
+"języka '{}', którego DCP-o-matic nie rozpoznaje. Oznaczenie języka zostało "
"wyczyszczone."
#: src/lib/ffmpeg_content.cc:639
@@ -358,8 +358,8 @@ msgstr ""
"kontener DCP na Flat (1.85:1) w zakładce \"DCP\"."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Wystąpił błąd podczas przetwarzania pliku %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Wystąpił błąd podczas przetwarzania pliku {}."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -443,12 +443,12 @@ msgstr ""
"„Zawartość→Plik z napisami” albo „Zawartość→Napisy kodowane”."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Próbkowanie dźwięku zostanie zmienione z %1Hz na %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Próbkowanie dźwięku zostanie zmienione z {}Hz na {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Próbkowanie dźwięku zostanie zmienione na %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Próbkowanie dźwięku zostanie zmienione na {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -528,8 +528,8 @@ msgid "Cannot contain slashes"
msgstr "Nie może zawierać ukośników"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Nie można przetworzyć modelu barw %1 podczas %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Nie można przetworzyć modelu barw {} podczas {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -760,8 +760,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "Rozdzielczość pliku video %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Rozdzielczość pliku video {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -770,9 +770,9 @@ msgstr "Kopiuj DCP do TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "kopiowanie %1"
+"Copying {}\n"
+"to {}"
+msgstr "kopiowanie {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -781,74 +781,74 @@ msgstr "Połącz paczki DCP"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Kopiuj DCP do TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Nie można połączyć z serwerem %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Nie można połączyć z serwerem {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Nie można utworzyć zdalnego katalogu %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Nie można utworzyć zdalnego katalogu {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Nie można zdekodować pliku JPEG2000 %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Nie można zdekodować pliku JPEG2000 {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "Nie można zdekodować pliku obrazu (%1)"
+msgid "Could not decode image ({})"
+msgstr "Nie można zdekodować pliku obrazu ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Nie udało się otworzyć pobranego archiwum ZIP"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Nie można nasłuchiwać serwerów zdalnych. Być może jest uruchomione drugie "
"okno DCP-o-matic."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Nie udało się otworzyć %1"
+msgid "Could not open {}"
+msgstr "Nie udało się otworzyć {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Nie udało się otworzyć %1 do wysłania"
+msgid "Could not open {} to send"
+msgstr "Nie udało się otworzyć {} do wysłania"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "Nie udało się otworzyć pobranego archiwum ZIP"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "Nie udało się otworzyć pobranego archiwum ZIP (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "Nie udało się otworzyć pobranego archiwum ZIP ({}:{}: {})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
msgstr "Nie udało się otworzyć pliku do zapisu"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
-msgstr "Nie udało się otworzyć pliku wyjściowego %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "Nie udało się otworzyć pliku wyjściowego {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Nie udało się odczytać napisów (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Nie udało się odczytać napisów ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Nie udało się rozpocząć transferu"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Nie udało się zapisać do pliku zdalnego (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Nie udało się zapisać do pliku zdalnego ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -931,7 +931,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Szanowni,\n"
"\n"
@@ -946,7 +946,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -954,16 +954,16 @@ msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 lub CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Pobieranie nie powiodło się (%1 błąd %2)"
+msgid "Download failed ({} error {})"
+msgstr "Pobieranie nie powiodło się ({} błąd {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Każda klatka materiału będzie powtórzona %1 razy w DCP.\n"
+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"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
@@ -971,8 +971,8 @@ msgstr "Wyślij KDMy"
#: src/lib/send_kdm_email_job.cc:97
#, fuzzy
-msgid "Email KDMs for %1"
-msgstr "Wyślij KDMy do %2"
+msgid "Email KDMs for {}"
+msgstr "Wyślij KDMy do {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -983,8 +983,8 @@ msgid "Email problem report"
msgstr "Wyślij raport błędu"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Wyślij raport błędu do %1"
+msgid "Email problem report for {}"
+msgstr "Wyślij raport błędu do {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -995,12 +995,12 @@ msgid "Episode"
msgstr "Odcinek"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Błąd w pliku napisów: jest %1, powinno być %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Błąd w pliku napisów: jest {}, powinno być {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Błąd: %1"
+msgid "Error: {}"
+msgstr "Błąd: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1041,8 +1041,8 @@ msgid "FCP XML subtitles"
msgstr "Napisy DCP XML"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Błąd uwierzytelniania na serwerze (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Błąd uwierzytelniania na serwerze ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1095,8 +1095,8 @@ msgid "Full"
msgstr "Pełny"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Pełny (0-%1)"
+msgid "Full (0-{})"
+msgstr "Pełny (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1195,7 +1195,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "Wystąpił nieznany błąd."
#: src/lib/ffmpeg_content.cc:614
@@ -1249,8 +1249,8 @@ msgstr "Ograniczony"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Ograniczony (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Ograniczony ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1298,8 +1298,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "Nieprawidłowe rozmiary plików obrazu w DCP"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Brakuje wymaganych ustawień %1"
+msgid "Missing required setting {}"
+msgstr "Brakuje wymaganych ustawień {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1345,12 +1345,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (czas trwania %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (czas trwania {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (czas trwania %1)"
+msgid "OK (ran for {})"
+msgstr "OK (czas trwania {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1372,7 +1372,7 @@ msgstr "Napisy otwarte"
#: src/lib/transcode_job.cc:116
#, fuzzy
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
"Otwórz Projekt w programie DCP-o-matic, sprawdź ustawienia, a następnie "
"zapisz je przed ponowną próbą."
@@ -1398,7 +1398,7 @@ msgstr "P3"
#, fuzzy
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Zgłoś ten problem używając menu „Pomoc -> Zgłoś błąd albo napisz maila do "
"carl@dcpomatic.com”"
@@ -1416,8 +1416,8 @@ msgid "Prepared for video frame rate"
msgstr "Przygotowany na liczbę kl/s"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Błąd programowania w linii %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Błąd programowania w linii {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1537,13 +1537,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "Błąd SSH [%1]"
+msgid "SSH error [{}]"
+msgstr "Błąd SSH [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "Błąd SSH [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "Błąd SSH [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1570,8 +1570,8 @@ msgid "Size"
msgstr "Rozdzielczość"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Nastąpi zmiana częstotliwości niektórych ścieżek dźwiękowych do %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Nastąpi zmiana częstotliwości niektórych ścieżek dźwiękowych do {}Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1600,10 +1600,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Niektóre z napisów dzielą się na więcej niż %1 linii, dlatego zostaną "
+"Niektóre z napisów dzielą się na więcej niż {} linii, dlatego zostaną "
"przycięte."
#: src/lib/hints.cc:727
@@ -1686,12 +1686,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "Certyfikat jest nieprawidłowy"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "Certyfikat jest nieprawidłowy (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "Certyfikat jest nieprawidłowy ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1700,7 +1700,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1709,11 +1709,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"Dodany materiał %1 jest ustawiony jako 3D, ale nie wykryto w nim obrazów "
+"Dodany materiał {} jest ustawiony jako 3D, ale nie wykryto w nim obrazów "
"3D. Ustaw rodzaj wideo na 2D. Możesz stworzyć paczkę DCP 3D zawierającą "
"ten materiał zaznaczając opcję 3D w zakładce „DCP”."
@@ -1726,20 +1726,20 @@ msgstr ""
"miejsce na dysku i spróbuj ponownie."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Plik %1 został przesunięty o 2% milisekund wcześniej."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Plik {} został przesunięty o 2% milisekund wcześniej."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Plik %1 został przesunięty o 2% milisekund później."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Plik {} został przesunięty o 2% milisekund później."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Długość pliku %1 została skrócona o %2 milisekund."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Długość pliku {} została skrócona o {} milisekund."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Długość pliku %1 została wydłużona o %2 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:268
msgid ""
@@ -1785,14 +1785,14 @@ msgstr ""
#: src/lib/util.cc:986
#, fuzzy
-msgid "This KDM was made for %1 but not for its leaf certificate."
+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:984
#, fuzzy
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
"Ten klucz KDM jest niekompatybilny z certyfikatem deszyfrującym programu DCP-"
"o-matic."
@@ -1801,8 +1801,8 @@ msgstr ""
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Obecny błąd wystąpił, ponieważ używasz 32-bitowej wersji programu DCP-o-"
@@ -1814,7 +1814,7 @@ msgstr ""
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
"Obecny błąd wystąpił, ponieważ używasz 32-bitowej wersji programu DCP-o-"
"matic. Zainstaluj ponownie program w wersji 64-bitowej i spróbuj ponownie."
@@ -1831,7 +1831,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Projekt został utworzony przy pomocy nowszej wersji DCP-o-matic i nie może "
@@ -1840,7 +1840,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1861,8 +1861,8 @@ msgid "Trailer"
msgstr "Zwiastun"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Transkodowanie %1"
+msgid "Transcoding {}"
+msgstr "Transkodowanie {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1893,8 +1893,8 @@ msgid "Unknown error"
msgstr "Nieznany błąd"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Nieznany rodzaj pliku dźwiękowego (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Nieznany rodzaj pliku dźwiękowego ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1941,7 +1941,7 @@ msgid "Vertical flip"
msgstr "Przerzuć w pionie"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1971,23 +1971,23 @@ msgstr "I jeszcze jeden filtr usuwania przeplotu"
#: src/lib/hints.cc:209
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"Docelowy DCP ma ustawiony %1 FPS. Wybrana liczba klatek/s nie jest "
+"Docelowy DCP ma ustawiony {} FPS. Wybrana liczba klatek/s nie jest "
"obsługiwana przez wszystkie projektory. Zaleca się zmianę liczby klatek/s "
-"na wartość %2 FPS."
+"na wartość {} FPS."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"Docelowy DCP ma ustawiony %1 FPS. Wybrana liczba klatek/s nie jest "
+"Docelowy DCP ma ustawiony {} FPS. Wybrana liczba klatek/s nie jest "
"obsługiwana przez wszystkie projektory. Rozważ zmianę liczby klatek/s na "
-"wartość %2 FPS."
+"wartość {} FPS."
#: src/lib/hints.cc:203
msgid ""
@@ -2001,7 +2001,7 @@ msgstr ""
#: src/lib/hints.cc:126
#, fuzzy
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -2021,10 +2021,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Używasz %1 plików, które zdają się być plikami .vob z DVD. Powinieneś je "
+"Używasz {} plików, które zdają się być plikami .vob z DVD. Powinieneś je "
"połączyć w jeden plik, by mieć pewność płynnych przejść kolejnych fragmentów."
#: src/lib/film.cc:1665
@@ -2057,7 +2057,7 @@ msgstr "Musisz najpierw dodać materiały zanim utworzysz DCP"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -2067,7 +2067,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"Docelowa paczka DCP ma mniej niż 6 kanałów dźwiękowych. To może powodować "
@@ -2086,10 +2086,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Poziom dźwięku jest bardzo wysoki (%1). Powinieneś zmniejszyć głośność "
+"Poziom dźwięku jest bardzo wysoki ({}). Powinieneś zmniejszyć głośność "
"materiału dźwiękowego."
#: src/lib/playlist.cc:236
@@ -2120,11 +2120,11 @@ msgstr "[stopklatka]"
msgid "[subtitles]"
msgstr "[napisy]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_rolka%1"
+msgid "_reel{}"
+msgstr "_rolka{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2143,57 +2143,57 @@ msgid "content type"
msgstr "typ materiału"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "kopiowanie %1"
+msgid "copying {}"
+msgstr "kopiowanie {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "nie udało się znaleźć informacji o strumieniu"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "nie udało się przenieść materiałów Atmos do DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "nie udało się przenieść materiałów Atmos do DCP ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "nie udało się przenieść dźwięku do DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "nie udało się przenieść dźwięku do DCP ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "nie udało się otworzyć pliku %1 do odczytu (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "nie udało się otworzyć pliku {} do odczytu ({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "nie udało się otworzyć pliku %1 do zapisu/odczytu (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "nie udało się otworzyć pliku {} do zapisu/odczytu ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "nie udało się otworzyć pliku %1 do zapisu (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "nie udało się otworzyć pliku {} do zapisu ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "nie udało się odczytać pliku %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "nie udało się odczytać pliku {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "nie udało się zapisać do pliku %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "nie udało się zapisać do pliku {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "wystąpił błąd podczas async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "wystąpił błąd podczas async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "wystąpił błąd podczas async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "wystąpił błąd podczas async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "wystąpił błąd podczas async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "wystąpił błąd podczas async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "wystąpił błąd podczas async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "wystąpił błąd podczas async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2212,7 +2212,7 @@ msgstr "liczba kl/s w Projekcie i DCP różnią się."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2368,11 +2368,11 @@ msgstr "klatki obrazu"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "Łączone pliki muszą mieć takie samo wzmocnienie dźwięku."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Nie udało się rozpocząć sesji SCP (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Nie udało się rozpocząć sesji SCP ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "nie udało się uruchomić sesji SCP (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "nie udało się uruchomić sesji SCP ({})"
#~ msgid "could not start SSH session"
#~ msgstr "nie udało się uruchomić sesji SSH"
@@ -2430,18 +2430,18 @@ msgstr "klatki obrazu"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Nie udało się zapisać do pliku zdalnego (%1)"
+#~ msgstr "Nie udało się zapisać do pliku zdalnego ({})"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Nie można zdekodować pliku obrazu (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Nie można zdekodować pliku obrazu ({})"
#, fuzzy
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "Inna ścieżka napisów pokrywa się z tym DCP; usuń ją."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2450,7 +2450,7 @@ msgstr "klatki obrazu"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "Próbujesz użyć paczki DCP %1 jako referencji, nie jest to jednak możliwe, "
+#~ "Próbujesz użyć paczki DCP {} jako referencji, nie jest to jednak możliwe, "
#~ "gdyż ustawiona liczba rolek w Projekcie nie są zgodne z tymi w "
#~ "importowanym DCP.\n"
#~ "\n"
@@ -2482,11 +2482,11 @@ msgstr "klatki obrazu"
#~ msgstr ""
#~ "Klucz nie rozszyfruje DCP. Być może jest wygenerowany dla innego CPL."
-#~ msgid "could not create file %1"
-#~ msgstr "nie udało się utworzyć pliku %1"
+#~ msgid "could not create file {}"
+#~ msgstr "nie udało się utworzyć pliku {}"
-#~ msgid "could not open file %1"
-#~ msgstr "nie udało się otworzyć pliku (%1)"
+#~ msgid "could not open file {}"
+#~ msgstr "nie udało się otworzyć pliku ({})"
#~ msgid "Computing audio digest"
#~ msgstr "Obliczanie danych dźwięku"
@@ -2529,16 +2529,16 @@ msgstr "klatki obrazu"
#~ msgid "There was not enough memory to do this."
#~ msgstr "Zabrakło pamięci RAM."
-#~ msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+#~ msgid "could not run sample-rate converter for {} samples ({}) ({})"
#~ msgstr ""
-#~ "nie udało się uruchomić konwertera częstotliwości próbkowania dla %1 "
-#~ "próbek (%2) (%3)"
+#~ "nie udało się uruchomić konwertera częstotliwości próbkowania dla {} "
+#~ "próbek ({}) ({})"
#~ msgid "Area"
#~ msgstr "Pole"
-#~ msgid "Audio will be resampled from %1kHz to %2kHz."
-#~ msgstr "Dźwięk będzie przesamplowany z %1kHz na %2kHz."
+#~ msgid "Audio will be resampled from {}kHz to {}kHz."
+#~ msgstr "Dźwięk będzie przesamplowany z {}kHz na {}kHz."
#~ msgid "Audio will not be resampled."
#~ msgstr "Dźwięk nie będzie przesamplowany."
@@ -2571,8 +2571,8 @@ msgstr "klatki obrazu"
#~ msgid "P3 (from SMPTE RP 431-2)"
#~ msgstr "P3 (z SMPTE RP 431-2)"
-#~ msgid "Padded with black to %1x%2"
-#~ msgstr "Dodano kaszetę do rozdzielczości %1x%2"
+#~ msgid "Padded with black to {}x{}"
+#~ msgstr "Dodano kaszetę do rozdzielczości {}x{}"
#~ msgid "Sinc"
#~ msgstr "Sinc"
@@ -2589,17 +2589,17 @@ msgstr "klatki obrazu"
#~ msgid "could not find video decoder"
#~ msgstr "nie udało się znaleźć dekodera video"
-#~ msgid "could not move audio MXF into the DCP (%1)"
-#~ msgstr "nie udało się przenieść pliku audio MXF do DCP (%1)"
+#~ msgid "could not move audio MXF into the DCP ({})"
+#~ msgstr "nie udało się przenieść pliku audio MXF do DCP ({})"
-#~ msgid "could not open audio file for reading (%1)"
-#~ msgstr "nie udało się odczytać pliku audio (%1)"
+#~ msgid "could not open audio file for reading ({})"
+#~ msgstr "nie udało się odczytać pliku audio ({})"
#~ msgid "could not read encoded data"
#~ msgstr "nie udało się odczytać danych zaszyfrowanych"
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "Nastąpił błąd podczas async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "Nastąpił błąd podczas async_accept ({})"
#~ msgid "hour"
#~ msgstr "godzina"
@@ -2613,8 +2613,8 @@ msgstr "klatki obrazu"
#~ msgid "minutes"
#~ msgstr "minut"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "brakuje klucza %1 w gałęzi key-value"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "brakuje klucza {} w gałęzi key-value"
#~ msgid "non-bitmap subtitles not yet supported"
#~ msgstr "na razie obsługiwane są tylko napisy w bitmapie"
diff --git a/src/lib/po/pt_BR.po b/src/lib/po/pt_BR.po
index f1823920b..4f2d38a9e 100644
--- a/src/lib/po/pt_BR.po
+++ b/src/lib/po/pt_BR.po
@@ -29,10 +29,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Redimensionado para %1x%2"
+"Redimensionado para {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -46,29 +46,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Preenchido com barras pretas %1 (%2x%3)"
+"Preenchido com barras pretas {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Redimensionado para %1x%2"
+"Redimensionado para {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " em %1"
+msgid " on {}"
+msgstr " em {}"
#: src/lib/config.cc:1276
#, fuzzy
@@ -99,74 +99,74 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr ""
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
msgstr ""
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Dolby Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Dolby Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [audio]"
+msgid "{} [audio]"
+msgstr "{} [audio]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [movie]"
+msgid "{} [movie]"
+msgstr "{} [movie]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [video]"
+msgid "{} [video]"
+msgstr "{} [video]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"O DCP-o-matic não pôde abrir o arquivo %1 (%2). Talvez o arquivo não exista "
+"O DCP-o-matic não pôde abrir o arquivo {} ({}). Talvez o arquivo não exista "
"ou tenha um formato não suportado."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
msgstr ""
-"O DCP-o-matic não aceita mais o filtro `%1', portanto ele foi desativado."
+"O DCP-o-matic não aceita mais o filtro `{}', portanto ele foi desativado."
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
+msgid "{} notification"
msgstr ""
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -256,12 +256,12 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 fps"
+msgid "; {} fps"
+msgstr "; {} fps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 faltando; terminando em %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} faltando; terminando em {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -294,7 +294,7 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
@@ -331,8 +331,8 @@ msgstr ""
"(1.85:1) no tab \"DCP\"."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Ocorreu um erro de processamento com o arquivo %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Ocorreu um erro de processamento com o arquivo {}."
#: src/lib/analyse_audio_job.cc:74
#, fuzzy
@@ -399,12 +399,12 @@ msgid ""
msgstr ""
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "O áudio será convertido de %1Hz para %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "O áudio será convertido de {}Hz para {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "O áudio será convertido para %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "O áudio será convertido para {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -486,8 +486,8 @@ msgid "Cannot contain slashes"
msgstr "não pode conter barras"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Impossível processar formato de pixel %1 durante %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Impossível processar formato de pixel {} durante {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -746,8 +746,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "O conteúdo tem %1x%2"
+msgid "Content video is {}x{}"
+msgstr "O conteúdo tem {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -756,58 +756,58 @@ msgstr "Copiar DCP para TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "copiando %1"
+"Copying {}\n"
+"to {}"
+msgstr "copiando {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
msgid "Copying DCP"
-msgstr "copiando %1"
+msgstr "copiando {}"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Copiar DCP para TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Impossível conectar com o servidor %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Impossível conectar com o servidor {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Impossível criar diretório remoto %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Impossível criar diretório remoto {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Impossível decodificar arquivo JPEG2000 %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Impossível decodificar arquivo JPEG2000 {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
#, fuzzy
-msgid "Could not decode image (%1)"
-msgstr "Impossível decodificar arquivo de imagem (%1)"
+msgid "Could not decode image ({})"
+msgstr "Impossível decodificar arquivo de imagem ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Impossível abrir arquivo ZIP baixado"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Impossível buscar servidores de codificação remotos. Talvez haja outra "
"instância de DCP-o-matic aberta."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Impossível abrir %1"
+msgid "Could not open {}"
+msgstr "Impossível abrir {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Impossível abrir %1 para enviar"
+msgid "Could not open {} to send"
+msgstr "Impossível abrir {} para enviar"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
@@ -815,30 +815,30 @@ msgstr "Impossível abrir arquivo ZIP baixado"
#: src/lib/internet.cc:179
#, fuzzy
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
msgstr "Impossível abrir arquivo ZIP baixado"
#: src/lib/config.cc:1178
#, fuzzy
msgid "Could not open file for writing"
-msgstr "não foi possível abrir o arquivo %1 para gravação (%2)"
+msgstr "não foi possível abrir o arquivo {} para gravação ({})"
#: src/lib/ffmpeg_file_encoder.cc:271
#, fuzzy
-msgid "Could not open output file %1 (%2)"
-msgstr "não foi possível modificar o arquivo %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "não foi possível modificar o arquivo {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Impossível ler as legendas (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Impossível ler as legendas ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Impossível iniciar transferência"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Impossível modificar arquivo remoto (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Impossível modificar arquivo remoto ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -921,7 +921,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Querido projecionista,\n"
"\n"
@@ -936,7 +936,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -946,16 +946,16 @@ msgstr "Dolby CP650 e CP750"
#: src/lib/internet.cc:124
#, fuzzy
-msgid "Download failed (%1 error %2)"
-msgstr "Download falhou (%1/%2 erro %3)"
+msgid "Download failed ({} error {})"
+msgstr "Download falhou ({}/{} erro {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Cada quadro do conteúdo será repetido %1 vezes no DCP\n"
+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"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
@@ -963,8 +963,8 @@ msgstr "Enviar KDMs por email"
#: src/lib/send_kdm_email_job.cc:97
#, fuzzy
-msgid "Email KDMs for %1"
-msgstr "Enviar KDMs por email para %1"
+msgid "Email KDMs for {}"
+msgstr "Enviar KDMs por email para {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -975,8 +975,8 @@ msgid "Email problem report"
msgstr "Enviar relatório de erros por email"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Enviar relatório de erros por email para %1"
+msgid "Email problem report for {}"
+msgstr "Enviar relatório de erros por email para {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -987,12 +987,12 @@ msgid "Episode"
msgstr ""
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Erro no arquivo de legenda:: %1 encontrado quando se esperava %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Erro no arquivo de legenda:: {} encontrado quando se esperava {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Erro: %1"
+msgid "Error: {}"
+msgstr "Erro: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1037,18 +1037,18 @@ msgid "FCP XML subtitles"
msgstr "Legendas XML do DCP"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Falha na autenticação com o servidor (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Falha na autenticação com o servidor ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
#, fuzzy
msgid "Failed to encode the DCP."
-msgstr "Falha no envio de email (%1)"
+msgstr "Falha no envio de email ({})"
#: src/lib/email.cc:250
#, fuzzy
msgid "Failed to send email"
-msgstr "Falha no envio de email (%1)"
+msgstr "Falha no envio de email ({})"
#: src/lib/dcp_content_type.cc:54
msgid "Feature"
@@ -1093,8 +1093,8 @@ msgid "Full"
msgstr "Full"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Full (0-%1)"
+msgid "Full (0-{})"
+msgstr "Full (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1186,7 +1186,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "Erro desconhecido."
#: src/lib/ffmpeg_content.cc:614
@@ -1240,8 +1240,8 @@ msgstr "Limitado"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Limitado (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Limitado ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1290,8 +1290,8 @@ msgstr "Tamanhos de conteúdo inconsistentes no DCP"
#: src/lib/exceptions.cc:72
#, fuzzy
-msgid "Missing required setting %1"
-msgstr "falta configuração obrigatória %1"
+msgid "Missing required setting {}"
+msgstr "falta configuração obrigatória {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1337,12 +1337,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (executou por %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (executou por {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (executou por %1)"
+msgid "OK (ran for {})"
+msgstr "OK (executou por {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1365,7 +1365,7 @@ msgstr "Legendas em texto"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
@@ -1388,7 +1388,7 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
#: src/lib/dcp_content_type.cc:61
@@ -1404,8 +1404,8 @@ msgid "Prepared for video frame rate"
msgstr "Preparado para frame rate de vídeo"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Erro de programação em %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Erro de programação em {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1522,14 +1522,14 @@ msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
#, fuzzy
-msgid "SSH error [%1]"
-msgstr "SSH erro (%1)"
+msgid "SSH error [{}]"
+msgstr "SSH erro ({})"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
#, fuzzy
-msgid "SSH error [%1] (%2)"
-msgstr "SSH erro (%1)"
+msgid "SSH error [{}] ({})"
+msgstr "SSH erro ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1556,8 +1556,8 @@ msgid "Size"
msgstr "Tamanho"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Alguns áudios serão reamostrados para %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Alguns áudios serão reamostrados para {}Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1580,7 +1580,7 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
@@ -1661,12 +1661,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "A cadeia de certificado para assinatura é inválida"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "A cadeia de certificado para assinatura é inválida (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "A cadeia de certificado para assinatura é inválida ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1675,7 +1675,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1684,7 +1684,7 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
@@ -1698,20 +1698,20 @@ msgstr ""
"novamente."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "O arquivo %1 foi adiantado %2 milissegundos."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "O arquivo {} foi adiantado {} milissegundos."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "O arquivo %1 foi atrasado %2 milissegundos."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "O arquivo {} foi atrasado {} milissegundos."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "O arquivo %1 foi cortado por %2 milissegundos a menos."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "O arquivo {} foi cortado por {} milissegundos a menos."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "O arquivo %1 foi cortado por %2 milissegundos a mais."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "O arquivo {} foi cortado por {} milissegundos a mais."
#: src/lib/hints.cc:268
msgid ""
@@ -1751,19 +1751,19 @@ msgstr ""
"das Preferências, no menu Editar."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
+msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
#: src/lib/job.cc:142
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Não há memória suficiente para esta ação. Se você está rodando em um sistema "
@@ -1773,7 +1773,7 @@ msgstr ""
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
#: src/lib/exceptions.cc:114
@@ -1787,7 +1787,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Este filme foi criado com uma versão mais recente de DCP-o-matic, e não pode "
@@ -1797,7 +1797,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1820,8 +1820,8 @@ msgstr "Trailer"
#: src/lib/transcode_job.cc:75
#, fuzzy
-msgid "Transcoding %1"
-msgstr "Transcodificar %1"
+msgid "Transcoding {}"
+msgstr "Transcodificar {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1853,8 +1853,8 @@ msgid "Unknown error"
msgstr "Erro desconhecido"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Formato de amostragem de áudio desconhecido (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Formato de amostragem de áudio desconhecido ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1901,7 +1901,7 @@ msgid "Vertical flip"
msgstr ""
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1932,9 +1932,9 @@ msgstr "Yet Another Deinterlacing Filter (YADIF)"
#: src/lib/hints.cc:209
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
"Você configurou um DCP Interop em uma taxa de quadros que não é oficialmente "
"suportada. Recomendamos a alteração da taxa de quadros do seu DCP para um "
@@ -1943,9 +1943,9 @@ msgstr ""
#: src/lib/hints.cc:193
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
"Você configurou um DCP Interop em uma taxa de quadros que não é oficialmente "
"suportada. Recomendamos a alteração da taxa de quadros do seu DCP para um "
@@ -1963,7 +1963,7 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -1979,10 +1979,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Você tem %1 arquivos que parecem ser arquivos VOB de um DVD. É recomendado "
+"Você tem {} arquivos que parecem ser arquivos VOB de um DVD. É recomendado "
"que você os concatene previamente para garantir uma reprodução sem cortes."
#: src/lib/film.cc:1665
@@ -2012,7 +2012,7 @@ msgstr "você precisa adicionar conteúdo ao DCP antes de criá-lo"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -2021,7 +2021,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
@@ -2037,10 +2037,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Seu nível de áudio é muito alto (no %1). Reduza o ganho no conteúdo de áudio."
+"Seu nível de áudio é muito alto (no {}). Reduza o ganho no conteúdo de áudio."
#: src/lib/playlist.cc:236
msgid ""
@@ -2070,10 +2070,10 @@ msgstr "[imagem estática]"
msgid "[subtitles]"
msgstr "[legendas]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
+msgid "_reel{}"
msgstr ""
#: src/lib/audio_content.cc:306
@@ -2093,8 +2093,8 @@ msgid "content type"
msgstr "tipo de conteúdo"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "copiando %1"
+msgid "copying {}"
+msgstr "copiando {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
@@ -2102,52 +2102,52 @@ msgstr "não foi possível encontrar informação do stream"
#: src/lib/reel_writer.cc:404
#, fuzzy
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "não foi possível mover os arquivos de áudio para o DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "não foi possível mover os arquivos de áudio para o DCP ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "não foi possível mover os arquivos de áudio para o DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "não foi possível mover os arquivos de áudio para o DCP ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for read (%2)"
-msgstr "não foi possível abrir o arquivo %1 para leitura (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "não foi possível abrir o arquivo {} para leitura ({})"
#: src/lib/exceptions.cc:38
#, fuzzy
-msgid "could not open file %1 for read/write (%2)"
-msgstr "não foi possível abrir o arquivo %1 para leitura (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "não foi possível abrir o arquivo {} para leitura ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for write (%2)"
-msgstr "não foi possível abrir o arquivo %1 para gravação (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "não foi possível abrir o arquivo {} para gravação ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "não foi possível ler do arquivo %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "não foi possível ler do arquivo {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "não foi possível modificar o arquivo %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "não foi possível modificar o arquivo {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "erro durante async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "erro durante async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "erro durante async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "erro durante async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "erro durante async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "erro durante async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "erro durante async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "erro durante async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2167,7 +2167,7 @@ msgstr "O filme tem uma taxa de quadros diferente deste DCP."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2319,11 +2319,11 @@ msgstr "quadros de vídeo"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "O conteúdo a ser concatenado deve ter o mesmo ganho de áudio."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Impossível iniciar sessão SCP (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Impossível iniciar sessão SCP ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "não foi possível iniciar sessão SCP (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "não foi possível iniciar sessão SCP ({})"
#~ msgid "could not start SSH session"
#~ msgstr "não foi possível iniciar sessão SSH"
@@ -2381,18 +2381,18 @@ msgstr "quadros de vídeo"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Impossível modificar arquivo remoto (%1)"
+#~ msgstr "Impossível modificar arquivo remoto ({})"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Impossível decodificar arquivo de imagem (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Impossível decodificar arquivo de imagem ({})"
#, fuzzy
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "Há outros conteúdos de legenda sobrepostos neste DCP. Remova-os."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2401,7 +2401,7 @@ msgstr "quadros de vídeo"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "O DCP OV %1 estava sendo referenciado por este filme. Isso não é mais "
+#~ "O DCP OV {} estava sendo referenciado por este filme. Isso não é mais "
#~ "possível porque os tamanhos de rolo entre este filme e o DCP OV não "
#~ "batem.\n"
#~ "\n"
@@ -2436,8 +2436,8 @@ msgstr "quadros de vídeo"
#~ "CPL."
#~ msgstr "O KDM não decripta o DCP. Talvez esteja direcionado ao CPL errado."
-#~ msgid "could not create file %1"
-#~ msgstr "não foi possível criar arquivo %1"
+#~ msgid "could not create file {}"
+#~ msgstr "não foi possível criar arquivo {}"
#~ msgid "Computing audio digest"
#~ msgstr "Computando processamento de áudio"
diff --git a/src/lib/po/pt_PT.po b/src/lib/po/pt_PT.po
index a9f533e89..c6fa520d5 100644
--- a/src/lib/po/pt_PT.po
+++ b/src/lib/po/pt_PT.po
@@ -31,10 +31,10 @@ msgstr ""
#, fuzzy
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Recortado para %1x%2"
+"Recortado para {}x{}"
#: src/lib/video_content.cc:468
#, fuzzy, c-format
@@ -49,29 +49,29 @@ msgstr ""
#, fuzzy
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Preenchido com negro para caber no contentor %1 (%2x%3)"
+"Preenchido com negro para caber no contentor {} ({}x{})"
#: src/lib/video_content.cc:492
#, fuzzy
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Redimensionado para %1x%2"
+"Redimensionado para {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr ""
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
+msgid " on {}"
msgstr ""
#: src/lib/config.cc:1276
@@ -93,75 +93,75 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr ""
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
msgstr ""
#: src/lib/atmos_mxf_content.cc:96
#, fuzzy
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [áudio]"
+msgid "{} [audio]"
+msgstr "{} [áudio]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [movie]"
+msgid "{} [movie]"
+msgstr "{} [movie]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
#, fuzzy
-msgid "%1 [video]"
-msgstr "%1 [movie]"
+msgid "{} [video]"
+msgstr "{} [movie]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"O DCP-o-matic não conseguiu abrir o ficheiro %1. Talvez não exista ou está "
+"O DCP-o-matic não conseguiu abrir o ficheiro {}. Talvez não exista ou está "
"num formato inesperado."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "O DCP-o-matic já não suporta o filtro '%1', e este foi desactivado."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "O DCP-o-matic já não suporta o filtro '{}', e este foi desactivado."
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
+msgid "{} notification"
msgstr ""
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -253,11 +253,11 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
+msgid "; {} fps"
msgstr ""
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
+msgid "; {} remaining; finishing at {}{}"
msgstr ""
#: src/lib/analytics.cc:58
@@ -286,7 +286,7 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
@@ -314,8 +314,8 @@ msgid ""
msgstr ""
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Ocorreu um erro ao manipular o ficheiro %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Ocorreu um erro ao manipular o ficheiro {}."
#: src/lib/analyse_audio_job.cc:74
#, fuzzy
@@ -382,12 +382,12 @@ msgid ""
msgstr ""
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "A taxa de amostragem será alterada de %1Hz para %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "A taxa de amostragem será alterada de {}Hz para {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "A taxa de amostragem será alterada para %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "A taxa de amostragem será alterada para {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -470,8 +470,8 @@ msgid "Cannot contain slashes"
msgstr "não pode conter barras"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Impossível manusear o formato de pixeis %1 durante %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Impossível manusear o formato de pixeis {} durante {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -717,8 +717,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "O vídeo do conteúdo tem %1x%2"
+msgid "Content video is {}x{}"
+msgstr "O vídeo do conteúdo tem {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -727,58 +727,58 @@ msgstr "Copiar DCP para TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "a copiar %1"
+"Copying {}\n"
+"to {}"
+msgstr "a copiar {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
msgid "Copying DCP"
-msgstr "a copiar %1"
+msgstr "a copiar {}"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Copiar DCP para TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Não foi possivel ligar ao servidor %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Não foi possivel ligar ao servidor {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Não foi possível criar o directório remoto %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Não foi possível criar o directório remoto {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Não foi possível descodificar o ficheiro JPEG2000 %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Não foi possível descodificar o ficheiro JPEG2000 {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
#, fuzzy
-msgid "Could not decode image (%1)"
-msgstr "Não foi possível descodificar a imagem (%1)"
+msgid "Could not decode image ({})"
+msgstr "Não foi possível descodificar a imagem ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Não foi possível abrir o ficheiro ZIP descarregado"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Não foi possível procurar por servidores de codificação remotos. Talvez "
"outra instância do DCP-o-matic esteja em execução."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Não foi possível abrir %1"
+msgid "Could not open {}"
+msgstr "Não foi possível abrir {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Não foi possível abrir %1 para enviar"
+msgid "Could not open {} to send"
+msgstr "Não foi possível abrir {} para enviar"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
@@ -786,7 +786,7 @@ msgstr "Não foi possível abrir o ficheiro ZIP descarregado"
#: src/lib/internet.cc:179
#, fuzzy
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
msgstr "Não foi possível abrir o ficheiro ZIP descarregado"
#: src/lib/config.cc:1178
@@ -796,12 +796,12 @@ msgstr "não foi possível abrir o ficheiro para leitura"
#: src/lib/ffmpeg_file_encoder.cc:271
#, fuzzy
-msgid "Could not open output file %1 (%2)"
-msgstr "não foi possível escrever para o ficheiro %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "não foi possível escrever para o ficheiro {} ({})"
#: src/lib/dcp_subtitle.cc:60
#, fuzzy
-msgid "Could not read subtitles (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
msgstr "Não foi possível ler as legendas"
#: src/lib/curl_uploader.cc:59
@@ -809,8 +809,8 @@ msgid "Could not start transfer"
msgstr "Não foi possível iniciar a transferência"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Não foi possível escrever para o ficheiro remoto (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Não foi possível escrever para o ficheiro remoto ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -896,7 +896,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Caro Projeccionista\n"
"\n"
@@ -911,7 +911,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -921,16 +921,16 @@ msgstr "Dolby CP650 e CP750"
#: src/lib/internet.cc:124
#, fuzzy
-msgid "Download failed (%1 error %2)"
-msgstr "O download falhou (%1/%2 erro %3)"
+msgid "Download failed ({} error {})"
+msgstr "O download falhou ({}/{} erro {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Cada fotograma do conteúdo será repetido %1 vezes no DCP.\n"
+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"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
@@ -938,8 +938,8 @@ msgstr "Enviar chaves KDM por email"
#: src/lib/send_kdm_email_job.cc:97
#, fuzzy
-msgid "Email KDMs for %1"
-msgstr "Enviar chaves KDM por email para %1"
+msgid "Email KDMs for {}"
+msgstr "Enviar chaves KDM por email para {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -950,8 +950,8 @@ msgid "Email problem report"
msgstr "Enviar relatório de problemas"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Enviar relatório de problemas para %1"
+msgid "Email problem report for {}"
+msgstr "Enviar relatório de problemas para {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -962,12 +962,12 @@ msgid "Episode"
msgstr ""
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Erro no ficheiro de legendas: encontrou %1 mas esperava %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Erro no ficheiro de legendas: encontrou {} mas esperava {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Erro: %1"
+msgid "Error: {}"
+msgstr "Erro: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1013,18 +1013,18 @@ msgid "FCP XML subtitles"
msgstr "Legendas XML DCP"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "A autenticação com o servidor falhou (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "A autenticação com o servidor falhou ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
#, fuzzy
msgid "Failed to encode the DCP."
-msgstr "Falha no envio de email (%1)"
+msgstr "Falha no envio de email ({})"
#: src/lib/email.cc:250
#, fuzzy
msgid "Failed to send email"
-msgstr "Falha no envio de email (%1)"
+msgstr "Falha no envio de email ({})"
#: src/lib/dcp_content_type.cc:54
msgid "Feature"
@@ -1070,8 +1070,8 @@ msgid "Full"
msgstr "Full"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Full (0-%1)"
+msgid "Full (0-{})"
+msgstr "Full (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1166,7 +1166,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "A causa do erro não é conhecida."
#: src/lib/ffmpeg_content.cc:614
@@ -1220,8 +1220,8 @@ msgstr "Limitado"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Limitado (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Limitado ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1270,8 +1270,8 @@ msgstr "Dimensões de vídeo do DCP inválidas"
#: src/lib/exceptions.cc:72
#, fuzzy
-msgid "Missing required setting %1"
-msgstr "falta definição necessária %1"
+msgid "Missing required setting {}"
+msgstr "falta definição necessária {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1317,12 +1317,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (executado durante %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (executado durante {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (executado durante %1)"
+msgid "OK (ran for {})"
+msgstr "OK (executado durante {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1344,7 +1344,7 @@ msgstr "Legendas de texto"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
@@ -1367,7 +1367,7 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
#: src/lib/dcp_content_type.cc:61
@@ -1384,8 +1384,8 @@ msgstr ""
#: src/lib/exceptions.cc:107
#, fuzzy
-msgid "Programming error at %1:%2 %3"
-msgstr "Erro de programação em %1:%2"
+msgid "Programming error at {}:{} {}"
+msgstr "Erro de programação em {}:{}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1505,14 +1505,14 @@ msgstr ""
#: src/lib/scp_uploader.cc:47
#, fuzzy
-msgid "SSH error [%1]"
-msgstr "Erro de SSH (%1)"
+msgid "SSH error [{}]"
+msgstr "Erro de SSH ({})"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
#, fuzzy
-msgid "SSH error [%1] (%2)"
-msgstr "Erro de SSH (%1)"
+msgid "SSH error [{}] ({})"
+msgstr "Erro de SSH ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1540,8 +1540,8 @@ msgid "Size"
msgstr "Tamanho"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Algum áudio vais ser alterado para %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Algum áudio vais ser alterado para {}Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1564,7 +1564,7 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
@@ -1642,12 +1642,12 @@ msgstr "A cadeia de certificação para assinatura é inválida"
#: src/lib/exceptions.cc:100
#, fuzzy
-msgid "The certificate chain for signing is invalid (%1)"
+msgid "The certificate chain for signing is invalid ({})"
msgstr "A cadeia de certificação para assinatura é inválida"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1656,7 +1656,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1665,7 +1665,7 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
@@ -1679,19 +1679,19 @@ msgstr ""
"espaço e tente de novo."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
+msgid "The file {} has been moved {} milliseconds earlier."
msgstr ""
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
+msgid "The file {} has been moved {} milliseconds later."
msgstr ""
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
+msgid "The file {} has been trimmed by {} milliseconds less."
msgstr ""
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
+msgid "The file {} has been trimmed by {} milliseconds more."
msgstr ""
#: src/lib/hints.cc:268
@@ -1732,19 +1732,19 @@ msgstr ""
"das Preferências."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
+msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
#: src/lib/job.cc:142
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Não há memória suficiente para concluir esta acção. Se estiver a usar um "
@@ -1754,7 +1754,7 @@ msgstr ""
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
#: src/lib/exceptions.cc:114
@@ -1766,7 +1766,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Este filme foi criado com uma versão mais recente do DCP-o-matic, e não pode "
@@ -1775,7 +1775,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1797,8 +1797,8 @@ msgstr "Trailer"
#: src/lib/transcode_job.cc:75
#, fuzzy
-msgid "Transcoding %1"
-msgstr "Transcodificar %1"
+msgid "Transcoding {}"
+msgstr "Transcodificar {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1830,8 +1830,8 @@ msgid "Unknown error"
msgstr "Erro desconhecido"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Formato de amostragem áudio desconhecido (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Formato de amostragem áudio desconhecido ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1878,7 +1878,7 @@ msgid "Vertical flip"
msgstr ""
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1909,16 +1909,16 @@ msgstr "Yet Another Deinterlacing Filter"
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
#: src/lib/hints.cc:203
@@ -1929,7 +1929,7 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -1942,7 +1942,7 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
@@ -1971,7 +1971,7 @@ msgstr "Deve adicionar algum conteúdo ao DCP antes de o criar"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -1980,7 +1980,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
@@ -1992,7 +1992,7 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
@@ -2020,10 +2020,10 @@ msgstr "[still]"
msgid "[subtitles]"
msgstr "[subtitles]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
+msgid "_reel{}"
msgstr ""
#: src/lib/audio_content.cc:306
@@ -2043,8 +2043,8 @@ msgid "content type"
msgstr "tipo de conteúdo"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "a copiar %1"
+msgid "copying {}"
+msgstr "a copiar {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
@@ -2052,52 +2052,52 @@ msgstr "não foi possível encontrar a informação do fluxo"
#: src/lib/reel_writer.cc:404
#, fuzzy
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "não foi possível enviar o áudio para o DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "não foi possível enviar o áudio para o DCP ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "não foi possível enviar o áudio para o DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "não foi possível enviar o áudio para o DCP ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for read (%2)"
+msgid "could not open file {} for read ({})"
msgstr "não foi possível abrir o ficheiro para leitura"
#: src/lib/exceptions.cc:38
#, fuzzy
-msgid "could not open file %1 for read/write (%2)"
+msgid "could not open file {} for read/write ({})"
msgstr "não foi possível abrir o ficheiro para leitura"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for write (%2)"
+msgid "could not open file {} for write ({})"
msgstr "não foi possível abrir o ficheiro para leitura"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "não foi possível ler do ficheiro %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "não foi possível ler do ficheiro {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "não foi possível escrever para o ficheiro %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "não foi possível escrever para o ficheiro {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "erro durante conexão assíncrona (%1)"
+msgid "error during async_connect ({})"
+msgstr "erro durante conexão assíncrona ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "erro durante conexão assíncrona (%1)"
+msgid "error during async_connect: ({})"
+msgstr "erro durante conexão assíncrona ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "erro durante leitura assíncrona (%1)"
+msgid "error during async_read ({})"
+msgstr "erro durante leitura assíncrona ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "erro durante escrita assíncrona (%1)"
+msgid "error during async_write ({})"
+msgstr "erro durante escrita assíncrona ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2116,7 +2116,7 @@ msgstr ""
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2259,11 +2259,11 @@ msgstr "fotogramas de vídeo"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "O conteúdo a ser unido deve ter o mesmo ganho de áudio."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Não foi possível iniciar a sessão SCP (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Não foi possível iniciar a sessão SCP ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "não foi possível iniciar a sessão SCP (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "não foi possível iniciar a sessão SCP ({})"
#~ msgid "could not start SSH session"
#~ msgstr "não foi possível iniciar a sessão SSH"
@@ -2276,11 +2276,11 @@ msgstr "fotogramas de vídeo"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Não foi possível escrever para o ficheiro remoto (%1)"
+#~ msgstr "Não foi possível escrever para o ficheiro remoto ({})"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Não foi possível descodificar a imagem (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Não foi possível descodificar a imagem ({})"
#, fuzzy
#~ msgid "it overlaps other subtitle content; remove the other content."
@@ -2306,11 +2306,11 @@ msgstr "fotogramas de vídeo"
#~ "CPL."
#~ msgstr "A chave KDM não desencripta o DCP. Deve ter como alvo o CPL errado."
-#~ msgid "could not create file %1"
-#~ msgstr "não foi possível criar o ficheiro %1"
+#~ msgid "could not create file {}"
+#~ msgstr "não foi possível criar o ficheiro {}"
-#~ msgid "could not open file %1"
-#~ msgstr "não foi possível abrir o ficheiro %1"
+#~ msgid "could not open file {}"
+#~ msgstr "não foi possível abrir o ficheiro {}"
#~ msgid "Computing audio digest"
#~ msgstr "A processar o resumo de áudio"
@@ -2361,10 +2361,10 @@ msgstr "fotogramas de vídeo"
#~ msgid "could not run sample-rate converter"
#~ msgstr "conversion de la fréquence d'échantillonnage impossible"
-#~ msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+#~ msgid "could not run sample-rate converter for {} samples ({}) ({})"
#~ msgstr ""
-#~ "n'a pas pu convertir la fréquence d'échantillonnage pour %1 échantillons "
-#~ "(%2) (%3)"
+#~ "n'a pas pu convertir la fréquence d'échantillonnage pour {} échantillons "
+#~ "({}) ({})"
#~ msgid "1.375"
#~ msgstr "1.375"
@@ -2399,20 +2399,20 @@ msgstr "fotogramas de vídeo"
#~ msgid "could not read encoded data"
#~ msgstr "lecture des données encodées impossible"
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "erreur pendant async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "erreur pendant async_accept ({})"
-#~ msgid "%1 channels, %2kHz, %3 samples"
-#~ msgstr "%1 canaux, %2kHz, %3 échantillons"
+#~ msgid "{} channels, {}kHz, {} samples"
+#~ msgstr "{} canaux, {}kHz, {} échantillons"
-#~ msgid "%1 frames; %2 frames per second"
-#~ msgstr "%1 images ; %2 images par seconde"
+#~ msgid "{} frames; {} frames per second"
+#~ msgstr "{} images ; {} images par seconde"
-#~ msgid "%1x%2 pixels (%3:1)"
-#~ msgstr "%1x%2 pixels (%3:1)"
+#~ msgid "{}x{} pixels ({}:1)"
+#~ msgstr "{}x{} pixels ({}:1)"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "clé %1 manquante dans le réglage"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "clé {} manquante dans le réglage"
#~ msgid "sRGB non-linearised"
#~ msgstr "sRGB non linéarisé"
@@ -2503,14 +2503,14 @@ msgstr "fotogramas de vídeo"
#~ msgid "0%"
#~ msgstr "0%"
-#~ msgid "first frame in moving image directory is number %1"
-#~ msgstr "la première image dans le dossier est la numéro %1"
+#~ msgid "first frame in moving image directory is number {}"
+#~ msgstr "la première image dans le dossier est la numéro {}"
-#~ msgid "there are %1 images in the directory but the last one is number %2"
-#~ msgstr "il y a %1 images dans le dossier mais la dernière est la numéro %2"
+#~ msgid "there are {} images in the directory but the last one is number {}"
+#~ msgstr "il y a {} images dans le dossier mais la dernière est la numéro {}"
-#~ msgid "only %1 file(s) found in moving image directory"
-#~ msgstr "Seulement %1 fichier(s) trouvé(s) dans le dossier de diaporama"
+#~ msgid "only {} file(s) found in moving image directory"
+#~ msgstr "Seulement {} fichier(s) trouvé(s) dans le dossier de diaporama"
#~ msgid "Could not find DCP to make KDM for"
#~ msgstr "DCP introuvable pour fabrication de KDM"
@@ -2521,14 +2521,14 @@ msgstr "fotogramas de vídeo"
#~ msgid "hashing"
#~ msgstr "calcul du hash"
-#~ msgid "Image: %1"
-#~ msgstr "Image : %1"
+#~ msgid "Image: {}"
+#~ msgstr "Image : {}"
-#~ msgid "Movie: %1"
-#~ msgstr "Film : %1"
+#~ msgid "Movie: {}"
+#~ msgstr "Film : {}"
-#~ msgid "Sound file: %1"
-#~ msgstr "Fichier son : %1"
+#~ msgid "Sound file: {}"
+#~ msgstr "Fichier son : {}"
#~ msgid "1.66 within Flat"
#~ msgstr "1.66 dans Flat"
@@ -2543,14 +2543,14 @@ msgstr "fotogramas de vídeo"
#~ msgid "4:3 within Flat"
#~ msgstr "4:3 dans Flat"
-#~ msgid "A/B transcode %1"
-#~ msgstr "Transcodage A/B %1"
+#~ msgid "A/B transcode {}"
+#~ msgstr "Transcodage A/B {}"
#~ msgid "Cannot resample audio as libswresample is not present"
#~ msgstr "Ré-échantillonnage du son impossible : libswresample est absent"
-#~ msgid "Examine content of %1"
-#~ msgstr "Examen du contenu de %1"
+#~ msgid "Examine content of {}"
+#~ msgstr "Examen du contenu de {}"
#~ msgid "Scope without stretch"
#~ msgstr "Scope sans déformation"
@@ -2612,11 +2612,11 @@ msgstr "fotogramas de vídeo"
#~ msgid "Source scaled to fit Scope preserving its aspect ratio"
#~ msgstr "Source réduite en Scope afin de préserver ses dimensions"
-#~ msgid "adding to queue of %1"
-#~ msgstr "Mise en file d'attente de %1"
+#~ msgid "adding to queue of {}"
+#~ msgstr "Mise en file d'attente de {}"
-#~ msgid "decoder sleeps with queue of %1"
-#~ msgstr "décodeur en veille avec %1 en file d'attente"
+#~ msgid "decoder sleeps with queue of {}"
+#~ msgstr "décodeur en veille avec {} en file d'attente"
-#~ msgid "decoder wakes with queue of %1"
-#~ msgstr "reprise du décodage avec %1 en file d'attente"
+#~ msgid "decoder wakes with queue of {}"
+#~ msgstr "reprise du décodage avec {} en file d'attente"
diff --git a/src/lib/po/ru_RU.po b/src/lib/po/ru_RU.po
index 1de732fd2..58b67c731 100644
--- a/src/lib/po/ru_RU.po
+++ b/src/lib/po/ru_RU.po
@@ -29,10 +29,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Размер при кадрировании: %1x%2"
+"Размер при кадрировании: {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -46,29 +46,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Заполнено черным для подгонки под контейнер %1 (%2x%3)"
+"Заполнено черным для подгонки под контейнер {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Масштаб: %1x%2"
+"Масштаб: {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " на %1"
+msgid " on {}"
+msgstr " на {}"
#: src/lib/config.cc:1276
msgid ""
@@ -99,56 +99,56 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 ГБ) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} ГБ) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [аудио]"
+msgid "{} [audio]"
+msgstr "{} [аудио]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [фильм]"
+msgid "{} [movie]"
+msgstr "{} [фильм]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [видео]"
+msgid "{} [video]"
+msgstr "{} [видео]"
#: src/lib/job.cc:181 src/lib/job.cc:196
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"%1 не удалось открыть файл %2 (%3). Возможно, он не существует или имеет "
+"{} не удалось открыть файл {} ({}). Возможно, он не существует или имеет "
"неожиданный формат."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
-"%1 пришлось изменить ваши настройки DCP как OV. Пожалуйста, проверьте эти "
+"{} пришлось изменить ваши настройки DCP как OV. Пожалуйста, проверьте эти "
"настройки, чтобы убедиться, что это то, чего вы хотите."
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
-"%1 пришлось изменить ваши настройки. Теперь частота кадров фильма "
+"{} пришлось изменить ваши настройки. Теперь частота кадров фильма "
"соответствует вашему контенту Atmos."
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
"% 1 пришлось удалить одну из ваших пользовательских границ, так как она "
@@ -156,23 +156,23 @@ msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
"% 1 пришлось удалить некоторые из ваших пользовательских границ, так как они "
"больше не находятся в пределах фильма."
#: src/lib/ffmpeg_content.cc:115
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "%1 больше не поддерживает фильтр `%2', поэтому он был выключен."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "{} больше не поддерживает фильтр `{}', поэтому он был выключен."
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
-msgstr "%1 уведомление"
+msgid "{} notification"
+msgstr "{} уведомление"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
-msgstr "%1; %2/%3 кадров"
+msgid "{}; {}/{} frames"
+msgstr "{}; {}/{} кадров"
#: src/lib/video_content.cc:463
#, c-format
@@ -263,12 +263,12 @@ msgstr "9"
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 кадр/сек"
+msgid "; {} fps"
+msgstr "; {} кадр/сек"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; осталось %1; время завершения %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; осталось {}; время завершения {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -311,11 +311,11 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
-"Файл субтитров в этом проекте помечен языком '%1', который неизвестен для "
-"%2. Языковой файл был очищен."
+"Файл субтитров в этом проекте помечен языком '{}', который неизвестен для "
+"{}. Языковой файл был очищен."
#: src/lib/ffmpeg_content.cc:639
msgid "ARIB STD-B67 ('Hybrid log-gamma')"
@@ -349,8 +349,8 @@ msgstr ""
"таким же, как и ваш контент."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Произошла ошибка при обращении к файлу %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Произошла ошибка при обращении к файлу {}."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -431,12 +431,12 @@ msgstr ""
"\"Контент→Открытые субтитры\"."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Частота аудио будет изменена с %1 Гц на %2 Гц"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Частота аудио будет изменена с {} Гц на {} Гц"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Частота аудио будет изменена на %1 Гц"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Частота аудио будет изменена на {} Гц"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -516,8 +516,8 @@ msgid "Cannot contain slashes"
msgstr "Не может содержать слэши"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Невозможно обработать формат пикселя %1 во время %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Невозможно обработать формат пикселя {} во время {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -755,8 +755,8 @@ msgid "Content to be joined must use the same text language."
msgstr "Весь добавляемый контент должен иметь одинаковый язык текста."
#: src/lib/video_content.cc:454
-msgid "Content video is %1x%2"
-msgstr "Разрешение контента: %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Разрешение контента: {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -765,9 +765,9 @@ msgstr "Копировать DCP на TMS (Theater Management System)"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "копирование %1"
+"Copying {}\n"
+"to {}"
+msgstr "копирование {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -776,72 +776,72 @@ msgstr "Объединить DCP"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Копировать DCP на TMS (Theater Management System)"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Не удалось подключиться к серверу %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Не удалось подключиться к серверу {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Не удалось создать удалённый каталог %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Не удалось создать удалённый каталог {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Не удалось декодировать JPEG2000-файл(ы) %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Не удалось декодировать JPEG2000-файл(ы) {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "Не удалось декодировать изображение (%1)"
+msgid "Could not decode image ({})"
+msgstr "Не удалось декодировать изображение ({})"
#: src/lib/unzipper.cc:76
-msgid "Could not find file %1 in ZIP file"
-msgstr "Не найдет %1 в ZIP-файле"
+msgid "Could not find file {} in ZIP file"
+msgstr "Не найдет {} в ZIP-файле"
#: src/lib/encode_server_finder.cc:197
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Не удалось достучаться до удалённого сервера кодирования. Возможно запущена "
-"ещё одна копия %1."
+"ещё одна копия {}."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Не удалось открыть %1"
+msgid "Could not open {}"
+msgstr "Не удалось открыть {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Не удалось открыть %1 для отправки"
+msgid "Could not open {} to send"
+msgstr "Не удалось открыть {} для отправки"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "Не удалось открыть загруженный ZIP-файл"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "Не удалось открыть загруженный ZIP-файл (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "Не удалось открыть загруженный ZIP-файл ({}:{}: {})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
msgstr "Не удалось открыть файл для записи"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
-msgstr "Не удалось открыть файл вывода %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "Не удалось открыть файл вывода {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Не удалось прочитать субтитры (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Не удалось прочитать субтитры ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Не удалось начать передачу"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Не удалось записать в удалённый файл (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Не удалось записать в удалённый файл ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -931,7 +931,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Уважаемый киномеханик\n"
"\n"
@@ -943,10 +943,10 @@ msgstr ""
"Ключи действительны с $START_TIME по $END_TIME.\n"
"\n"
"С наилучшими пожеланиями,\n"
-"%1"
+"{}"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr "Диск заполнен при записи% 1"
#: src/lib/dolby_cp750.cc:31
@@ -954,25 +954,25 @@ msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 или CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Ошибка загрузки (%1 ошибка %2)"
+msgid "Download failed ({} error {})"
+msgstr "Ошибка загрузки ({} ошибка {})"
#: src/lib/frame_rate_change.cc:94
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Каждый кадр контента будет дублирован в DCP-пакете.\n"
#: src/lib/frame_rate_change.cc:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
-"Каждый кадр контента будет повторён дополнительно %1 раз(а) в DCP-пакете.\n"
+"Каждый кадр контента будет повторён дополнительно {} раз(а) в DCP-пакете.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "Отправка ключей KDM"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "Отправка ключей KDM для %1"
+msgid "Email KDMs for {}"
+msgstr "Отправка ключей KDM для {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -983,8 +983,8 @@ msgid "Email problem report"
msgstr "Сообщить о проблеме"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Сообщить о проблеме для %1"
+msgid "Email problem report for {}"
+msgstr "Сообщить о проблеме для {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -995,12 +995,12 @@ msgid "Episode"
msgstr "EPS (Эпизод)"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Ошибка в файле субтитров: найдено %1, хотя ожидалось %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Ошибка в файле субтитров: найдено {}, хотя ожидалось {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Ошибка: (%1)"
+msgid "Error: {}"
+msgstr "Ошибка: ({})"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1039,8 +1039,8 @@ msgid "FCP XML subtitles"
msgstr "FCP XML субтитры"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Ошибка аутентификации на сервере (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Ошибка аутентификации на сервере ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1092,8 +1092,8 @@ msgid "Full"
msgstr "Полный"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Полный (0-%1)"
+msgid "Full (0-{})"
+msgstr "Полный (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1194,8 +1194,8 @@ msgstr ""
"гарантировать его видимость."
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
-msgid "It is not known what caused this error. %1"
-msgstr "Неизвестно, что вызвало эту ошибку. %1"
+msgid "It is not known what caused this error. {}"
+msgstr "Неизвестно, что вызвало эту ошибку. {}"
#: src/lib/ffmpeg_content.cc:614
msgid "JEDEC P22"
@@ -1247,8 +1247,8 @@ msgid "Limited"
msgstr "Ограничен"
#: src/lib/ffmpeg_content.cc:557
-msgid "Limited / video (%1-%2)"
-msgstr "Ограничен / видео (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Ограничен / видео ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1296,8 +1296,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "Несоответствие размера видео в DCP"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Отсутствует обязательный параметр %1"
+msgid "Missing required setting {}"
+msgstr "Отсутствует обязательный параметр {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1340,12 +1340,12 @@ msgid "OK"
msgstr "ОК"
#: src/lib/job.cc:622
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "Готово! (выполнено за %1 с %2 до %3)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "Готово! (выполнено за {} с {} до {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "Готово! (выполнено за %1)"
+msgid "OK (ran for {})"
+msgstr "Готово! (выполнено за {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1367,9 +1367,9 @@ msgstr "Открытые субтитры (вшитые)"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
-"Откройте проект в %1, проверьте настройки, сохраните их и попробуйте ещё раз."
+"Откройте проект в {}, проверьте настройки, сохраните их и попробуйте ещё раз."
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
#: src/lib/filter.cc:95
@@ -1391,10 +1391,10 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Пожалуйста, сообщите о данной проблеме, используя Помощь -> Сообщить о "
-"проблеме. Или отправьте письмо на %1"
+"проблеме. Или отправьте письмо на {}"
#: src/lib/dcp_content_type.cc:61
msgid "Policy"
@@ -1409,8 +1409,8 @@ msgid "Prepared for video frame rate"
msgstr "Подготовлено для частоты кадров видео"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Программная ошибка в %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Программная ошибка в {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1530,13 +1530,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "Ошибка SSH [%1]"
+msgid "SSH error [{}]"
+msgstr "Ошибка SSH [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "Ошибка SSH [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "Ошибка SSH [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1563,8 +1563,8 @@ msgid "Size"
msgstr "Размер"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Частота некоторых аудио будет изменена на %1 Гц"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Частота некоторых аудио будет изменена на {} Гц"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1595,10 +1595,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Некоторые из ваших скрытых субтитров занимают более %1 строк. Они будут "
+"Некоторые из ваших скрытых субтитров занимают более {} строк. Они будут "
"обрезаны."
#: src/lib/hints.cc:727
@@ -1680,12 +1680,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "Цепочка сертификатов для подписи неверна"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "Цепочка сертификатов для подписи неверна (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "Цепочка сертификатов для подписи неверна ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1699,7 +1699,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1713,11 +1713,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"Файл %1 помечен как 3D, но не содержит 3D изображений. Пожалуйста, укажите "
+"Файл {} помечен как 3D, но не содержит 3D изображений. Пожалуйста, укажите "
"тип 2D. Тем не менее, вы можете сделать 3D DCP, отметив опцию 3D на вкладке "
"\"DCP->Видео\"."
@@ -1730,20 +1730,20 @@ msgstr ""
"место и попробуйте снова."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Файл %1 был перемещен на %2 миллисекунд ранее."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Файл {} был перемещен на {} миллисекунд ранее."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Файл %1 был перемещен на %2 миллисекунд позднее."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Файл {} был перемещен на {} миллисекунд позднее."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Файл %1 был обрезан на %2 миллисекунд меньше."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Файл {} был обрезан на {} миллисекунд меньше."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Файл %1 был обрезан на %2 миллисекунд больше."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Файл {} был обрезан на {} миллисекунд больше."
#: src/lib/hints.cc:268
msgid ""
@@ -1795,32 +1795,32 @@ msgstr ""
"\"Основные\"."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
-msgstr "Этот KDM был сделан для %1, но не для его конечного сертификата."
+msgid "This KDM was made for {} but not for its leaf certificate."
+msgstr "Этот KDM был сделан для {}, но не для его конечного сертификата."
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
-msgstr "Этот KDM не был сделан для сертификата расшифровки %1."
+msgid "This KDM was not made for {}'s decryption certificate."
+msgstr "Этот KDM не был сделан для сертификата расшифровки {}."
#: src/lib/job.cc:142
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
-"Вероятно, эта ошибка произошла в 32-битной версии %1 при попытке "
+"Вероятно, эта ошибка произошла в 32-битной версии {} при попытке "
"использовать слишком много потоков кодирования. Пожалуйста, уменьшите число "
-"потоков кодирования в %2 в Настройках на вкладке \"Основные\" и попробуйте "
+"потоков кодирования в {} в Настройках на вкладке \"Основные\" и попробуйте "
"снова."
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
-"Вероятно, эта ошибка произошла в 32-битной версии %1. Пожалуйста, установите "
-"64-битную версию %2 и попробуйте снова."
+"Вероятно, эта ошибка произошла в 32-битной версии {}. Пожалуйста, установите "
+"64-битную версию {} и попробуйте снова."
#: src/lib/exceptions.cc:114
msgid ""
@@ -1832,19 +1832,19 @@ msgstr ""
#: src/lib/film.cc:544
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
-"Проект был создан более новой версией %1 и не может быть загружен этой "
+"Проект был создан более новой версией {} и не может быть загружен этой "
"версией. Извините!"
#: src/lib/film.cc:525
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
-"Проект был создан более старой версией %1 и, к сожалению, не может быть "
+"Проект был создан более старой версией {} и, к сожалению, не может быть "
"загружен этой версией. Вам необходимо создать новый проект, заново добавить "
"контент и повторно настроить его. Извините!"
@@ -1861,8 +1861,8 @@ msgid "Trailer"
msgstr "TRL (Трейлер)"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Транскодирование %1"
+msgid "Transcoding {}"
+msgstr "Транскодирование {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1893,8 +1893,8 @@ msgid "Unknown error"
msgstr "Неизвестная ошибка"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Нераспознанный формат аудио (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Нераспознанный формат аудио ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1941,7 +1941,7 @@ msgid "Vertical flip"
msgstr "Отразить по горизонтали"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr "Видео относится к отсутствующему ресурсу % 1"
#: src/lib/util.cc:596
@@ -1970,23 +1970,23 @@ msgstr "Фильтр деинтерлейсинга YADIF"
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"Вы выбрали частоту %1 кадр/сек для DCP. Данная частота кадров поддерживается "
-"не всеми проекторами. Рекомендуется изменить частоту кадров вашего DCP на %2 "
+"Вы выбрали частоту {} кадр/сек для DCP. Данная частота кадров поддерживается "
+"не всеми проекторами. Рекомендуется изменить частоту кадров вашего DCP на {} "
"кадр/сек."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"Вы выбрали частоту %1 кадр/сек для DCP. Данная частота кадров "
+"Вы выбрали частоту {} кадр/сек для DCP. Данная частота кадров "
"поддерживается не всеми проекторами. Возможно, вы захотите изменить частоту "
-"на %2 кадр/сек."
+"на {} кадр/сек."
#: src/lib/hints.cc:203
msgid ""
@@ -1999,11 +1999,11 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
-"Вы используете %1 преобразователь Стерео->5.1. Это экспериментальная функция "
+"Вы используете {} преобразователь Стерео->5.1. Это экспериментальная функция "
"и она может привести к низкому качеству аудио. Если вы продолжите, вы должны "
"прослушать полученный DCP в кинотеатре, чтобы убедиться, что он звучит "
"хорошо."
@@ -2019,10 +2019,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"У вас %1 файлов, которые похожи на VOB-файлы из DVD. Вам необходимо "
+"У вас {} файлов, которые похожи на VOB-файлы из DVD. Вам необходимо "
"объединить их, чтобы гарантировать плавный переход между файлами."
#: src/lib/film.cc:1665
@@ -2055,7 +2055,7 @@ msgstr "Вам необходимо добавить контент в DCP пе
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -2068,12 +2068,12 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"Ваш DCP содержит менее 6 аудиоканалов. Это может вызвать проблемы на "
"некоторых проекторах. Возможно, вы захотите указать 6 каналов для DCP. "
-"Даже если у вас меньше каналов, %1 автоматически заполнит недостающие "
+"Даже если у вас меньше каналов, {} автоматически заполнит недостающие "
"тишиной."
#: src/lib/hints.cc:168
@@ -2087,10 +2087,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Уровень вашего аудио слишком высок (на %1). Вам стоит понизить уровень "
+"Уровень вашего аудио слишком высок (на {}). Вам стоит понизить уровень "
"усиления (gain) вашего аудиоконтента."
#: src/lib/playlist.cc:236
@@ -2121,11 +2121,11 @@ msgstr "[статичный]"
msgid "[subtitles]"
msgstr "[субтитры]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_reel%1"
+msgid "_reel{}"
+msgstr "_reel{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2144,56 +2144,56 @@ msgid "content type"
msgstr "тип контента"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "копирование %1"
+msgid "copying {}"
+msgstr "копирование {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "не удалось найти информацию о потоке"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "не удалось переместить atmos в DCP-пакет (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "не удалось переместить atmos в DCP-пакет ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "не удалось переместить аудио в DCP-пакет (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "не удалось переместить аудио в DCP-пакет ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "не удалось открыть файл %1 для чтения (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "не удалось открыть файл {} для чтения ({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "не удалось открыть файл %1 для чтения/записи (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "не удалось открыть файл {} для чтения/записи ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "не удалось открыть файл %1 для записи (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "не удалось открыть файл {} для записи ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "не удалось прочитать из файла %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "не удалось прочитать из файла {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "не удалось записать в файл %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "не удалось записать в файл {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "ошибка во время async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "ошибка во время async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
-msgid "error during async_connect: (%1)"
-msgstr "ошибка во время async_connect: (%1)"
+msgid "error during async_connect: ({})"
+msgstr "ошибка во время async_connect: ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "ошибка во время async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "ошибка во время async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "ошибка во время async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "ошибка во время async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2212,7 +2212,7 @@ msgstr "частота кадров проекта отличается от ч
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
"в нем количество аудиоканалов отличается от количества аудиоканалов в "
"проекте; установите для проекта значение% 1 каналов."
@@ -2379,20 +2379,20 @@ msgstr "видеокадры"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "Для присоединения контента должно быть одинаковое усиление аудио."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Не удалось запустить SCP-сессию (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Не удалось запустить SCP-сессию ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "не удалось запустить SCP-сессию (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "не удалось запустить SCP-сессию ({})"
#~ msgid "could not start SSH session"
#~ msgstr "не удалось запустить SSH-сессию"
#~ msgid ""
-#~ "Some of your closed captions have lines longer than %1 characters, so "
+#~ "Some of your closed captions have lines longer than {} characters, so "
#~ "they will probably be word-wrapped."
#~ msgstr ""
-#~ "У некоторые из ваших скрытых титров длина строки длиннее %1 символов, "
+#~ "У некоторые из ваших скрытых титров длина строки длиннее {} символов, "
#~ "поэтому возможно произойдёт перенос на новую строку."
#~ msgid "No scale"
@@ -2448,17 +2448,17 @@ msgstr "видеокадры"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Не удалось записать в удаленный файл (%1)"
+#~ msgstr "Не удалось записать в удаленный файл ({})"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Не удалось декодировать изображение (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Не удалось декодировать изображение ({})"
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "перекрывает другие субтитры; уберите другие субтитры."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2467,7 +2467,7 @@ msgstr "видеокадры"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "Проект ссылался на DCP %1. Теперь это невозможно, потому что размеры "
+#~ "Проект ссылался на DCP {}. Теперь это невозможно, потому что размеры "
#~ "бобин в проекте более не соответствует размерам бобин импортированного "
#~ "DCP.\n"
#~ "\n"
@@ -2493,10 +2493,10 @@ msgstr "видеокадры"
#~ msgstr "IMAX"
#~ msgid ""
-#~ "Your DCP frame rate (%1 fps) may cause problems in a few (mostly older) "
+#~ "Your DCP frame rate ({} fps) may cause problems in a few (mostly older) "
#~ "projectors. Use 24 or 48 frames per second to be on the safe side."
#~ msgstr ""
-#~ "Частота кадров вашего DCP (%1 fps) может вызвать проблемы на некоторых (в "
+#~ "Частота кадров вашего DCP ({} fps) может вызвать проблемы на некоторых (в "
#~ "основном старых) проекторах. Используйте 24 или 48 кадров в секунду для "
#~ "полной уверенности."
@@ -2523,11 +2523,11 @@ msgstr "видеокадры"
#~ "Уровень вашего аудио слишком близок до пиковых значений. Вам стоит "
#~ "понизить уровень громкости вашего аудио-контента."
-#~ msgid "could not create file %1"
-#~ msgstr "не удалось создать файл %1"
+#~ msgid "could not create file {}"
+#~ msgstr "не удалось создать файл {}"
-#~ msgid "could not open file %1"
-#~ msgstr "не удалось открыть файл %1"
+#~ msgid "could not open file {}"
+#~ msgstr "не удалось открыть файл {}"
#~ msgid "Computing audio digest"
#~ msgstr "Рендеринг аудио"
@@ -2575,7 +2575,7 @@ msgstr "видеокадры"
#~ msgid "could not run sample-rate converter"
#~ msgstr "не удалось запустить конвертер частоты дискретизации"
-#~ msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+#~ msgid "could not run sample-rate converter for {} samples ({}) ({})"
#~ msgstr ""
-#~ "не удалось запустить конвертер частоты дискретизации для %1 сэмплов (%2) "
-#~ "(%3)"
+#~ "не удалось запустить конвертер частоты дискретизации для {} сэмплов ({}) "
+#~ "({})"
diff --git a/src/lib/po/sk_SK.po b/src/lib/po/sk_SK.po
index c98ac7ad1..c844c4172 100644
--- a/src/lib/po/sk_SK.po
+++ b/src/lib/po/sk_SK.po
@@ -31,10 +31,10 @@ msgstr ""
#, fuzzy
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Zmenšené na %1x%2"
+"Zmenšené na {}x{}"
#: src/lib/video_content.cc:468
#, fuzzy, c-format
@@ -49,29 +49,29 @@ msgstr ""
#, fuzzy
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Vyplnené čiernou, aby sa zmestil do kontajnera %1 (%2x%3)"
+"Vyplnené čiernou, aby sa zmestil do kontajnera {} ({}x{})"
#: src/lib/video_content.cc:492
#, fuzzy
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Zmenšené na %1x%2"
+"Zmenšené na {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr ""
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
+msgid " on {}"
msgstr ""
#: src/lib/config.cc:1276
@@ -93,75 +93,75 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr ""
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
msgstr ""
#: src/lib/atmos_mxf_content.cc:96
#, fuzzy
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [zvuk]"
+msgid "{} [audio]"
+msgstr "{} [zvuk]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [video]"
+msgid "{} [movie]"
+msgstr "{} [video]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
#, fuzzy
-msgid "%1 [video]"
-msgstr "%1 [video]"
+msgid "{} [video]"
+msgstr "{} [video]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"DCP-o-matic nemohol otvoriť %1. Možno, že súbor neexistuje alebo nie je "
+"DCP-o-matic nemohol otvoriť {}. Možno, že súbor neexistuje alebo nie je "
"podporovaný."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "DCP-o-matic nepodporuje `%1' filter, takže filter bude vypnutý."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "DCP-o-matic nepodporuje `{}' filter, takže filter bude vypnutý."
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
+msgid "{} notification"
msgstr ""
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -253,11 +253,11 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
+msgid "; {} fps"
msgstr ""
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
+msgid "; {} remaining; finishing at {}{}"
msgstr ""
#: src/lib/analytics.cc:58
@@ -286,7 +286,7 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
@@ -314,8 +314,8 @@ msgid ""
msgstr ""
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Vyskytla sa chyba počas spracovávania súboru %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Vyskytla sa chyba počas spracovávania súboru {}."
#: src/lib/analyse_audio_job.cc:74
#, fuzzy
@@ -382,12 +382,12 @@ msgid ""
msgstr ""
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Zvuk bude re-samplovaný z %1Hz na %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Zvuk bude re-samplovaný z {}Hz na {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Zvuk bude re-samplovaný na %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Zvuk bude re-samplovaný na {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -469,8 +469,8 @@ msgid "Cannot contain slashes"
msgstr "nemôže obsahovať lomky"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Nemôžem spracovať formát pixelu %1 počas %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Nemôžem spracovať formát pixelu {} počas {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -713,8 +713,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "Video je %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Video je {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -723,58 +723,58 @@ msgstr "Kopírovať DCP do TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "kopírujem %1"
+"Copying {}\n"
+"to {}"
+msgstr "kopírujem {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
msgid "Copying DCP"
-msgstr "kopírujem %1"
+msgstr "kopírujem {}"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Kopírovať DCP do TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Nemôžem sa pripojiť k serveru %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Nemôžem sa pripojiť k serveru {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Nemôžem vytvoriť vzdialený priečinok %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Nemôžem vytvoriť vzdialený priečinok {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Nemôžem dekódovať JPEG2000 súbor %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Nemôžem dekódovať JPEG2000 súbor {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
#, fuzzy
-msgid "Could not decode image (%1)"
-msgstr "Nemôžem dekódovať video súbor (%1)"
+msgid "Could not decode image ({})"
+msgstr "Nemôžem dekódovať video súbor ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Nemôžem otvoriť ZIP súbor"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Nemôžem skontrolovať vzdialené enkódovacie servre. Možno je už DCP-o-matic "
"zapnutý."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Nemôžem otvoriť %1"
+msgid "Could not open {}"
+msgstr "Nemôžem otvoriť {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Nemôžem otvoriť %1 na poslanie"
+msgid "Could not open {} to send"
+msgstr "Nemôžem otvoriť {} na poslanie"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
@@ -782,7 +782,7 @@ msgstr "Nemôžem otvoriť ZIP súbor"
#: src/lib/internet.cc:179
#, fuzzy
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
msgstr "Nemôžem otvoriť ZIP súbor"
#: src/lib/config.cc:1178
@@ -792,12 +792,12 @@ msgstr "Datei konnte nicht zum Lesen geöffnet werden."
#: src/lib/ffmpeg_file_encoder.cc:271
#, fuzzy
-msgid "Could not open output file %1 (%2)"
-msgstr "nemôžem zapisovať do súboru %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "nemôžem zapisovať do súboru {} ({})"
#: src/lib/dcp_subtitle.cc:60
#, fuzzy
-msgid "Could not read subtitles (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
msgstr "Nemôžem čítať titulky"
#: src/lib/curl_uploader.cc:59
@@ -805,8 +805,8 @@ msgid "Could not start transfer"
msgstr "Nemôžem začať prenos"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Nemôžem zapisovať do vzdialeného súboru (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Nemôžem zapisovať do vzdialeného súboru ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -892,7 +892,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Milý premietač,\n"
"\n"
@@ -907,7 +907,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -917,16 +917,16 @@ msgstr "Dolby CP650 a CP750"
#: src/lib/internet.cc:124
#, fuzzy
-msgid "Download failed (%1 error %2)"
-msgstr "Sťahovanie zlyhalo (%1/%2 chyba %3)"
+msgid "Download failed ({} error {})"
+msgstr "Sťahovanie zlyhalo ({}/{} chyba {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Každý frame bude opakovaný %1 krát v DCP.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
+msgstr "Každý frame bude opakovaný {} krát v DCP.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
@@ -934,8 +934,8 @@ msgstr "Email KDM"
#: src/lib/send_kdm_email_job.cc:97
#, fuzzy
-msgid "Email KDMs for %1"
-msgstr "Email KDM pre %1"
+msgid "Email KDMs for {}"
+msgstr "Email KDM pre {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -946,8 +946,8 @@ msgid "Email problem report"
msgstr "Správa o probléme s Emailom"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Správa o probléme s Emailom pre %1"
+msgid "Email problem report for {}"
+msgstr "Správa o probléme s Emailom pre {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -959,12 +959,12 @@ msgstr ""
#: src/lib/exceptions.cc:86
#, fuzzy
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Chyba v SubRip súbore: videný %1 a bol očakávaný %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Chyba v SubRip súbore: videný {} a bol očakávaný {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Chyba: %1"
+msgid "Error: {}"
+msgstr "Chyba: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1009,18 +1009,18 @@ msgid "FCP XML subtitles"
msgstr "DCP XML titulky"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Chyba pri autentifikovaní so serverom (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Chyba pri autentifikovaní so serverom ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
#, fuzzy
msgid "Failed to encode the DCP."
-msgstr "Chyba pri posielaní emailu (%1)"
+msgstr "Chyba pri posielaní emailu ({})"
#: src/lib/email.cc:250
#, fuzzy
msgid "Failed to send email"
-msgstr "Chyba pri posielaní emailu (%1)"
+msgstr "Chyba pri posielaní emailu ({})"
#: src/lib/dcp_content_type.cc:54
msgid "Feature"
@@ -1068,8 +1068,8 @@ msgid "Full"
msgstr "Full"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Full (0-%1)"
+msgid "Full (0-{})"
+msgstr "Full (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1163,7 +1163,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "Neviem, čo zapríčinilo túto chybu."
#: src/lib/ffmpeg_content.cc:614
@@ -1217,8 +1217,8 @@ msgstr "Limitovaný"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Limitovaný (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Limitovaný ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1267,8 +1267,8 @@ msgstr "Nehoduje sa veľkosť videa v DCO"
#: src/lib/exceptions.cc:72
#, fuzzy
-msgid "Missing required setting %1"
-msgstr "chýbajúce potrebné nastavenia %1"
+msgid "Missing required setting {}"
+msgstr "chýbajúce potrebné nastavenia {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1312,12 +1312,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (hotovo za %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (hotovo za {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (hotovo za %1)"
+msgid "OK (ran for {})"
+msgstr "OK (hotovo za {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1339,7 +1339,7 @@ msgstr "[titulky]"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
@@ -1362,7 +1362,7 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
#: src/lib/dcp_content_type.cc:61
@@ -1379,8 +1379,8 @@ msgstr ""
#: src/lib/exceptions.cc:107
#, fuzzy
-msgid "Programming error at %1:%2 %3"
-msgstr "Chyba pri programovaní na %1:%2"
+msgid "Programming error at {}:{} {}"
+msgstr "Chyba pri programovaní na {}:{}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1500,14 +1500,14 @@ msgstr ""
#: src/lib/scp_uploader.cc:47
#, fuzzy
-msgid "SSH error [%1]"
-msgstr "SSH chyba (%1)"
+msgid "SSH error [{}]"
+msgstr "SSH chyba ({})"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
#, fuzzy
-msgid "SSH error [%1] (%2)"
-msgstr "SSH chyba (%1)"
+msgid "SSH error [{}] ({})"
+msgstr "SSH chyba ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1535,8 +1535,8 @@ msgid "Size"
msgstr ""
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Nejaké audio bude prevzorkované na %1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Nejaké audio bude prevzorkované na {}Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1559,7 +1559,7 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
@@ -1638,12 +1638,12 @@ msgstr "Reťaz certifikátov pre podpisovanie je neplatná"
#: src/lib/exceptions.cc:100
#, fuzzy
-msgid "The certificate chain for signing is invalid (%1)"
+msgid "The certificate chain for signing is invalid ({})"
msgstr "Reťaz certifikátov pre podpisovanie je neplatná"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1652,7 +1652,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1661,7 +1661,7 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
@@ -1675,19 +1675,19 @@ msgstr ""
"skúste to znovu."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
+msgid "The file {} has been moved {} milliseconds earlier."
msgstr ""
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
+msgid "The file {} has been moved {} milliseconds later."
msgstr ""
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
+msgid "The file {} has been trimmed by {} milliseconds less."
msgstr ""
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
+msgid "The file {} has been trimmed by {} milliseconds more."
msgstr ""
#: src/lib/hints.cc:268
@@ -1727,19 +1727,19 @@ msgstr ""
"počet enkódovacích threadov v záložke Všeobecné, v nastaveniach."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
+msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
#: src/lib/job.cc:142
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Zostáva málo pamäte. Ak je váš operačný system 32-bitový, skúste znížiť "
@@ -1748,7 +1748,7 @@ msgstr ""
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
#: src/lib/exceptions.cc:114
@@ -1760,7 +1760,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Tento film bol vytvorený novšou verziou DCP-o-matic, a nemôže byť načítaný "
@@ -1769,7 +1769,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1791,8 +1791,8 @@ msgstr "Trailer"
#: src/lib/transcode_job.cc:75
#, fuzzy
-msgid "Transcoding %1"
-msgstr "Transkódovanie %1"
+msgid "Transcoding {}"
+msgstr "Transkódovanie {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1824,8 +1824,8 @@ msgid "Unknown error"
msgstr "Neznáma chyba"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Nerozpoznaná vzorkovacia frekvencia audia (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Nerozpoznaná vzorkovacia frekvencia audia ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1872,7 +1872,7 @@ msgid "Vertical flip"
msgstr ""
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1902,16 +1902,16 @@ msgstr "Len ďalší deinterlacing filter"
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
#: src/lib/hints.cc:203
@@ -1922,7 +1922,7 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -1935,7 +1935,7 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
@@ -1964,7 +1964,7 @@ msgstr "Musíte pridať obsah do DCP pred tým, ako ho vytvoríte"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -1973,7 +1973,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
@@ -1985,7 +1985,7 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
@@ -2013,10 +2013,10 @@ msgstr "[stále]"
msgid "[subtitles]"
msgstr "[titulky]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
+msgid "_reel{}"
msgstr ""
#: src/lib/audio_content.cc:306
@@ -2036,8 +2036,8 @@ msgid "content type"
msgstr "typ obsahu"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "kopírujem %1"
+msgid "copying {}"
+msgstr "kopírujem {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
@@ -2045,52 +2045,52 @@ msgstr "nemôžem nájsť informácie o streame"
#: src/lib/reel_writer.cc:404
#, fuzzy
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "nemôžem presunúť audio do DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "nemôžem presunúť audio do DCP ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "nemôžem presunúť audio do DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "nemôžem presunúť audio do DCP ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for read (%2)"
+msgid "could not open file {} for read ({})"
msgstr "Datei konnte nicht zum Lesen geöffnet werden."
#: src/lib/exceptions.cc:38
#, fuzzy
-msgid "could not open file %1 for read/write (%2)"
+msgid "could not open file {} for read/write ({})"
msgstr "Datei konnte nicht zum Lesen geöffnet werden."
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for write (%2)"
+msgid "could not open file {} for write ({})"
msgstr "Datei konnte nicht zum Lesen geöffnet werden."
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "nemôžem čítať zo súboru %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "nemôžem čítať zo súboru {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "nemôžem zapisovať do súboru %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "nemôžem zapisovať do súboru {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "chyba počas async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "chyba počas async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "chyba počas async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "chyba počas async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "chyba počas async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "chyba počas async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "chyba počas async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "chyba počas async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2109,7 +2109,7 @@ msgstr ""
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2252,11 +2252,11 @@ msgstr "video snímky"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "Aby sa spojil obsah, musí mať tú istú hlasitosť zvuku."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Nemôžem začať SCP session (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Nemôžem začať SCP session ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "nemôžem začať SCP session (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "nemôžem začať SCP session ({})"
#~ msgid "could not start SSH session"
#~ msgstr "nemôžem začať SSH session"
@@ -2269,11 +2269,11 @@ msgstr "video snímky"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Nemôžem zapisovať do vzdialeného súboru (%1)"
+#~ msgstr "Nemôžem zapisovať do vzdialeného súboru ({})"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Nemôžem dekódovať video súbor (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Nemôžem dekódovať video súbor ({})"
#, fuzzy
#~ msgid "it overlaps other subtitle content; remove the other content."
@@ -2301,11 +2301,11 @@ msgstr "video snímky"
#~ "CPL."
#~ msgstr "KDM neodšifruje DCP. Možno, že je určený na zlom CPL."
-#~ msgid "could not create file %1"
-#~ msgstr "nemôžem vytvoriť súbor %1"
+#~ msgid "could not create file {}"
+#~ msgstr "nemôžem vytvoriť súbor {}"
-#~ msgid "could not open file %1"
-#~ msgstr "nemôžem otvoriť súbor %1"
+#~ msgid "could not open file {}"
+#~ msgstr "nemôžem otvoriť súbor {}"
#~ msgid "Computing audio digest"
#~ msgstr "Počítam súhrn zvuku"
@@ -2342,8 +2342,8 @@ msgstr "video snímky"
#~ msgid "There was not enough memory to do this."
#~ msgstr "Zu wenig Speicher für diese Operation."
-#~ msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
-#~ msgstr "Sample-Rate für %1 samples konnte nicht gewandelt werden (%2)(%3)"
+#~ msgid "could not run sample-rate converter for {} samples ({}) ({})"
+#~ msgstr "Sample-Rate für {} samples konnte nicht gewandelt werden ({})({})"
#~ msgid "1.375"
#~ msgstr "1.375"
@@ -2379,20 +2379,20 @@ msgstr "video snímky"
#~ msgid "could not read encoded data"
#~ msgstr "Kodierte Daten nicht gefunden."
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "error during async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "error during async_accept ({})"
-#~ msgid "%1 channels, %2kHz, %3 samples"
-#~ msgstr "%1 Kanäle, %2kHz, %3 samples"
+#~ msgid "{} channels, {}kHz, {} samples"
+#~ msgstr "{} Kanäle, {}kHz, {} samples"
-#~ msgid "%1 frames; %2 frames per second"
-#~ msgstr "%1 Bilder; %2 Bilder pro Sekunde"
+#~ msgid "{} frames; {} frames per second"
+#~ msgstr "{} Bilder; {} Bilder pro Sekunde"
-#~ msgid "%1x%2 pixels (%3:1)"
-#~ msgstr "%1x%2 pixel (%3:1)"
+#~ msgid "{}x{} pixels ({}:1)"
+#~ msgstr "{}x{} pixel ({}:1)"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "Key %1 in Key-value set fehlt"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "Key {} in Key-value set fehlt"
#~ msgid "sRGB non-linearised"
#~ msgstr "sRGB nicht linearisiert"
@@ -2483,8 +2483,8 @@ msgstr "video snímky"
#~ msgid "0%"
#~ msgstr "0%"
-#~ msgid "first frame in moving image directory is number %1"
-#~ msgstr "Erstes Bild im Bilderordner ist Nummer %1"
+#~ msgid "first frame in moving image directory is number {}"
+#~ msgstr "Erstes Bild im Bilderordner ist Nummer {}"
-#~ msgid "there are %1 images in the directory but the last one is number %2"
-#~ msgstr "Im Ordner sind %1 Bilder aber die letzte Nummer ist %2"
+#~ msgid "there are {} images in the directory but the last one is number {}"
+#~ msgstr "Im Ordner sind {} Bilder aber die letzte Nummer ist {}"
diff --git a/src/lib/po/sl_SI.po b/src/lib/po/sl_SI.po
index 4a3f8e6ed..b349b4409 100644
--- a/src/lib/po/sl_SI.po
+++ b/src/lib/po/sl_SI.po
@@ -29,10 +29,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Obrezano na %1x%2"
+"Obrezano na {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -46,29 +46,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Obdano s črnino, da se prilega vsebniku %1 (%2x%3)"
+"Obdano s črnino, da se prilega vsebniku {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Velikost spremenjena na %1x%2"
+"Velikost spremenjena na {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " na %1"
+msgid " on {}"
+msgstr " na {}"
#: src/lib/config.cc:1276
msgid ""
@@ -99,42 +99,42 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [zvok]"
+msgid "{} [audio]"
+msgstr "{} [zvok]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [film]"
+msgid "{} [movie]"
+msgstr "{} [film]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [video]"
+msgid "{} [video]"
+msgstr "{} [video]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"DCP-o-matic ne more odpreti datoteke %1 (%2). Morda ne obstaja ali pa je v "
+"DCP-o-matic ne more odpreti datoteke {} ({}). Morda ne obstaja ali pa je v "
"nepričakovani obliki."
#: src/lib/film.cc:1702
#, fuzzy
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} 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-o-matic je moral spremeniti vaše nastavitve, da DCP lahko nosi oznako "
@@ -144,7 +144,7 @@ msgstr ""
#: src/lib/film.cc:1668
#, fuzzy
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
"DCP-o-matic je moral spremeniti nastavitve, tako da je hitrost sličic filma "
@@ -152,29 +152,29 @@ msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "DCP-o-matic ne podpira več filtra »%1«, zato je bil izklopljen."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "DCP-o-matic ne podpira več filtra »{}«, zato je bil izklopljen."
#: src/lib/config.cc:441 src/lib/config.cc:1251
#, fuzzy
-msgid "%1 notification"
+msgid "{} notification"
msgstr "E-poštno obvestilo"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
-msgstr "%1; %2/%3 sličic"
+msgid "{}; {}/{} frames"
+msgstr "{}; {}/{} sličic"
#: src/lib/video_content.cc:463
#, c-format
@@ -265,12 +265,12 @@ msgstr "9"
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 sl/s"
+msgid "; {} fps"
+msgstr "; {} sl/s"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 preostalo; zaključevanje ob %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} preostalo; zaključevanje ob {}{}"
#: src/lib/analytics.cc:58
#, fuzzy, c-format, c++-format
@@ -314,11 +314,11 @@ msgstr ""
#, fuzzy
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
"Datoteka podnaslovov ali zaprtih napisov v tem projektu je označena z "
-"jezikom »%1«, ki ga DCP-o-matic ne prepozna. Jezik datoteke je počiščen."
+"jezikom »{}«, ki ga DCP-o-matic ne prepozna. Jezik datoteke je počiščen."
#: src/lib/ffmpeg_content.cc:639
msgid "ARIB STD-B67 ('Hybrid log-gamma')"
@@ -352,8 +352,8 @@ msgstr ""
"razmerje kot vaša vsebina."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Pri obravnavi datoteke %1 je prišlo do napake."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Pri obravnavi datoteke {} je prišlo do napake."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -431,12 +431,12 @@ msgstr ""
"Časovno opredeljeno besedilo«, »Vsebina → Odpri podnaslove«."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Zvok se bo prevzorčen iz %1 Hz na %2 Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Zvok se bo prevzorčen iz {} Hz na {} Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Zvok bo prevzorčen na %1 Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Zvok bo prevzorčen na {} Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -516,8 +516,8 @@ msgid "Cannot contain slashes"
msgstr "Ne sme vsebovati poševnic"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Formata slikovne točke %1 ni mogoče procesirati med %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Formata slikovne točke {} ni mogoče procesirati med {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -761,8 +761,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "Video vsebine je %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Video vsebine je {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -771,9 +771,9 @@ msgstr "Kopiraj DCP v TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "kopiranje %1"
+"Copying {}\n"
+"to {}"
+msgstr "kopiranje {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -782,74 +782,74 @@ msgstr "Združi DCP-je"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Kopiraj DCP v TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Ni mogoče vzpostaviti povezave s strežnikom %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Ni mogoče vzpostaviti povezave s strežnikom {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Oddaljene mape %1 (%2) ni mogoče ustvariti"
+msgid "Could not create remote directory {} ({})"
+msgstr "Oddaljene mape {} ({}) ni mogoče ustvariti"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Datoteke JPEG2000 %1 (%2) ni mogoče dekodirati"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Datoteke JPEG2000 {} ({}) ni mogoče dekodirati"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "Slike ni mogoče dekodirati (%1)"
+msgid "Could not decode image ({})"
+msgstr "Slike ni mogoče dekodirati ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Ni bilo mogoče odpreti prenesene datoteke ZIP"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Ni bilo mogoče prisluhniti oddaljenim strežnikom kodiranja. Morda je zagnan "
"še en primerek programa DCP-o-matic."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Ni mogoče odpreti: %1"
+msgid "Could not open {}"
+msgstr "Ni mogoče odpreti: {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Za pošiljanje ni bilo mogoče odpreti %1"
+msgid "Could not open {} to send"
+msgstr "Za pošiljanje ni bilo mogoče odpreti {}"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "Ni bilo mogoče odpreti prenesene datoteke ZIP"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "Ni bilo mogoče odpreti prenesene datoteke ZIP (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "Ni bilo mogoče odpreti prenesene datoteke ZIP ({}:{}: {})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
msgstr "Ni bilo mogoče odpreti datoteke za pisanje"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
-msgstr "Izhodne datoteke %1 (%2) ni bilo mogoče odpreti"
+msgid "Could not open output file {} ({})"
+msgstr "Izhodne datoteke {} ({}) ni bilo mogoče odpreti"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Ni mogoče prebrati podnaslovov (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Ni mogoče prebrati podnaslovov ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Prenosa ni mogoče začeti"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Ni mogoče pisati v oddaljeno datoteko (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Ni mogoče pisati v oddaljeno datoteko ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -932,7 +932,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Dragi/a projekcionist/ka,\n"
"\n"
@@ -947,7 +947,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -955,24 +955,24 @@ msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 ali CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Prenos ni uspel (%1 napaka %2)"
+msgid "Download failed ({} error {})"
+msgstr "Prenos ni uspel ({} napaka {})"
#: src/lib/frame_rate_change.cc:94
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:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Vsaka sličice vsebine bo v DCP %1-krat ponovljena1.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
+msgstr "Vsaka sličice vsebine bo v DCP {}-krat ponovljena1.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "E-pošlji KDM-je"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "E-pošlji KDM-je za %1"
+msgid "Email KDMs for {}"
+msgstr "E-pošlji KDM-je za {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -983,8 +983,8 @@ msgid "Email problem report"
msgstr "Poročilo o težavah z e-pošto"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Poročilo o težavah z e-pošto za %1"
+msgid "Email problem report for {}"
+msgstr "Poročilo o težavah z e-pošto za {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -995,12 +995,12 @@ msgid "Episode"
msgstr "Epizoda"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Napaka v datoteki podnaslovov: zaznano %1, pričakovano %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Napaka v datoteki podnaslovov: zaznano {}, pričakovano {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr " Napaka: %1"
+msgid "Error: {}"
+msgstr " Napaka: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1040,8 +1040,8 @@ msgid "FCP XML subtitles"
msgstr "Podnaslovi DCP XML"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Preverjanje pristnosti s strežnikom (%1) je spodletelo"
+msgid "Failed to authenticate with server ({})"
+msgstr "Preverjanje pristnosti s strežnikom ({}) je spodletelo"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1093,8 +1093,8 @@ msgid "Full"
msgstr "Polno"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Polno (0-%1)"
+msgid "Full (0-{})"
+msgstr "Polno (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1191,7 +1191,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "Ni znano, kaj je povzročilo to napako."
#: src/lib/ffmpeg_content.cc:614
@@ -1244,8 +1244,8 @@ msgid "Limited"
msgstr "Omejeno"
#: src/lib/ffmpeg_content.cc:557
-msgid "Limited / video (%1-%2)"
-msgstr "Omejeno/video (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Omejeno/video ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1293,8 +1293,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "Neskladna velikost videa v DCP"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Manjka zahtevana nastavitev %1"
+msgid "Missing required setting {}"
+msgstr "Manjka zahtevana nastavitev {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1338,12 +1338,12 @@ msgid "OK"
msgstr "V redu"
#: src/lib/job.cc:622
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "V redu (potekalo %1 od %2 do %3)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "V redu (potekalo {} od {} do {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "V redu (potekalo %1)"
+msgid "OK (ran for {})"
+msgstr "V redu (potekalo {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1367,7 +1367,7 @@ msgstr "Odpri podnaslove"
#: src/lib/transcode_job.cc:116
#, fuzzy
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
"Odprite projekt v DCP-o-matic, preverite nastavitve in ga shranite, preden "
"poskusite znova."
@@ -1392,7 +1392,7 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
#: src/lib/dcp_content_type.cc:61
@@ -1408,8 +1408,8 @@ msgid "Prepared for video frame rate"
msgstr "Pripravljeno za hitrost video sličic"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Programska napaka na %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Programska napaka na {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1529,13 +1529,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "Napaka SSH [%1]"
+msgid "SSH error [{}]"
+msgstr "Napaka SSH [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "Napaka SSH [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "Napaka SSH [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1562,8 +1562,8 @@ msgid "Size"
msgstr "Velikost"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Nekateri zvočni elementi bodo prevzorčeni na %1 Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Nekateri zvočni elementi bodo prevzorčeni na {} Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1594,10 +1594,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Nekateri vaši zaprti napisi segajo presegajo %1 vrstic, zato bodo odrezani."
+"Nekateri vaši zaprti napisi segajo presegajo {} vrstic, zato bodo odrezani."
#: src/lib/hints.cc:727
msgid ""
@@ -1675,13 +1675,13 @@ msgid "The certificate chain for signing is invalid"
msgstr "Veriga potrdil za podpisovanje ni veljavna"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "Veriga potrdil za podpisovanje ni veljavna (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "Veriga potrdil za podpisovanje ni veljavna ({})"
#: src/lib/hints.cc:744
#, fuzzy
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1696,7 +1696,7 @@ msgstr ""
#: src/lib/hints.cc:752
#, fuzzy
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1710,11 +1710,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"Datoteka vsebine %1 je nastavljena kot 3D, vendar ne vsebuje 3D-slik. "
+"Datoteka vsebine {} je nastavljena kot 3D, vendar ne vsebuje 3D-slik. "
"Nastavite jo na 2D. Iz te vsebine lahko še vedno naredite 3D-DCP, tako da "
"na zavihku videoposnetka DCP potrdite možnost 3D."
@@ -1727,20 +1727,20 @@ msgstr ""
"Sprostite nekaj več prostora in poskusite znova."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Datoteka %1 je bila premaknjena %2 milisekund naprej."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Datoteka {} je bila premaknjena {} milisekund naprej."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Datoteka %1 je bila premaknjena %2 milisekund nazaj."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Datoteka {} je bila premaknjena {} milisekund nazaj."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Datoteka %1 je bila obrezana za %2 milisekund manj."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Datoteka {} je bila obrezana za {} milisekund manj."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Datoteka %1 je bila obrezana za %2 milisekund več."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Datoteka {} je bila obrezana za {} milisekund več."
#: src/lib/hints.cc:268
msgid ""
@@ -1791,21 +1791,21 @@ msgstr ""
#: src/lib/util.cc:986
#, fuzzy
-msgid "This KDM was made for %1 but not for its leaf certificate."
+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:984
#, fuzzy
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr "Ta KDM ni bil narejen za potrdilo za dešifriranje DCP-o-matic."
#: src/lib/job.cc:142
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Do te napake je verjetno prišlo, ker izvajate 32-bitno različico DCP-o-matic "
@@ -1817,7 +1817,7 @@ msgstr ""
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
"Do te napake je verjetno prišlo, ker izvajate 32-bitno različico DCP-o-"
"matic. Ponovno namestite DCP-o-matic s 64-bitnim namestitvenim programom in "
@@ -1834,7 +1834,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Ta film je nastal z novejšo različico DCP-o-matic in ga ni mogoče naložiti v "
@@ -1843,7 +1843,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1864,8 +1864,8 @@ msgid "Trailer"
msgstr "Napovednik"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Prekodiranje %1"
+msgid "Transcoding {}"
+msgstr "Prekodiranje {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1896,8 +1896,8 @@ msgid "Unknown error"
msgstr "Neznana napaka"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Neprepoznana oblika vzorca zvoka (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Neprepoznana oblika vzorca zvoka ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1944,7 +1944,7 @@ msgid "Vertical flip"
msgstr "Navpično preobrni"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1973,23 +1973,23 @@ msgstr "Še en filter za razpletanje"
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"Nastavljeno imate za DCP s hitrostjo %1 sl/s. Te hitrosti sličic ne "
+"Nastavljeno imate za DCP s hitrostjo {} sl/s. Te hitrosti sličic ne "
"podpirajo vsi projektorji. Svetujemo vam, da spremenite hitrost predvajanja "
-"DCP na %2 sl/s."
+"DCP na {} sl/s."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"Nastavljeno imate za DCP s hitrostjo %1 sl/s. Te hitrosti sličic ne "
+"Nastavljeno imate za DCP s hitrostjo {} sl/s. Te hitrosti sličic ne "
"podpirajo vsi projektorji. Morda boste želeli razmisliti o spremembi "
-"hitrosti sličic na %2 sl/s."
+"hitrosti sličic na {} sl/s."
#: src/lib/hints.cc:203
msgid ""
@@ -2002,7 +2002,7 @@ msgstr ""
#: src/lib/hints.cc:126
#, fuzzy
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -2021,10 +2021,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Imate %1 datotek, za katere kaže, da so datoteke VOB z DVD-ja. Združite jih, "
+"Imate {} datotek, za katere kaže, da so datoteke VOB z DVD-ja. Združite jih, "
"da zagotovite gladke spoje med datotekami."
#: src/lib/film.cc:1665
@@ -2057,11 +2057,11 @@ msgstr "Preden jo ustvarite, morate DCP-ju dodati nekaj vsebin"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
-"Vaš DCP ima %1 zvočnih kanalov in ne 8 ali 16. Zaradi tega lahko nekateri "
+"Vaš DCP ima {} zvočnih kanalov in ne 8 ali 16. Zaradi tega lahko nekateri "
"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."
@@ -2070,7 +2070,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"Vaš DCP ima manj kot 6 zvočnih kanalov. To lahko povzroči težave pri "
@@ -2089,10 +2089,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Raven zvoka je zelo visoka (na %1). Zmanjšati morate ojačitev zvočne "
+"Raven zvoka je zelo visoka (na {}). Zmanjšati morate ojačitev zvočne "
"vsebine."
#: src/lib/playlist.cc:236
@@ -2122,11 +2122,11 @@ msgstr "[fotografija]"
msgid "[subtitles]"
msgstr "[podnaslovi]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_reel%1"
+msgid "_reel{}"
+msgstr "_reel{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2145,57 +2145,57 @@ msgid "content type"
msgstr "vrsta vsebine"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "kopiranje %1"
+msgid "copying {}"
+msgstr "kopiranje {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "podatkov o toku ni mogoče najti"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "sredstva atmos ni bilo mogoče premakniti v DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "sredstva atmos ni bilo mogoče premakniti v DCP ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "zvočnega sredstva ni bilo mogoče premakniti v DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "zvočnega sredstva ni bilo mogoče premakniti v DCP ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "ni mogoče odpreti datoteke %1 za branje (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "ni mogoče odpreti datoteke {} za branje ({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "ni mogoče odpreti datoteke %1 f za branje/pisanje (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "ni mogoče odpreti datoteke {} f za branje/pisanje ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "ni mogoče odpreti datoteke %1 za pisanje (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "ni mogoče odpreti datoteke {} za pisanje ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "ni mogoče brati iz datoteke %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "ni mogoče brati iz datoteke {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "ni mogoče pisati v datoteko %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "ni mogoče pisati v datoteko {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "napaka med async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "napaka med async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "napaka med async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "napaka med async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "napaka med async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "napaka med async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "napaka med async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "napaka med async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2214,7 +2214,7 @@ msgstr "ima drugačno hitrost sličic kot film."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
diff --git a/src/lib/po/sv_SE.po b/src/lib/po/sv_SE.po
index 216203e51..d89e54a5c 100644
--- a/src/lib/po/sv_SE.po
+++ b/src/lib/po/sv_SE.po
@@ -29,10 +29,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Beskuren till %1x%2"
+"Beskuren till {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -46,29 +46,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Svarta kanter tillagda för att passa %1-behållaren (%2x%3)"
+"Svarta kanter tillagda för att passa {}-behållaren ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Skalat till %1x%2"
+"Skalat till {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " på %1"
+msgid " on {}"
+msgstr " på {}"
#: src/lib/config.cc:1276
#, fuzzy
@@ -99,42 +99,42 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [ljud]"
+msgid "{} [audio]"
+msgstr "{} [ljud]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [film]"
+msgid "{} [movie]"
+msgstr "{} [film]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [bild]"
+msgid "{} [video]"
+msgstr "{} [bild]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"DCP-o-matic kunde inte öppna %1 (%2). Kanske finns inte filen eller har ett "
+"DCP-o-matic kunde inte öppna {} ({}). Kanske finns inte filen eller har ett "
"okänt format."
#: src/lib/film.cc:1702
#, fuzzy
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} 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-o-matic var tvungen att ändra dina inställningar för att referera till "
@@ -144,7 +144,7 @@ msgstr ""
#: src/lib/film.cc:1668
#, fuzzy
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
"DCP-o-matic var tvungen att ändra dina inställningar så att filmens "
@@ -152,28 +152,28 @@ msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "DCP-o-matic stödjer inte längre '%1'-filtret, så det har inaktiverats."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "DCP-o-matic stödjer inte längre '{}'-filtret, så det har inaktiverats."
#: src/lib/config.cc:441 src/lib/config.cc:1251
#, fuzzy
-msgid "%1 notification"
+msgid "{} notification"
msgstr "E-postmeddelande"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -266,12 +266,12 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 fps"
+msgid "; {} fps"
+msgstr "; {} fps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 återstår; klar kl. %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} återstår; klar kl. {}{}"
#: src/lib/analytics.cc:58
#, fuzzy, c-format, c++-format
@@ -315,10 +315,10 @@ msgstr ""
#, fuzzy
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
-"En fil med undertext i detta projekt är markerat med språket '%1', vilket "
+"En fil med undertext i detta projekt är markerat med språket '{}', vilket "
"DCP-omatic inte känner igen. Filens språk-fält har tömts."
#: src/lib/ffmpeg_content.cc:639
@@ -353,8 +353,8 @@ msgstr ""
"behållare med samma bildformat som källmaterialet."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Ett fel inträffade vid hantering av filen %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Ett fel inträffade vid hantering av filen {}."
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -435,12 +435,12 @@ msgstr ""
"\"Innehåll→Öppna undertext\" eller \"Innehåll→Undertext\"."
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Ljudspåret kommer samplas om från %1 Hz till %2 Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Ljudspåret kommer samplas om från {} Hz till {} Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Ljudspåret kommer samplas om till %1 Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Ljudspåret kommer samplas om till {} Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -521,8 +521,8 @@ msgid "Cannot contain slashes"
msgstr "Får inte innehålla snedstreck"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Kan inte hantera pixelformat %1 under %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Kan inte hantera pixelformat {} under {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -768,8 +768,8 @@ 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:454
-msgid "Content video is %1x%2"
-msgstr "Källmaterialet är %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Källmaterialet är {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -778,9 +778,9 @@ msgstr "Kopiera DCP till TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "kopierar %1"
+"Copying {}\n"
+"to {}"
+msgstr "kopierar {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -789,74 +789,74 @@ msgstr "Kombinera DCP:er"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Kopiera DCP till TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Kunde inte ansluta till server %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Kunde inte ansluta till server {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Kunde inte skapa fjärrkatalog %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Kunde inte skapa fjärrkatalog {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Kunde inte avkoda JPEG2000-fil %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Kunde inte avkoda JPEG2000-fil {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "Kunde inte avkoda bild (%1)"
+msgid "Could not decode image ({})"
+msgstr "Kunde inte avkoda bild ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Kunde inte öppna hämtad ZIP-fil"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Kunde inte lyssna efter kodnings-servrar. Kanske en annan instans av DCP-o-"
"matic körs."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Kunde inte öppna %1"
+msgid "Could not open {}"
+msgstr "Kunde inte öppna {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Kunde inte öppna %1 för att skicka"
+msgid "Could not open {} to send"
+msgstr "Kunde inte öppna {} för att skicka"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "Kunde inte öppna hämtad ZIP-fil"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
msgstr "Kunde inte öppna hämtad ZIP-fil"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
-msgstr "Kunde inte öppna fil %1 för skrivning (%2)"
+msgstr "Kunde inte öppna fil {} för skrivning ({})"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
-msgstr "Kunde inte öppna ut-fil %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "Kunde inte öppna ut-fil {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Kunde inte läsa undertexter (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Kunde inte läsa undertexter ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Kunde inte starta överföring"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Kunde inte skriva till fjärrfil (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Kunde inte skriva till fjärrfil ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -939,7 +939,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Hej maskinist!\n"
"\n"
@@ -954,7 +954,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -962,8 +962,8 @@ msgid "Dolby CP650 or CP750"
msgstr "Dolby CP650 eller CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "Nedladdning misslyckades (%1 fel %2)"
+msgid "Download failed ({} error {})"
+msgstr "Nedladdning misslyckades ({} fel {})"
#: src/lib/frame_rate_change.cc:94
msgid "Each content frame will be doubled in the DCP.\n"
@@ -971,17 +971,17 @@ msgstr ""
"Varje bildruta från källmaterialet kommer användas två gånger i DCP:n.\n"
#: src/lib/frame_rate_change.cc:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
-"Varje bildruta från källmaterialet kommer användas %1 gånger i DCP:n.\n"
+"Varje bildruta från källmaterialet kommer användas {} gånger i DCP:n.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "E-posta KDM:er"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "E-posta KDM:er för %2"
+msgid "Email KDMs for {}"
+msgstr "E-posta KDM:er för {}"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -992,8 +992,8 @@ msgid "Email problem report"
msgstr "E-posta felrapport"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "E-posta felrapport för %1"
+msgid "Email problem report for {}"
+msgstr "E-posta felrapport för {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -1004,12 +1004,12 @@ msgid "Episode"
msgstr "Episode"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Fel i undertext-file: såg %1 men vi förväntade oss %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Fel i undertext-file: såg {} men vi förväntade oss {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Fel: %1"
+msgid "Error: {}"
+msgstr "Fel: {}"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1050,8 +1050,8 @@ msgid "FCP XML subtitles"
msgstr "DCP XML-undertexter"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Misslyckades att autentisera med server (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Misslyckades att autentisera med server ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1105,8 +1105,8 @@ msgid "Full"
msgstr "Komplett"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Komplett (0-%1)"
+msgid "Full (0-{})"
+msgstr "Komplett (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1205,7 +1205,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "Det är inte känt vad som orsakade detta fel."
#: src/lib/ffmpeg_content.cc:614
@@ -1259,8 +1259,8 @@ msgstr "Begränsat"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Begränsat (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Begränsat ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1308,8 +1308,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "Bildstorleken är inte enhetlig genom hela DCP:n"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Nödvändig inställning saknas: %1"
+msgid "Missing required setting {}"
+msgstr "Nödvändig inställning saknas: {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1355,12 +1355,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "OK (tog %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "OK (tog {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "OK (tog %1)"
+msgid "OK (ran for {})"
+msgstr "OK (tog {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1382,7 +1382,7 @@ msgstr "Undertexter"
#: src/lib/transcode_job.cc:116
#, fuzzy
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
"Några filer har ändrats sedan de lades till i projektet. Öppna projektet i "
"DCP-o-matic, kolla inställningarna, spara sedan innan du försöker igen."
@@ -1408,7 +1408,7 @@ msgstr "P3"
#, fuzzy
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
"Vänligen rapportera detta problem genom att använda 'Hjälp -> Rapportera "
"problem' eller via e-post till carl@dcpomatic.com"
@@ -1426,8 +1426,8 @@ msgid "Prepared for video frame rate"
msgstr "Förberedd för videobildshastighet"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Programmeringsfel vid %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Programmeringsfel vid {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1546,13 +1546,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "SSH fel [%1]"
+msgid "SSH error [{}]"
+msgstr "SSH fel [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "SSH fel [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "SSH fel [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1579,8 +1579,8 @@ msgid "Size"
msgstr "Upplösning"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "En del av ljudspåret kommer samplas om till %1 Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "En del av ljudspåret kommer samplas om till {} Hz"
#: src/lib/transcode_job.cc:121
#, fuzzy
@@ -1617,10 +1617,10 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
-"Några av dina dolda undertext-block har fler än %1 rader. De överskjutande "
+"Några av dina dolda undertext-block har fler än {} rader. De överskjutande "
"raderna kommer förmodligen klippas bort."
#: src/lib/hints.cc:727
@@ -1700,12 +1700,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "Certifikatkedjan för att signera är ogiltig"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "Certifikatkedjan för att signera är ogiltig (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "Certifikatkedjan för att signera är ogiltig ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1714,7 +1714,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1723,11 +1723,11 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"Källfilen %1 är angiven som 3D men verkar inte innehålla några 3D-bilder. "
+"Källfilen {} är angiven som 3D men verkar inte innehålla några 3D-bilder. "
"Vänligen ange den som 2D. Det går fortfarande att göra en 3D DCP från detta "
"källmaterial genom att kryssa i 3D-vaket i fliken för DCP-video."
@@ -1740,20 +1740,20 @@ msgstr ""
"och försök igen."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Filen %1 har flyttats %2 millisekunder tidigare."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Filen {} har flyttats {} millisekunder tidigare."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Filen %1 har flyttats %2 millisekunder senare."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Filen {} har flyttats {} millisekunder senare."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Filen %1 har trimmats med %2 millisekunder mindre."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Filen {} har trimmats med {} millisekunder mindre."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Filen %1 har trimmats med %2 millisekunder mer."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Filen {} har trimmats med {} millisekunder mer."
#: src/lib/hints.cc:268
msgid ""
@@ -1800,20 +1800,20 @@ msgstr ""
#: src/lib/util.cc:986
#, fuzzy
-msgid "This KDM was made for %1 but not for its leaf certificate."
+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:984
#, fuzzy
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr "Denna KDM är inte gjord för DCP-o-matics dekrypterings-certifikat."
#: src/lib/job.cc:142
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Detta fel beror troligen på att du kör en 32-bitars version av DCP-o-matic "
@@ -1824,7 +1824,7 @@ msgstr ""
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
"Detta fel beror troligen på att du kör en 32-bitars version av DCP-o-matic. "
"Vänligen ominstallera med en 64-bitars version och försök igen."
@@ -1840,7 +1840,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Denna film skapades i en nyare version av DCP-o-matic, och den kan inte "
@@ -1849,7 +1849,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1870,8 +1870,8 @@ msgid "Trailer"
msgstr "Trailer"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "Transkoderar %1"
+msgid "Transcoding {}"
+msgstr "Transkoderar {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1902,8 +1902,8 @@ msgid "Unknown error"
msgstr "Okänt fel"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Okänt ljudsamplingsformat (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Okänt ljudsamplingsformat ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1951,7 +1951,7 @@ msgid "Vertical flip"
msgstr "Vertikal spegling"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1982,21 +1982,21 @@ msgstr "Yet Another Deinterlacing Filter"
#: src/lib/hints.cc:209
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"Vald bildhastighet är %1 fps. Denna bildhastighet stöds inte av all "
-"uppspelningsutrustning. Rekommenderat är att ändra bildhastighet till %2 fps."
+"Vald bildhastighet är {} fps. Denna bildhastighet stöds inte av all "
+"uppspelningsutrustning. Rekommenderat är att ändra bildhastighet till {} fps."
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"Vald bildhastighet är %1 fps. Denna bildhastighet stöds inte av all "
-"uppspelningsutrustning. Överväg att ändra bildhastighet till %2 fps."
+"Vald bildhastighet är {} fps. Denna bildhastighet stöds inte av all "
+"uppspelningsutrustning. Överväg att ändra bildhastighet till {} fps."
#: src/lib/hints.cc:203
msgid ""
@@ -2009,7 +2009,7 @@ msgstr ""
#: src/lib/hints.cc:126
#, fuzzy
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -2029,10 +2029,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"Du har %1 filer som ser ut att vara VOB-filer från en DVD. Du bör sammanfoga "
+"Du har {} filer som ser ut att vara VOB-filer från en DVD. Du bör sammanfoga "
"dem för att säkerställa korrekta skarvar mellan filerna."
#: src/lib/film.cc:1665
@@ -2065,7 +2065,7 @@ msgstr "Du måste lägga till källmaterial till DCP:n innan du skapar den"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -2075,7 +2075,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"Din DCP har mindre än 6 kanaler ljud. Detta kan skapa problem för en del "
@@ -2094,10 +2094,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Din ljudnivå är mycket hög (på %1). Rekommenderat är att sänka gain på "
+"Din ljudnivå är mycket hög (på {}). Rekommenderat är att sänka gain på "
"ljudspåret."
#: src/lib/playlist.cc:236
@@ -2126,11 +2126,11 @@ msgstr "[stillbild]"
msgid "[subtitles]"
msgstr "[undertexter]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_akt%1"
+msgid "_reel{}"
+msgstr "_akt{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2149,57 +2149,57 @@ msgid "content type"
msgstr "filmtyp"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "kopierar %1"
+msgid "copying {}"
+msgstr "kopierar {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "kunde inte hitta information om strömmen"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "kunde inte flytta in atmos innehållet till DCP:n (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "kunde inte flytta in atmos innehållet till DCP:n ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "kunde inte flytta in ljud till DCP:n (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "kunde inte flytta in ljud till DCP:n ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "kunde inte öppna fil %1 för läsning (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "kunde inte öppna fil {} för läsning ({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "kunde inte öppna fil %1 för läsning/skrivning (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "kunde inte öppna fil {} för läsning/skrivning ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "kunde inte öppna fil %1 för skrivning (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "kunde inte öppna fil {} för skrivning ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "kunde inte läsa från fil %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "kunde inte läsa från fil {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "kunde inte skriva till fil %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "kunde inte skriva till fil {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "fel vid async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "fel vid async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "fel vid async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "fel vid async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "fel vid async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "fel vid async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "fel vid async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "fel vid async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2218,7 +2218,7 @@ msgstr "den har en annan bildhastighet än filmen."
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2374,11 +2374,11 @@ msgstr "bildrutor"
#~ msgstr ""
#~ "Källmaterial som ska sammanfogas måste använda samma språk för ljud."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Kunde inte starta SCP-session (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Kunde inte starta SCP-session ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "kunde inte starta SCP-session (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "kunde inte starta SCP-session ({})"
#~ msgid "could not start SSH session"
#~ msgstr "kunde inte starta SSH-session"
@@ -2390,10 +2390,10 @@ msgstr "bildrutor"
#~ msgstr "Ingen utsträckning"
#~ msgid ""
-#~ "Some of your closed captions have lines longer than %1 characters, so "
+#~ "Some of your closed captions have lines longer than {} characters, so "
#~ "they will probably be word-wrapped."
#~ msgstr ""
-#~ "Några av dina dolda undertext-block har rader längre än %1 characters. "
+#~ "Några av dina dolda undertext-block har rader längre än {} characters. "
#~ "Dessa rader kommer förmodligen brytas."
#~ msgid ""
@@ -2442,18 +2442,18 @@ msgstr "bildrutor"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Kunde inte skriva till fjärrfil (%1)"
+#~ msgstr "Kunde inte skriva till fjärrfil ({})"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Kunde inte avkoda bildfil (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Kunde inte avkoda bildfil ({})"
#, fuzzy
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "Det finns annan undertext som överlappar denna DCP; ta bort den."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2462,7 +2462,7 @@ msgstr "bildrutor"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "DCP %1 refererades till av denna film. Detta är inte möjligt nu eftersom "
+#~ "DCP {} refererades till av denna film. Detta är inte möjligt nu eftersom "
#~ "storleken på rullarna i filmen inte längre stämmer med dom i den "
#~ "importerade DCP:n.\n"
#~ "\n"
@@ -2485,10 +2485,10 @@ msgstr "bildrutor"
#~ msgstr "4:3"
#~ msgid ""
-#~ "Your DCP frame rate (%1 fps) may cause problems in a few (mostly older) "
+#~ "Your DCP frame rate ({} fps) may cause problems in a few (mostly older) "
#~ "projectors. Use 24 or 48 frames per second to be on the safe side."
#~ msgstr ""
-#~ "Din DCP-bildhastighet (%1 bps) kan orsaka problem på några (mest äldre) "
+#~ "Din DCP-bildhastighet ({} bps) kan orsaka problem på några (mest äldre) "
#~ "projektorer. Använd 24 eller 48 bilder per sekund för att vara säker."
#~ msgid "Finding length and subtitles"
@@ -2505,11 +2505,11 @@ msgstr "bildrutor"
#~ "CPL."
#~ msgstr "KDM:en dekrypterar inte DCP:n. Kanske är den gjord för fel CPL."
-#~ msgid "could not create file %1"
-#~ msgstr "kunde inte skapa fil %1"
+#~ msgid "could not create file {}"
+#~ msgstr "kunde inte skapa fil {}"
-#~ msgid "could not open file %1"
-#~ msgstr "kunde inte öppna fil %1"
+#~ msgid "could not open file {}"
+#~ msgstr "kunde inte öppna fil {}"
#~ msgid "Computing audio digest"
#~ msgstr "Beräknar audiosammanfattning"
@@ -2551,9 +2551,9 @@ msgstr "bildrutor"
#~ msgid "could not run sample-rate converter"
#~ msgstr "kunde inte köra sampelhastighetskonverteraren"
-#~ msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+#~ msgid "could not run sample-rate converter for {} samples ({}) ({})"
#~ msgstr ""
-#~ "kunde inte köra sampelhastighetskonverteraren under %1 sampel (%2) (%3)"
+#~ "kunde inte köra sampelhastighetskonverteraren under {} sampel ({}) ({})"
#~ msgid "1.375"
#~ msgstr "1,375"
@@ -2588,20 +2588,20 @@ msgstr "bildrutor"
#~ msgid "could not read encoded data"
#~ msgstr "kunde inte läsa kodat data"
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "fel vid async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "fel vid async_accept ({})"
-#~ msgid "%1 channels, %2kHz, %3 samples"
-#~ msgstr "%1 kanaler, %2kHz, %3 sampel"
+#~ msgid "{} channels, {}kHz, {} samples"
+#~ msgstr "{} kanaler, {}kHz, {} sampel"
-#~ msgid "%1 frames; %2 frames per second"
-#~ msgstr "%1 bilder; %2 bilder per sekund"
+#~ msgid "{} frames; {} frames per second"
+#~ msgstr "{} bilder; {} bilder per sekund"
-#~ msgid "%1x%2 pixels (%3:1)"
-#~ msgstr "%1x%2 pixlar (%3:1)"
+#~ msgid "{}x{} pixels ({}:1)"
+#~ msgstr "{}x{} pixlar ({}:1)"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "saknad nyckel %1 i nyckel-värde grupp"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "saknad nyckel {} i nyckel-värde grupp"
#~ msgid "sRGB non-linearised"
#~ msgstr "sRGB icke-linjär"
@@ -2698,8 +2698,8 @@ msgstr "bildrutor"
#~ msgstr "kunde inte hitta audio-avkodare"
#, fuzzy
-#~ msgid "Sound file: %1"
-#~ msgstr "kunde inte öppna fil %1"
+#~ msgid "Sound file: {}"
+#~ msgstr "kunde inte öppna fil {}"
#~ msgid "1.66 within Flat"
#~ msgstr "1,66 innanför Flat"
@@ -2713,15 +2713,15 @@ msgstr "bildrutor"
#~ msgid "4:3 within Flat"
#~ msgstr "4:3 innanför Flat"
-#~ msgid "A/B transcode %1"
-#~ msgstr "A/B konvertera %1"
+#~ msgid "A/B transcode {}"
+#~ msgstr "A/B konvertera {}"
#~ msgid "Cannot resample audio as libswresample is not present"
#~ msgstr ""
#~ "Kan inte omsampla ljudet eftersom libswresample inte finns tillgängligt"
-#~ msgid "Examine content of %1"
-#~ msgstr "Undersök innehållet i %1"
+#~ msgid "Examine content of {}"
+#~ msgstr "Undersök innehållet i {}"
#~ msgid "Scope without stretch"
#~ msgstr "Scope utan utsträckning"
diff --git a/src/lib/po/tr_TR.po b/src/lib/po/tr_TR.po
index ea215a40d..0fa7441a9 100644
--- a/src/lib/po/tr_TR.po
+++ b/src/lib/po/tr_TR.po
@@ -27,7 +27,7 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
#: src/lib/video_content.cc:468
@@ -40,13 +40,13 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
@@ -54,10 +54,10 @@ msgstr ""
msgid " (%.2f:1)"
msgstr ""
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
+msgid " on {}"
msgstr ""
#: src/lib/config.cc:1276
@@ -79,69 +79,69 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr ""
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
msgstr ""
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
+msgid "{} [Atmos]"
msgstr ""
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
+msgid "{} [DCP]"
msgstr ""
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
+msgid "{} [audio]"
msgstr ""
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
+msgid "{} [movie]"
msgstr ""
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
+msgid "{} [video]"
msgstr ""
#: src/lib/job.cc:181 src/lib/job.cc:196
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
msgstr ""
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
+msgid "{} notification"
msgstr ""
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -230,11 +230,11 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
+msgid "; {} fps"
msgstr ""
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
+msgid "; {} remaining; finishing at {}{}"
msgstr ""
#: src/lib/analytics.cc:58
@@ -263,7 +263,7 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
@@ -291,7 +291,7 @@ msgid ""
msgstr ""
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
+msgid "An error occurred whilst handling the file {}."
msgstr ""
#: src/lib/analyse_audio_job.cc:74
@@ -357,11 +357,11 @@ msgid ""
msgstr ""
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
msgstr ""
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
+msgid "Audio will be resampled to {}Hz"
msgstr ""
#: src/lib/audio_content.cc:256
@@ -442,7 +442,7 @@ msgid "Cannot contain slashes"
msgstr ""
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
+msgid "Cannot handle pixel format {} during {}"
msgstr ""
#: src/lib/film.cc:1811
@@ -663,7 +663,7 @@ msgid "Content to be joined must use the same text language."
msgstr ""
#: src/lib/video_content.cc:454
-msgid "Content video is %1x%2"
+msgid "Content video is {}x{}"
msgstr ""
#: src/lib/upload_job.cc:66
@@ -672,8 +672,8 @@ msgstr ""
#: src/lib/copy_to_drive_job.cc:59
msgid ""
-"Copying %1\n"
-"to %2"
+"Copying {}\n"
+"to {}"
msgstr ""
#: src/lib/copy_to_drive_job.cc:120
@@ -681,41 +681,41 @@ msgid "Copying DCP"
msgstr ""
#: src/lib/copy_to_drive_job.cc:62
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr ""
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
+msgid "Could not connect to server {} ({})"
msgstr ""
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
+msgid "Could not create remote directory {} ({})"
msgstr ""
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
msgstr ""
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
+msgid "Could not decode image ({})"
msgstr ""
#: src/lib/unzipper.cc:76
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr ""
#: src/lib/encode_server_finder.cc:197
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
+msgid "Could not open {}"
msgstr ""
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
+msgid "Could not open {} to send"
msgstr ""
#: src/lib/internet.cc:167 src/lib/internet.cc:172
@@ -723,7 +723,7 @@ msgid "Could not open downloaded ZIP file"
msgstr ""
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
msgstr ""
#: src/lib/config.cc:1178
@@ -731,11 +731,11 @@ msgid "Could not open file for writing"
msgstr ""
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
+msgid "Could not open output file {} ({})"
msgstr ""
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
msgstr ""
#: src/lib/curl_uploader.cc:59
@@ -743,7 +743,7 @@ msgid "Could not start transfer"
msgstr ""
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
+msgid "Could not write to remote file ({})"
msgstr ""
#: src/lib/util.cc:601
@@ -826,11 +826,11 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -838,7 +838,7 @@ msgid "Dolby CP650 or CP750"
msgstr ""
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
+msgid "Download failed ({} error {})"
msgstr ""
#: src/lib/frame_rate_change.cc:94
@@ -846,7 +846,7 @@ msgid "Each content frame will be doubled in the DCP.\n"
msgstr ""
#: src/lib/frame_rate_change.cc:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
msgstr ""
#: src/lib/send_kdm_email_job.cc:94
@@ -854,7 +854,7 @@ msgid "Email KDMs"
msgstr ""
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
+msgid "Email KDMs for {}"
msgstr ""
#: src/lib/send_notification_email_job.cc:53
@@ -866,7 +866,7 @@ msgid "Email problem report"
msgstr ""
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
+msgid "Email problem report for {}"
msgstr ""
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
@@ -878,11 +878,11 @@ msgid "Episode"
msgstr ""
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
msgstr ""
#: src/lib/job.cc:625
-msgid "Error: %1"
+msgid "Error: {}"
msgstr ""
#: src/lib/dcp_content_type.cc:69
@@ -922,7 +922,7 @@ msgid "FCP XML subtitles"
msgstr ""
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
+msgid "Failed to authenticate with server ({})"
msgstr ""
#: src/lib/job.cc:140 src/lib/job.cc:154
@@ -974,7 +974,7 @@ msgid "Full"
msgstr ""
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
+msgid "Full (0-{})"
msgstr ""
#: src/lib/ratio.cc:57
@@ -1066,7 +1066,7 @@ msgid ""
msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr ""
#: src/lib/ffmpeg_content.cc:614
@@ -1119,7 +1119,7 @@ msgid "Limited"
msgstr ""
#: src/lib/ffmpeg_content.cc:557
-msgid "Limited / video (%1-%2)"
+msgid "Limited / video ({}-{})"
msgstr ""
#: src/lib/ffmpeg_content.cc:629
@@ -1168,7 +1168,7 @@ msgid "Mismatched video sizes in DCP"
msgstr ""
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
+msgid "Missing required setting {}"
msgstr ""
#: src/lib/job.cc:561
@@ -1212,11 +1212,11 @@ msgid "OK"
msgstr ""
#: src/lib/job.cc:622
-msgid "OK (ran for %1 from %2 to %3)"
+msgid "OK (ran for {} from {} to {})"
msgstr ""
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
+msgid "OK (ran for {})"
msgstr ""
#: src/lib/content.cc:106
@@ -1237,7 +1237,7 @@ msgstr ""
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
@@ -1260,7 +1260,7 @@ msgstr ""
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
#: src/lib/dcp_content_type.cc:61
@@ -1276,7 +1276,7 @@ msgid "Prepared for video frame rate"
msgstr ""
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
+msgid "Programming error at {}:{} {}"
msgstr ""
#: src/lib/dcp_content_type.cc:65
@@ -1393,12 +1393,12 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr ""
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
+msgid "SSH error [{}]"
msgstr ""
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
+msgid "SSH error [{}] ({})"
msgstr ""
#: src/lib/job.cc:571
@@ -1426,7 +1426,7 @@ msgid "Size"
msgstr ""
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
+msgid "Some audio will be resampled to {}Hz"
msgstr ""
#: src/lib/transcode_job.cc:121
@@ -1450,7 +1450,7 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
@@ -1527,12 +1527,12 @@ msgid "The certificate chain for signing is invalid"
msgstr ""
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
+msgid "The certificate chain for signing is invalid ({})"
msgstr ""
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1541,7 +1541,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1550,7 +1550,7 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
@@ -1562,19 +1562,19 @@ msgid ""
msgstr ""
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
+msgid "The file {} has been moved {} milliseconds earlier."
msgstr ""
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
+msgid "The file {} has been moved {} milliseconds later."
msgstr ""
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
+msgid "The file {} has been trimmed by {} milliseconds less."
msgstr ""
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
+msgid "The file {} has been trimmed by {} milliseconds more."
msgstr ""
#: src/lib/hints.cc:268
@@ -1612,25 +1612,25 @@ msgid ""
msgstr ""
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
+msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
#: src/lib/job.cc:142
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
#: src/lib/exceptions.cc:114
@@ -1641,13 +1641,13 @@ msgstr ""
#: src/lib/film.cc:544
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
#: src/lib/film.cc:525
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1665,7 +1665,7 @@ msgid "Trailer"
msgstr ""
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
+msgid "Transcoding {}"
msgstr ""
#: src/lib/dcp_content_type.cc:58
@@ -1697,7 +1697,7 @@ msgid "Unknown error"
msgstr ""
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
+msgid "Unrecognised audio sample format ({})"
msgstr ""
#: src/lib/filter.cc:102
@@ -1745,7 +1745,7 @@ msgid "Vertical flip"
msgstr ""
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1774,16 +1774,16 @@ msgstr ""
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
#: src/lib/hints.cc:203
@@ -1794,7 +1794,7 @@ msgstr ""
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -1807,7 +1807,7 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
@@ -1835,7 +1835,7 @@ msgstr ""
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -1844,7 +1844,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
@@ -1856,7 +1856,7 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
@@ -1884,10 +1884,10 @@ msgstr ""
msgid "[subtitles]"
msgstr ""
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
+msgid "_reel{}"
msgstr ""
#: src/lib/audio_content.cc:306
@@ -1907,7 +1907,7 @@ msgid "content type"
msgstr ""
#: src/lib/uploader.cc:79
-msgid "copying %1"
+msgid "copying {}"
msgstr ""
#: src/lib/ffmpeg.cc:119
@@ -1915,47 +1915,47 @@ msgid "could not find stream information"
msgstr ""
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
msgstr ""
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
msgstr ""
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
+msgid "could not open file {} for read ({})"
msgstr ""
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
+msgid "could not open file {} for read/write ({})"
msgstr ""
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
+msgid "could not open file {} for write ({})"
msgstr ""
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
+msgid "could not read from file {} ({})"
msgstr ""
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
+msgid "could not write to file {} ({})"
msgstr ""
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
+msgid "error during async_connect ({})"
msgstr ""
#: src/lib/dcpomatic_socket.cc:79
-msgid "error during async_connect: (%1)"
+msgid "error during async_connect: ({})"
msgstr ""
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
+msgid "error during async_read ({})"
msgstr ""
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
+msgid "error during async_write ({})"
msgstr ""
#: src/lib/content.cc:472 src/lib/content.cc:481
@@ -1975,7 +1975,7 @@ msgstr ""
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
diff --git a/src/lib/po/uk_UA.po b/src/lib/po/uk_UA.po
index 4ccc783d7..3a195e353 100644
--- a/src/lib/po/uk_UA.po
+++ b/src/lib/po/uk_UA.po
@@ -27,10 +27,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"Розмір при кадруванні: %1x%2"
+"Розмір при кадруванні: {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -44,29 +44,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"Заповнено чорним для підгонки контейнера %1 (%2x%3)"
+"Заповнено чорним для підгонки контейнера {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"Розмір при масштабуванні: %1x%2"
+"Розмір при масштабуванні: {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " на %1"
+msgid " on {}"
+msgstr " на {}"
#: src/lib/config.cc:1276
#, fuzzy
@@ -97,74 +97,74 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$JOB_NAME: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
msgstr ""
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [Atmos]"
+msgid "{} [Atmos]"
+msgstr "{} [Atmos]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [аудіо]"
+msgid "{} [audio]"
+msgstr "{} [аудіо]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [відео]"
+msgid "{} [movie]"
+msgstr "{} [відео]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [відео]"
+msgid "{} [video]"
+msgstr "{} [відео]"
#: src/lib/job.cc:181 src/lib/job.cc:196
#, fuzzy
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
msgstr ""
-"DCP-o-matic не вдалося відкрити файл %1 (%2). Можливо він не існує або має "
+"DCP-o-matic не вдалося відкрити файл {} ({}). Можливо він не існує або має "
"неочікуваний формат."
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
msgstr ""
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
msgstr ""
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
msgstr ""
#: src/lib/ffmpeg_content.cc:115
#, fuzzy
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "DCP-o-matic більше не підтримує фильтр `%1', тому він був вимкнений."
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "DCP-o-matic більше не підтримує фильтр `{}', тому він був вимкнений."
#: src/lib/config.cc:441 src/lib/config.cc:1251
#, fuzzy
-msgid "%1 notification"
+msgid "{} notification"
msgstr "E-mail повідомлення"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
+msgid "{}; {}/{} frames"
msgstr ""
#: src/lib/video_content.cc:463
@@ -254,12 +254,12 @@ msgstr ""
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 кадр/сек"
+msgid "; {} fps"
+msgstr "; {} кадр/сек"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; %1 залишилось; час завершення %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; {} залишилось; час завершення {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -291,7 +291,7 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
@@ -327,8 +327,8 @@ msgstr ""
"(1.85:1) на вкладці \"DCP\"."
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "Виникла помилка при зверненні до файлу %1."
+msgid "An error occurred whilst handling the file {}."
+msgstr "Виникла помилка при зверненні до файлу {}."
#: src/lib/analyse_audio_job.cc:74
#, fuzzy
@@ -395,12 +395,12 @@ msgid ""
msgstr ""
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "Аудіо буде ресемпловано з %1 Гц в %2 Гц"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "Аудіо буде ресемпловано з {} Гц в {} Гц"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "Аудіо будет ресемпловано в %1 Гц"
+msgid "Audio will be resampled to {}Hz"
+msgstr "Аудіо будет ресемпловано в {} Гц"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -481,8 +481,8 @@ msgid "Cannot contain slashes"
msgstr "Не може містити слеші"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "Неможливо обробити формат пікселя %1 під час %2"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "Неможливо обробити формат пікселя {} під час {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -728,8 +728,8 @@ msgid "Content to be joined must use the same text language."
msgstr "Для приєднання контенту має бути такий самий шрифт."
#: src/lib/video_content.cc:454
-msgid "Content video is %1x%2"
-msgstr "Розмір контенту: %1x%2"
+msgid "Content video is {}x{}"
+msgstr "Розмір контенту: {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -738,58 +738,58 @@ msgstr "Копіювати DCP на TMS (Theater Management System)"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "копіювання %1"
+"Copying {}\n"
+"to {}"
+msgstr "копіювання {}"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
msgid "Copying DCP"
-msgstr "копіювання %1"
+msgstr "копіювання {}"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "Копіювати DCP на TMS (Theater Management System)"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "Не вдалося підключитися до серверу %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "Не вдалося підключитися до серверу {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "Не вдалося створити віддалений каталог %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "Не вдалося створити віддалений каталог {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "Не вдалось декодувати JPEG2000-файл %1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "Не вдалось декодувати JPEG2000-файл {} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
#, fuzzy
-msgid "Could not decode image (%1)"
-msgstr "Не вдалося декодувати зображення (%1)"
+msgid "Could not decode image ({})"
+msgstr "Не вдалося декодувати зображення ({})"
#: src/lib/unzipper.cc:76
#, fuzzy
-msgid "Could not find file %1 in ZIP file"
+msgid "Could not find file {} in ZIP file"
msgstr "Не вдалося відкрити завантажений ZIP-архів"
#: src/lib/encode_server_finder.cc:197
#, fuzzy
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
msgstr ""
"Не вдалося прослухати віддалений сервер кодування. Можливо працює ще одна "
"копія DCP-o-matic."
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "Не вдалося відкрити %1"
+msgid "Could not open {}"
+msgstr "Не вдалося відкрити {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "Не вдалося відкрити %1 для відправки"
+msgid "Could not open {} to send"
+msgstr "Не вдалося відкрити {} для відправки"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
@@ -797,30 +797,30 @@ msgstr "Не вдалося відкрити завантажений ZIP-арх
#: src/lib/internet.cc:179
#, fuzzy
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
msgstr "Не вдалося відкрити завантажений ZIP-архів"
#: src/lib/config.cc:1178
#, fuzzy
msgid "Could not open file for writing"
-msgstr "не вдалося відкрити файл %1 для запису (%2)"
+msgstr "не вдалося відкрити файл {} для запису ({})"
#: src/lib/ffmpeg_file_encoder.cc:271
#, fuzzy
-msgid "Could not open output file %1 (%2)"
-msgstr "не вдалося записати в файл %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "не вдалося записати в файл {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "Не вдалося прочитати субтитри (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "Не вдалося прочитати субтитри ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "Не вдалося почати передачу"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "Не вдалося записати в віддалений файл (%1)"
+msgid "Could not write to remote file ({})"
+msgstr "Не вдалося записати в віддалений файл ({})"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -903,7 +903,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"Шановний кіномеханик\n"
"\n"
@@ -918,7 +918,7 @@ msgstr ""
"DCP-o-matic"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
+msgid "Disk full when writing {}"
msgstr ""
#: src/lib/dolby_cp750.cc:31
@@ -928,16 +928,16 @@ msgstr "Dolby CP650 и CP750"
#: src/lib/internet.cc:124
#, fuzzy
-msgid "Download failed (%1 error %2)"
-msgstr "Помилка завантаження (%1/%2 помилка %3)"
+msgid "Download failed ({} error {})"
+msgstr "Помилка завантаження ({}/{} помилка {})"
#: src/lib/frame_rate_change.cc:94
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "Кожний кадр контенту буде задвоено у DCP-пакеті.\n"
#: src/lib/frame_rate_change.cc:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "Кожний кадр контенту буде повторений %1 раз у DCP-пакеті.\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
+msgstr "Кожний кадр контенту буде повторений {} раз у DCP-пакеті.\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
@@ -945,8 +945,8 @@ msgstr "Відправка ключей"
#: src/lib/send_kdm_email_job.cc:97
#, fuzzy
-msgid "Email KDMs for %1"
-msgstr "Відправка ключей %1 по Email"
+msgid "Email KDMs for {}"
+msgstr "Відправка ключей {} по Email"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -957,8 +957,8 @@ msgid "Email problem report"
msgstr "Повідомити про проблему"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "Помилка відправки ключей %1 по Email"
+msgid "Email problem report for {}"
+msgstr "Помилка відправки ключей {} по Email"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -969,12 +969,12 @@ msgid "Episode"
msgstr ""
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "Помилка у файлі субтитрів: знайдено %1, однак очікується %2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "Помилка у файлі субтитрів: знайдено {}, однак очікується {}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "Помилка: (%1)"
+msgid "Error: {}"
+msgstr "Помилка: ({})"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -1019,18 +1019,18 @@ msgid "FCP XML subtitles"
msgstr "DCP XML субтитри"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "Помилка аутентифікації сервером (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "Помилка аутентифікації сервером ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
#, fuzzy
msgid "Failed to encode the DCP."
-msgstr "Помилка відправки email (%1)"
+msgstr "Помилка відправки email ({})"
#: src/lib/email.cc:250
#, fuzzy
msgid "Failed to send email"
-msgstr "Помилка відправки email (%1)"
+msgstr "Помилка відправки email ({})"
#: src/lib/dcp_content_type.cc:54
msgid "Feature"
@@ -1075,8 +1075,8 @@ msgid "Full"
msgstr "Повний"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "Повний (0-%1)"
+msgid "Full (0-{})"
+msgstr "Повний (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1168,7 +1168,7 @@ msgstr ""
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
#, fuzzy
-msgid "It is not known what caused this error. %1"
+msgid "It is not known what caused this error. {}"
msgstr "Невідомо, що викликало цю помилку."
#: src/lib/ffmpeg_content.cc:614
@@ -1222,8 +1222,8 @@ msgstr "Обмежено"
#: src/lib/ffmpeg_content.cc:557
#, fuzzy
-msgid "Limited / video (%1-%2)"
-msgstr "Обмежено (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "Обмежено ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1271,8 +1271,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "Невідповідність розміру відео в DCP"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "Відсутнє обов'язкове налаштування %1"
+msgid "Missing required setting {}"
+msgstr "Відсутнє обов'язкове налаштування {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1318,12 +1318,12 @@ msgstr ""
#: src/lib/job.cc:622
#, fuzzy
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "Готово! (виконано за %1)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "Готово! (виконано за {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "Готово! (виконано за %1)"
+msgid "OK (ran for {})"
+msgstr "Готово! (виконано за {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1345,7 +1345,7 @@ msgstr "Текстові субтитри"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
+"Open the project in {}, check the settings, then save it before trying again."
msgstr ""
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
@@ -1368,7 +1368,7 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
+"{}"
msgstr ""
#: src/lib/dcp_content_type.cc:61
@@ -1384,8 +1384,8 @@ msgid "Prepared for video frame rate"
msgstr "Підготовлене для частоти кадрів відео"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "Помилка програмування %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "Помилка програмування {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1502,14 +1502,14 @@ msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
#, fuzzy
-msgid "SSH error [%1]"
-msgstr "Помилка SSH (%1)"
+msgid "SSH error [{}]"
+msgstr "Помилка SSH ({})"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
#, fuzzy
-msgid "SSH error [%1] (%2)"
-msgstr "Помилка SSH (%1)"
+msgid "SSH error [{}] ({})"
+msgstr "Помилка SSH ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1536,8 +1536,8 @@ msgid "Size"
msgstr "Розмір"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "Деяке аудіо будет ресемпловано в %1 Гц"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "Деяке аудіо будет ресемпловано в {} Гц"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1560,7 +1560,7 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
msgstr ""
@@ -1639,12 +1639,12 @@ msgid "The certificate chain for signing is invalid"
msgstr "Ланцюг сертифікатів для підпису невірний"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "Ланцюг сертифікатів для підпису невірний (%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "Ланцюг сертифікатів для підпису невірний ({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1653,7 +1653,7 @@ msgstr ""
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
@@ -1662,7 +1662,7 @@ msgstr ""
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
@@ -1676,20 +1676,20 @@ msgstr ""
"трохи місця та спробуйте знову."
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "Файл %1 переміщений на %2 мілісекунди раніше."
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "Файл {} переміщений на {} мілісекунди раніше."
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "Файл %1 переміщений на %2 мілісекунди пізніше."
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "Файл {} переміщений на {} мілісекунди пізніше."
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "Файл %1 був обрізаний на %2 мілісекунд менше."
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "Файл {} був обрізаний на {} мілісекунд менше."
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "Файл %1 був обрізаний на %2 мілісекунд більше."
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "Файл {} був обрізаний на {} мілісекунд більше."
#: src/lib/hints.cc:268
msgid ""
@@ -1735,19 +1735,19 @@ msgstr ""
"\"Основні\"."
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
+msgid "This KDM was made for {} but not for its leaf certificate."
msgstr ""
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
+msgid "This KDM was not made for {}'s decryption certificate."
msgstr ""
#: src/lib/job.cc:142
#, fuzzy
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
"Недостатньо пам'яті для виконання операції. Якщо у вас 32-бітна система, "
@@ -1757,7 +1757,7 @@ msgstr ""
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
#: src/lib/exceptions.cc:114
@@ -1771,7 +1771,7 @@ msgstr ""
#: src/lib/film.cc:544
#, fuzzy
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
msgstr ""
"Проект був створений більш новою версією DCP-o-matic і не може бути "
@@ -1780,7 +1780,7 @@ msgstr ""
#: src/lib/film.cc:525
#, fuzzy
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
@@ -1802,8 +1802,8 @@ msgstr "TRL (Трейлер)"
#: src/lib/transcode_job.cc:75
#, fuzzy
-msgid "Transcoding %1"
-msgstr "Транскодування %1"
+msgid "Transcoding {}"
+msgstr "Транскодування {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1835,8 +1835,8 @@ msgid "Unknown error"
msgstr "Невідома помилка"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "Нерозпізнаний формат аудіо (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "Нерозпізнаний формат аудіо ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1883,7 +1883,7 @@ msgid "Vertical flip"
msgstr "Перевернути по вертикалі"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
+msgid "Video refers to missing asset {}"
msgstr ""
#: src/lib/util.cc:596
@@ -1913,9 +1913,9 @@ msgstr "Ще один фільтр деінтерлейсинга"
#: src/lib/hints.cc:209
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
"Ви обрали для Interop DCP частоту кадрів, яка офіційно не підтримується. "
"Радимо змінити частоту кадрів вашого DCP або замість цього зробити SMPTE DCP."
@@ -1923,9 +1923,9 @@ msgstr ""
#: src/lib/hints.cc:193
#, fuzzy
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
"Ви обрали для Interop DCP частоту кадрів, яка офіційно не підтримується. "
"Радимо змінити частоту кадрів вашого DCP або замість цього зробити SMPTE DCP."
@@ -1942,7 +1942,7 @@ msgstr ""
#: src/lib/hints.cc:126
#, fuzzy
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
@@ -1962,10 +1962,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"У вас %1 файлів, які схожі на VOB-файли з DVD. Вам необхідно об'єднати "
+"У вас {} файлів, які схожі на VOB-файли з DVD. Вам необхідно об'єднати "
"(приєднати) їх, щоб гарантувати гладке з'єднання між файлами."
#: src/lib/film.cc:1665
@@ -1994,7 +1994,7 @@ msgstr "Вам необхідно додати контент в DCP перед
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
@@ -2003,7 +2003,7 @@ msgstr ""
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
@@ -2019,10 +2019,10 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
msgstr ""
-"Рівень вашого аудіо занадто високий (на %1). Вам варто знизити рівень "
+"Рівень вашого аудіо занадто високий (на {}). Вам варто знизити рівень "
"гучності вашого аудіо-контенту."
#: src/lib/playlist.cc:236
@@ -2053,10 +2053,10 @@ msgstr "[статичний]"
msgid "[subtitles]"
msgstr "[субтитри]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
+msgid "_reel{}"
msgstr ""
#: src/lib/audio_content.cc:306
@@ -2076,8 +2076,8 @@ msgid "content type"
msgstr "тип контенту"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "копіювання %1"
+msgid "copying {}"
+msgstr "копіювання {}"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
@@ -2085,52 +2085,52 @@ msgstr "не вдалося знайти інформацію про поток"
#: src/lib/reel_writer.cc:404
#, fuzzy
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "не вдалося перемістити аудіо в DCP-пакет (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "не вдалося перемістити аудіо в DCP-пакет ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "не вдалося перемістити аудіо в DCP-пакет (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "не вдалося перемістити аудіо в DCP-пакет ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for read (%2)"
-msgstr "не вдалося відкрити файл %1 для читання (%2)"
+msgid "could not open file {} for read ({})"
+msgstr "не вдалося відкрити файл {} для читання ({})"
#: src/lib/exceptions.cc:38
#, fuzzy
-msgid "could not open file %1 for read/write (%2)"
-msgstr "не вдалося відкрити файл %1 для читання (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "не вдалося відкрити файл {} для читання ({})"
#: src/lib/exceptions.cc:39
#, fuzzy
-msgid "could not open file %1 for write (%2)"
-msgstr "не вдалося відкрити файл %1 для запису (%2)"
+msgid "could not open file {} for write ({})"
+msgstr "не вдалося відкрити файл {} для запису ({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "не вдалося прочитати з файла %1 (%2)"
+msgid "could not read from file {} ({})"
+msgstr "не вдалося прочитати з файла {} ({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "не вдалося записати в файл %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "не вдалося записати в файл {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "помилка під час async_connect (%1)"
+msgid "error during async_connect ({})"
+msgstr "помилка під час async_connect ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "помилка під час async_connect (%1)"
+msgid "error during async_connect: ({})"
+msgstr "помилка під час async_connect ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "помилка під час async_read (%1)"
+msgid "error during async_read ({})"
+msgstr "помилка під час async_read ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "помилка під час async_write (%1)"
+msgid "error during async_write ({})"
+msgstr "помилка під час async_write ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2150,7 +2150,7 @@ msgstr "частота кадрів проекту відрізняється в
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
+"project to have {} channels."
msgstr ""
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
@@ -2302,11 +2302,11 @@ msgstr "відеокадри"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "Для приєднання контенту має бути таке саме посилення аудіо."
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "Не вдалося запустити SCP-сесію (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "Не вдалося запустити SCP-сесію ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "не вдалося запустити SCP-сесію (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "не вдалося запустити SCP-сесію ({})"
#~ msgid "could not start SSH session"
#~ msgstr "не вдалося запустити SSH-сесію"
@@ -2364,17 +2364,17 @@ msgstr "відеокадри"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "Не вдалося записати в віддалений файл (%1)"
+#~ msgstr "Не вдалося записати в віддалений файл ({})"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "Не вдалося декодувати зображення (%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "Не вдалося декодувати зображення ({})"
#~ msgid "it overlaps other subtitle content; remove the other content."
#~ msgstr "перекриває інші субтитри; приберіть інші субтитри."
#~ msgid ""
-#~ "The DCP %1 was being referred to by this film. This not now possible "
+#~ "The DCP {} was being referred to by this film. This not now possible "
#~ "because the reel sizes in the film no longer agree with those in the "
#~ "imported DCP.\n"
#~ "\n"
@@ -2383,7 +2383,7 @@ msgstr "відеокадри"
#~ "After doing that you would need to re-tick the appropriate 'refer to "
#~ "existing DCP' checkboxes."
#~ msgstr ""
-#~ "Проект посилався на DCP %1. Тепер це неможливо, тому що розміри бобін у "
+#~ "Проект посилався на DCP {}. Тепер це неможливо, тому що розміри бобін у "
#~ "проекті більше не відповідають розмірам бобін імпортованого DCP.\n"
#~ "\n"
#~ "Установка режима бобіни \"розділяти по відео-контенту\" можливо допоможе "
@@ -2405,10 +2405,10 @@ msgstr "відеокадри"
#~ msgstr "4:3"
#~ msgid ""
-#~ "Your DCP frame rate (%1 fps) may cause problems in a few (mostly older) "
+#~ "Your DCP frame rate ({} fps) may cause problems in a few (mostly older) "
#~ "projectors. Use 24 or 48 frames per second to be on the safe side."
#~ msgstr ""
-#~ "Частота кадрів вашого DCP (%1 fps) може викликати проблеми на деяких (в "
+#~ "Частота кадрів вашого DCP ({} fps) може викликати проблеми на деяких (в "
#~ "основному старих) проекторах. Використовуйте 24 або 48 кадрів в секунду "
#~ "для повної впевненості."
@@ -2427,11 +2427,11 @@ msgstr "відеокадри"
#~ msgstr ""
#~ "KDM-ключ не розшифровує даний DCP. Можливо він призначений для іншого CPL."
-#~ msgid "could not create file %1"
-#~ msgstr "не вдалося створити файл %1"
+#~ msgid "could not create file {}"
+#~ msgstr "не вдалося створити файл {}"
-#~ msgid "could not open file %1"
-#~ msgstr "не вдалося відкрити файл %1"
+#~ msgid "could not open file {}"
+#~ msgstr "не вдалося відкрити файл {}"
#~ msgid "Computing audio digest"
#~ msgstr "Рендеринг аудіо"
@@ -2479,7 +2479,7 @@ msgstr "відеокадри"
#~ msgid "could not run sample-rate converter"
#~ msgstr "не удалось запустить конвертер частоты дискретизации"
-#~ msgid "could not run sample-rate converter for %1 samples (%2) (%3)"
+#~ msgid "could not run sample-rate converter for {} samples ({}) ({})"
#~ msgstr ""
-#~ "не удалось запустить конвертер частоты дискретизации для %1 сэмплов (%2) "
-#~ "(%3)"
+#~ "не удалось запустить конвертер частоты дискретизации для {} сэмплов ({}) "
+#~ "({})"
diff --git a/src/lib/po/zh_CN.po b/src/lib/po/zh_CN.po
index 2ee9a49b2..e4b85fad2 100644
--- a/src/lib/po/zh_CN.po
+++ b/src/lib/po/zh_CN.po
@@ -36,10 +36,10 @@ msgstr ""
#: src/lib/video_content.cc:478
msgid ""
"\n"
-"Cropped to %1x%2"
+"Cropped to {}x{}"
msgstr ""
"\n"
-"裁剪为 %1x%2"
+"裁剪为 {}x{}"
#: src/lib/video_content.cc:468
#, c-format
@@ -53,29 +53,29 @@ msgstr ""
#: src/lib/video_content.cc:502
msgid ""
"\n"
-"Padded with black to fit container %1 (%2x%3)"
+"Padded with black to fit container {} ({}x{})"
msgstr ""
"\n"
-"填充为黑色,以适应打包宽高比 %1 (%2x%3)"
+"填充为黑色,以适应打包宽高比 {} ({}x{})"
#: src/lib/video_content.cc:492
msgid ""
"\n"
-"Scaled to %1x%2"
+"Scaled to {}x{}"
msgstr ""
"\n"
-"缩放到 %1x%2"
+"缩放到 {}x{}"
#: src/lib/video_content.cc:496 src/lib/video_content.cc:507
#, c-format
msgid " (%.2f:1)"
msgstr " (%.2f:1)"
-#. TRANSLATORS: the %1 in this string will be filled in with a day of the week
+#. TRANSLATORS: the {} in this string will be filled in with a day of the week
#. to say what day a job will finish.
#: src/lib/job.cc:598
-msgid " on %1"
-msgstr " 于 %1"
+msgid " on {}"
+msgstr " 于 {}"
#: src/lib/config.cc:1276
msgid ""
@@ -106,71 +106,71 @@ msgid "$JOB_NAME: $JOB_STATUS"
msgstr "$任务名称: $JOB_STATUS"
#: src/lib/cross_common.cc:107
-msgid "%1 (%2 GB) [%3]"
-msgstr "%1 (%2 GB) [%3]"
+msgid "{} ({} GB) [{}]"
+msgstr "{} ({} GB) [{}]"
#: src/lib/atmos_mxf_content.cc:96
-msgid "%1 [Atmos]"
-msgstr "%1 [全景声]"
+msgid "{} [Atmos]"
+msgstr "{} [全景声]"
#: src/lib/dcp_content.cc:356
-msgid "%1 [DCP]"
-msgstr "%1 [DCP]"
+msgid "{} [DCP]"
+msgstr "{} [DCP]"
#: src/lib/ffmpeg_content.cc:347
-msgid "%1 [audio]"
-msgstr "%1 [音频]"
+msgid "{} [audio]"
+msgstr "{} [音频]"
#: src/lib/ffmpeg_content.cc:343
-msgid "%1 [movie]"
-msgstr "%1 [影片]"
+msgid "{} [movie]"
+msgstr "{} [影片]"
#: src/lib/ffmpeg_content.cc:345 src/lib/video_mxf_content.cc:106
-msgid "%1 [video]"
-msgstr "%1 [视频]"
+msgid "{} [video]"
+msgstr "{} [视频]"
#: src/lib/job.cc:181 src/lib/job.cc:196
msgid ""
-"%1 could not open the file %2 (%3). Perhaps it does not exist or is in an "
+"{} could not open the file {} ({}). Perhaps it does not exist or is in an "
"unexpected format."
-msgstr "%1 无法打开文件%2 (%3)。文件不存在或格式无法识别。"
+msgstr "{} 无法打开文件{} ({})。文件不存在或格式无法识别。"
#: src/lib/film.cc:1702
msgid ""
-"%1 had to change your settings for referring to DCPs as OV. Please review "
+"{} had to change your settings for referring to DCPs as OV. Please review "
"those settings to make sure they are what you want."
msgstr ""
-"%1必须更改您DCP的设置为OV。请重新检查设置确认设置内容是否为您的期望值。"
+"{}必须更改您DCP的设置为OV。请重新检查设置确认设置内容是否为您的期望值。"
#: src/lib/film.cc:1668
msgid ""
-"%1 had to change your settings so that the film's frame rate is the same as "
+"{} had to change your settings so that the film's frame rate is the same as "
"that of your Atmos content."
-msgstr "%1必须更改您DCP的设置,使影片的帧率与 Atmos 内容一致。"
+msgstr "{}必须更改您DCP的设置,使影片的帧率与 Atmos 内容一致。"
#: src/lib/film.cc:1715
msgid ""
-"%1 had to remove one of your custom reel boundaries as it no longer lies "
+"{} had to remove one of your custom reel boundaries as it no longer lies "
"within the film."
-msgstr "%1 必须删除一个自定义卷轴边界,因为它不再位于影片内。"
+msgstr "{} 必须删除一个自定义卷轴边界,因为它不再位于影片内。"
#: src/lib/film.cc:1713
msgid ""
-"%1 had to remove some of your custom reel boundaries as they no longer lie "
+"{} had to remove some of your custom reel boundaries as they no longer lie "
"within the film."
-msgstr "%1必须删除一些自定义卷轴边界,因为它不再位于影片中。"
+msgstr "{}必须删除一些自定义卷轴边界,因为它不再位于影片中。"
#: src/lib/ffmpeg_content.cc:115
-msgid "%1 no longer supports the `%2' filter, so it has been turned off."
-msgstr "%1 不再支持 %2 滤镜,因此它必须被关闭。"
+msgid "{} no longer supports the `{}' filter, so it has been turned off."
+msgstr "{} 不再支持 {} 滤镜,因此它必须被关闭。"
#: src/lib/config.cc:441 src/lib/config.cc:1251
-msgid "%1 notification"
-msgstr "%1 提醒"
+msgid "{} notification"
+msgstr "{} 提醒"
#: src/lib/transcode_job.cc:180
-msgid "%1; %2/%3 frames"
-msgstr "%1; %2/%3 帧"
+msgid "{}; {}/{} frames"
+msgstr "{}; {}/{} 帧"
#: src/lib/video_content.cc:463
#, c-format
@@ -260,12 +260,12 @@ msgstr "9"
#. TRANSLATORS: fps here is an abbreviation for frames per second
#: src/lib/transcode_job.cc:183
-msgid "; %1 fps"
-msgstr "; %1 fps"
+msgid "; {} fps"
+msgstr "; {} fps"
#: src/lib/job.cc:603
-msgid "; %1 remaining; finishing at %2%3"
-msgstr "; 剩余 %1 ; 完成于 %2%3"
+msgid "; {} remaining; finishing at {}{}"
+msgstr "; 剩余 {} ; 完成于 {}{}"
#: src/lib/analytics.cc:58
#, c-format, c++-format
@@ -304,10 +304,10 @@ msgstr ""
#: src/lib/text_content.cc:230
msgid ""
"A subtitle or closed caption file in this project is marked with the "
-"language '%1', which %2 does not recognise. The file's language has been "
+"language '{}', which {} does not recognise. The file's language has been "
"cleared."
msgstr ""
-"此项目内有字幕或隐藏式字幕文件被标注为 %2 无法识别的“%1”语言。 该文件的语言字"
+"此项目内有字幕或隐藏式字幕文件被标注为 {} 无法识别的“{}”语言。 该文件的语言字"
"段已被清空。"
#: src/lib/ffmpeg_content.cc:639
@@ -338,8 +338,8 @@ msgstr ""
"画面在放映时存在左右黑边。建议把DCP容器设置为与素材相同宽高比的模式。"
#: src/lib/job.cc:116
-msgid "An error occurred whilst handling the file %1."
-msgstr "处理文件 %1 时发生错误。"
+msgid "An error occurred whilst handling the file {}."
+msgstr "处理文件 {} 时发生错误。"
#: src/lib/analyse_audio_job.cc:74
msgid "Analysing audio"
@@ -407,12 +407,12 @@ msgstr ""
"卡中为每段字幕内容设置语言。"
#: src/lib/audio_content.cc:265
-msgid "Audio will be resampled from %1Hz to %2Hz"
-msgstr "音频重新采样频率设置为 %1Hz 到 %2Hz"
+msgid "Audio will be resampled from {}Hz to {}Hz"
+msgstr "音频重新采样频率设置为 {}Hz 到 {}Hz"
#: src/lib/audio_content.cc:267
-msgid "Audio will be resampled to %1Hz"
-msgstr "音频将被重新采样至 %1Hz"
+msgid "Audio will be resampled to {}Hz"
+msgstr "音频将被重新采样至 {}Hz"
#: src/lib/audio_content.cc:256
msgid "Audio will not be resampled"
@@ -492,8 +492,8 @@ msgid "Cannot contain slashes"
msgstr "不能包含斜杠"
#: src/lib/exceptions.cc:79
-msgid "Cannot handle pixel format %1 during %2"
-msgstr "在 %2 不能处理图片格式 %1"
+msgid "Cannot handle pixel format {} during {}"
+msgstr "在 {} 不能处理图片格式 {}"
#: src/lib/film.cc:1811
msgid "Cannot make a KDM as this project is not encrypted."
@@ -713,8 +713,8 @@ msgid "Content to be joined must use the same text language."
msgstr "添加的内容必须有相同的文字语言。"
#: src/lib/video_content.cc:454
-msgid "Content video is %1x%2"
-msgstr "源视频分辨率是 %1x%2"
+msgid "Content video is {}x{}"
+msgstr "源视频分辨率是 {}x{}"
#: src/lib/upload_job.cc:66
msgid "Copy DCP to TMS"
@@ -723,9 +723,9 @@ msgstr "复制DCP到TMS"
#: src/lib/copy_to_drive_job.cc:59
#, fuzzy
msgid ""
-"Copying %1\n"
-"to %2"
-msgstr "复制 %1 中"
+"Copying {}\n"
+"to {}"
+msgstr "复制 {} 中"
#: src/lib/copy_to_drive_job.cc:120
#, fuzzy
@@ -734,70 +734,70 @@ msgstr "合并 DCP"
#: src/lib/copy_to_drive_job.cc:62
#, fuzzy
-msgid "Copying DCPs to %1"
+msgid "Copying DCPs to {}"
msgstr "复制DCP到TMS"
#: src/lib/scp_uploader.cc:57
-msgid "Could not connect to server %1 (%2)"
-msgstr "无法连接到服务器 %1 (%2)"
+msgid "Could not connect to server {} ({})"
+msgstr "无法连接到服务器 {} ({})"
#: src/lib/scp_uploader.cc:106
-msgid "Could not create remote directory %1 (%2)"
-msgstr "无法创建远程目录 %1 (%2)"
+msgid "Could not create remote directory {} ({})"
+msgstr "无法创建远程目录 {} ({})"
#: src/lib/image_examiner.cc:65
-msgid "Could not decode JPEG2000 file %1 (%2)"
-msgstr "无法解码JPEG2000文件%1 (%2)"
+msgid "Could not decode JPEG2000 file {} ({})"
+msgstr "无法解码JPEG2000文件{} ({})"
#: src/lib/ffmpeg_image_proxy.cc:164
-msgid "Could not decode image (%1)"
-msgstr "无法解码图像(%1)"
+msgid "Could not decode image ({})"
+msgstr "无法解码图像({})"
#: src/lib/unzipper.cc:76
-msgid "Could not find file %1 in ZIP file"
-msgstr "无法在zip文件中找到 %1 文件"
+msgid "Could not find file {} in ZIP file"
+msgstr "无法在zip文件中找到 {} 文件"
#: src/lib/encode_server_finder.cc:197
msgid ""
-"Could not listen for remote encode servers. Perhaps another instance of %1 "
+"Could not listen for remote encode servers. Perhaps another instance of {} "
"is running."
-msgstr "无法侦听到远程编码服务器。可能另一个 %1 进程正在运行。"
+msgstr "无法侦听到远程编码服务器。可能另一个 {} 进程正在运行。"
#: src/lib/job.cc:180 src/lib/job.cc:195
-msgid "Could not open %1"
-msgstr "无法打开 %1"
+msgid "Could not open {}"
+msgstr "无法打开 {}"
#: src/lib/curl_uploader.cc:102 src/lib/scp_uploader.cc:122
-msgid "Could not open %1 to send"
-msgstr "无法打开 %1 并发送"
+msgid "Could not open {} to send"
+msgstr "无法打开 {} 并发送"
#: src/lib/internet.cc:167 src/lib/internet.cc:172
msgid "Could not open downloaded ZIP file"
msgstr "无法打开下载的zip文件"
#: src/lib/internet.cc:179
-msgid "Could not open downloaded ZIP file (%1:%2: %3)"
-msgstr "无法打开下载的zip文件 (%1:%2: %3)"
+msgid "Could not open downloaded ZIP file ({}:{}: {})"
+msgstr "无法打开下载的zip文件 ({}:{}: {})"
#: src/lib/config.cc:1178
msgid "Could not open file for writing"
msgstr "无法执行写入,目标文件无法打开"
#: src/lib/ffmpeg_file_encoder.cc:271
-msgid "Could not open output file %1 (%2)"
-msgstr "无法打开输出文件 %1 (%2)"
+msgid "Could not open output file {} ({})"
+msgstr "无法打开输出文件 {} ({})"
#: src/lib/dcp_subtitle.cc:60
-msgid "Could not read subtitles (%1 / %2)"
-msgstr "无法读取字幕 (%1 / %2)"
+msgid "Could not read subtitles ({} / {})"
+msgstr "无法读取字幕 ({} / {})"
#: src/lib/curl_uploader.cc:59
msgid "Could not start transfer"
msgstr "无法开始传输"
#: src/lib/curl_uploader.cc:110 src/lib/scp_uploader.cc:138
-msgid "Could not write to remote file (%1)"
-msgstr "写入远程文件 (%1)失败!"
+msgid "Could not write to remote file ({})"
+msgstr "写入远程文件 ({})失败!"
#: src/lib/util.cc:601
msgid "D-BOX primary"
@@ -883,7 +883,7 @@ msgid ""
"The KDMs are valid from $START_TIME until $END_TIME.\n"
"\n"
"Best regards,\n"
-"%1"
+"{}"
msgstr ""
"亲爱的放映员\n"
"\n"
@@ -895,35 +895,35 @@ msgstr ""
"该KDMS的有效期是从$START_TIME至$END_TIME有效。\n"
"\n"
"祝好,\n"
-"%1"
+"{}"
#: src/lib/exceptions.cc:179
-msgid "Disk full when writing %1"
-msgstr "在写入 %1 时磁盘已满"
+msgid "Disk full when writing {}"
+msgstr "在写入 {} 时磁盘已满"
#: src/lib/dolby_cp750.cc:31
msgid "Dolby CP650 or CP750"
msgstr "杜比 CP650 或 CP750"
#: src/lib/internet.cc:124
-msgid "Download failed (%1 error %2)"
-msgstr "下载失败 (%1 error %2)"
+msgid "Download failed ({} error {})"
+msgstr "下载失败 ({} error {})"
#: src/lib/frame_rate_change.cc:94
msgid "Each content frame will be doubled in the DCP.\n"
msgstr "该DCP中每一帧将复制为两帧。\n"
#: src/lib/frame_rate_change.cc:96
-msgid "Each content frame will be repeated %1 more times in the DCP.\n"
-msgstr "每个内容帧将在DCP中重复%1次。\n"
+msgid "Each content frame will be repeated {} more times in the DCP.\n"
+msgstr "每个内容帧将在DCP中重复{}次。\n"
#: src/lib/send_kdm_email_job.cc:94
msgid "Email KDMs"
msgstr "邮件发送 KDM"
#: src/lib/send_kdm_email_job.cc:97
-msgid "Email KDMs for %1"
-msgstr "通过电子邮件发送 %1 的 KDM"
+msgid "Email KDMs for {}"
+msgstr "通过电子邮件发送 {} 的 KDM"
#: src/lib/send_notification_email_job.cc:53
msgid "Email notification"
@@ -934,8 +934,8 @@ msgid "Email problem report"
msgstr "通过邮件发送报告"
#: src/lib/send_problem_report_job.cc:72
-msgid "Email problem report for %1"
-msgstr "通过邮件发送报告给 %1"
+msgid "Email problem report for {}"
+msgstr "通过邮件发送报告给 {}"
#: src/lib/dcp_film_encoder.cc:120 src/lib/ffmpeg_film_encoder.cc:135
msgid "Encoding"
@@ -946,12 +946,12 @@ msgid "Episode"
msgstr "插曲"
#: src/lib/exceptions.cc:86
-msgid "Error in subtitle file: saw %1 while expecting %2"
-msgstr "字幕文件错误: 执行为 %1 实际要求为%2"
+msgid "Error in subtitle file: saw {} while expecting {}"
+msgstr "字幕文件错误: 执行为 {} 实际要求为{}"
#: src/lib/job.cc:625
-msgid "Error: %1"
-msgstr "错误: (%1)"
+msgid "Error: {}"
+msgstr "错误: ({})"
#: src/lib/dcp_content_type.cc:69
msgid "Event"
@@ -990,8 +990,8 @@ msgid "FCP XML subtitles"
msgstr "FCP XML 字幕"
#: src/lib/scp_uploader.cc:69
-msgid "Failed to authenticate with server (%1)"
-msgstr "无法与服务器进行身份验证 (%1)"
+msgid "Failed to authenticate with server ({})"
+msgstr "无法与服务器进行身份验证 ({})"
#: src/lib/job.cc:140 src/lib/job.cc:154
msgid "Failed to encode the DCP."
@@ -1043,8 +1043,8 @@ msgid "Full"
msgstr "Full(全幅/1.90)"
#: src/lib/ffmpeg_content.cc:564
-msgid "Full (0-%1)"
-msgstr "全幅 (0-%1)"
+msgid "Full (0-{})"
+msgstr "全幅 (0-{})"
#: src/lib/ratio.cc:57
msgid "Full frame"
@@ -1139,8 +1139,8 @@ msgid ""
msgstr "建议在DCP开始后至少4秒放置您的第一个字幕,以确保它能被看到。"
#: src/lib/job.cc:170 src/lib/job.cc:205 src/lib/job.cc:265 src/lib/job.cc:275
-msgid "It is not known what caused this error. %1"
-msgstr "未知原因错误。%1"
+msgid "It is not known what caused this error. {}"
+msgstr "未知原因错误。{}"
#: src/lib/ffmpeg_content.cc:614
msgid "JEDEC P22"
@@ -1192,8 +1192,8 @@ msgid "Limited"
msgstr "限制"
#: src/lib/ffmpeg_content.cc:557
-msgid "Limited / video (%1-%2)"
-msgstr "限制/视频 (%1-%2)"
+msgid "Limited / video ({}-{})"
+msgstr "限制/视频 ({}-{})"
#: src/lib/ffmpeg_content.cc:629
msgid "Linear"
@@ -1241,8 +1241,8 @@ msgid "Mismatched video sizes in DCP"
msgstr "DCP中的视频分辨率不匹配"
#: src/lib/exceptions.cc:72
-msgid "Missing required setting %1"
-msgstr "缺少必需的设置 %1"
+msgid "Missing required setting {}"
+msgstr "缺少必需的设置 {}"
#: src/lib/job.cc:561
msgid "Monday"
@@ -1285,12 +1285,12 @@ msgid "OK"
msgstr "完成"
#: src/lib/job.cc:622
-msgid "OK (ran for %1 from %2 to %3)"
-msgstr "完成 (运行用时 %1,预计从 %2 到 %3)"
+msgid "OK (ran for {} from {} to {})"
+msgstr "完成 (运行用时 {},预计从 {} 到 {})"
#: src/lib/job.cc:620
-msgid "OK (ran for %1)"
-msgstr "完成 (运行用时 %1)"
+msgid "OK (ran for {})"
+msgstr "完成 (运行用时 {})"
#: src/lib/content.cc:106
msgid "Only the first piece of content to be joined can have a start trim."
@@ -1310,8 +1310,8 @@ msgstr "开放式字幕"
#: src/lib/transcode_job.cc:116
msgid ""
-"Open the project in %1, check the settings, then save it before trying again."
-msgstr "在 %1 中打开项目,检查设置,然后保存后重试。"
+"Open the project in {}, check the settings, then save it before trying again."
+msgstr "在 {} 中打开项目,检查设置,然后保存后重试。"
#: src/lib/filter.cc:92 src/lib/filter.cc:93 src/lib/filter.cc:94
#: src/lib/filter.cc:95
@@ -1333,8 +1333,8 @@ msgstr "P3"
#: src/lib/util.cc:1136
msgid ""
"Please report this problem by using Help -> Report a problem or via email to "
-"%1"
-msgstr "请提交这个问题,在帮助菜单中选择:通过Email反馈问题:%1"
+"{}"
+msgstr "请提交这个问题,在帮助菜单中选择:通过Email反馈问题:{}"
#: src/lib/dcp_content_type.cc:61
msgid "Policy"
@@ -1349,8 +1349,8 @@ msgid "Prepared for video frame rate"
msgstr "准备视频帧率"
#: src/lib/exceptions.cc:107
-msgid "Programming error at %1:%2 %3"
-msgstr "程序内部错误 %1:%2 %3"
+msgid "Programming error at {}:{} {}"
+msgstr "程序内部错误 {}:{} {}"
#: src/lib/dcp_content_type.cc:65
msgid "Promo"
@@ -1468,13 +1468,13 @@ msgid "SMPTE ST 432-1 D65 (2010)"
msgstr "SMPTE ST 432-1 D65 (2010)"
#: src/lib/scp_uploader.cc:47
-msgid "SSH error [%1]"
-msgstr "SSH 错误 [%1]"
+msgid "SSH error [{}]"
+msgstr "SSH 错误 [{}]"
#: src/lib/scp_uploader.cc:63 src/lib/scp_uploader.cc:76
#: src/lib/scp_uploader.cc:83
-msgid "SSH error [%1] (%2)"
-msgstr "SSH 错误 [%1] (%2)"
+msgid "SSH error [{}] ({})"
+msgstr "SSH 错误 [{}] ({})"
#: src/lib/job.cc:571
msgid "Saturday"
@@ -1501,8 +1501,8 @@ msgid "Size"
msgstr "大小"
#: src/lib/audio_content.cc:260
-msgid "Some audio will be resampled to %1Hz"
-msgstr "部分音频将被重新采样到%1Hz"
+msgid "Some audio will be resampled to {}Hz"
+msgstr "部分音频将被重新采样到{}Hz"
#: src/lib/transcode_job.cc:121
msgid "Some files have been changed since they were added to the project."
@@ -1531,9 +1531,9 @@ msgstr ""
#: src/lib/hints.cc:605
msgid ""
-"Some of your closed captions span more than %1 lines, so they will be "
+"Some of your closed captions span more than {} lines, so they will be "
"truncated."
-msgstr "您的某些隐藏字幕跨度超过%1行,因此它将被截断,可能显示不完整。"
+msgstr "您的某些隐藏字幕跨度超过{}行,因此它将被截断,可能显示不完整。"
#: src/lib/hints.cc:727
msgid ""
@@ -1610,40 +1610,40 @@ msgid "The certificate chain for signing is invalid"
msgstr "证书签名无效"
#: src/lib/exceptions.cc:100
-msgid "The certificate chain for signing is invalid (%1)"
-msgstr "证书签名无效(%1)"
+msgid "The certificate chain for signing is invalid ({})"
+msgstr "证书签名无效({})"
#: src/lib/hints.cc:744
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs contains a "
+"The certificate chain that {} uses for signing DCPs and KDMs contains a "
"small error which will prevent DCPs from being validated correctly on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
"Preferences."
msgstr ""
-"%1用于签名DCP和KDM的证书链包含一个小错误,这将阻止DCP在某些系统上正确验证。建"
+"{}用于签名DCP和KDM的证书链包含一个小错误,这将阻止DCP在某些系统上正确验证。建"
"议通过单击“首选项”的“密钥”页面中的“重新制作证书和密钥…”按钮来重新创建签名证书"
"链。"
#: src/lib/hints.cc:752
msgid ""
-"The certificate chain that %1 uses for signing DCPs and KDMs has a validity "
+"The certificate chain that {} uses for signing DCPs and KDMs has a validity "
"period that is too long. This will cause problems playing back DCPs on some "
"systems. It is advisable to re-create the signing certificate chain by "
"clicking the \"Re-make certificates and key...\" button in the Keys page of "
"Preferences."
msgstr ""
-"%1用于签名DCP和KDM的证书链的有效期太长。这将导致在某些系统上播放DCP时出现问"
+"{}用于签名DCP和KDM的证书链的有效期太长。这将导致在某些系统上播放DCP时出现问"
"题。建议通过单击“首选项”的“密钥”页面中的“重新制作证书和密钥…”按钮来重新创建签"
"名证书链。"
#: src/lib/video_decoder.cc:70
msgid ""
-"The content file %1 is set as 3D but does not appear to contain 3D images. "
+"The content file {} is set as 3D but does not appear to contain 3D images. "
"Please set it to 2D. You can still make a 3D DCP from this content by "
"ticking the 3D option in the DCP video tab."
msgstr ""
-"内容文件%1设置为3D,但似乎不包含3D图像。请将其设置为2D。通过勾选DCP视频选项卡"
+"内容文件{}设置为3D,但似乎不包含3D图像。请将其设置为2D。通过勾选DCP视频选项卡"
"中的3D选项,您仍然可以根据此内容制作3D DCP。"
#: src/lib/job.cc:122
@@ -1653,20 +1653,20 @@ msgid ""
msgstr "磁盘空间不足,清理磁盘空间以继续。"
#: src/lib/playlist.cc:245
-msgid "The file %1 has been moved %2 milliseconds earlier."
-msgstr "文件 %1 被向前移动了 %2 毫秒。"
+msgid "The file {} has been moved {} milliseconds earlier."
+msgstr "文件 {} 被向前移动了 {} 毫秒。"
#: src/lib/playlist.cc:240
-msgid "The file %1 has been moved %2 milliseconds later."
-msgstr "文件 %1 被向后移动了 %2 毫秒。"
+msgid "The file {} has been moved {} milliseconds later."
+msgstr "文件 {} 被向后移动了 {} 毫秒。"
#: src/lib/playlist.cc:265
-msgid "The file %1 has been trimmed by %2 milliseconds less."
-msgstr "文件 %1 被缩短了 %2 毫秒。"
+msgid "The file {} has been trimmed by {} milliseconds less."
+msgstr "文件 {} 被缩短了 {} 毫秒。"
#: src/lib/playlist.cc:260
-msgid "The file %1 has been trimmed by %2 milliseconds more."
-msgstr "文件 %1 被延长了 %2 毫秒。"
+msgid "The file {} has been trimmed by {} milliseconds more."
+msgstr "文件 {} 被延长了 {} 毫秒。"
#: src/lib/hints.cc:268
msgid ""
@@ -1710,29 +1710,29 @@ msgid ""
msgstr "内存不足,如您是32位系统,请重新设置运行线程数量来达到稳定运行。"
#: src/lib/util.cc:986
-msgid "This KDM was made for %1 but not for its leaf certificate."
-msgstr "KDM是为 %1生成,但不是为它的叶子证书生成。"
+msgid "This KDM was made for {} but not for its leaf certificate."
+msgstr "KDM是为 {}生成,但不是为它的叶子证书生成。"
#: src/lib/util.cc:984
-msgid "This KDM was not made for %1's decryption certificate."
-msgstr "KDM不是为 %1 解密证书而生成。"
+msgid "This KDM was not made for {}'s decryption certificate."
+msgstr "KDM不是为 {} 解密证书而生成。"
#: src/lib/job.cc:142
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1 and trying to use too many encoding threads. Please reduce the "
-"'number of threads %2 should use' in the General tab of Preferences and try "
+"of {} and trying to use too many encoding threads. Please reduce the "
+"'number of threads {} should use' in the General tab of Preferences and try "
"again."
msgstr ""
-"出现此错误可能是因为您正在运行32位版本的 %1,并且试图使用太多编码线程。请在"
-"“首选项”的“常规”选项卡中减少“%2应该使用的线程数”,然后重试。"
+"出现此错误可能是因为您正在运行32位版本的 {},并且试图使用太多编码线程。请在"
+"“首选项”的“常规”选项卡中减少“{}应该使用的线程数”,然后重试。"
#: src/lib/job.cc:156
msgid ""
"This error has probably occurred because you are running the 32-bit version "
-"of %1. Please re-install %2 with the 64-bit installer and try again."
+"of {}. Please re-install {} with the 64-bit installer and try again."
msgstr ""
-"出现此错误可能是因为您正在运行32位版本的 %1。请使用64位安装程序重新安装 %2,"
+"出现此错误可能是因为您正在运行32位版本的 {}。请使用64位安装程序重新安装 {},"
"然后重试。"
#: src/lib/exceptions.cc:114
@@ -1745,17 +1745,17 @@ msgstr ""
#: src/lib/film.cc:544
msgid ""
-"This film was created with a newer version of %1, and it cannot be loaded "
+"This film was created with a newer version of {}, and it cannot be loaded "
"into this version. Sorry!"
-msgstr "这一工程文件是使用新版 %1 创建的,无法被这一版本的软件加载。抱歉!"
+msgstr "这一工程文件是使用新版 {} 创建的,无法被这一版本的软件加载。抱歉!"
#: src/lib/film.cc:525
msgid ""
-"This film was created with an older version of %1, and unfortunately it "
+"This film was created with an older version of {}, and unfortunately it "
"cannot be loaded into this version. You will need to create a new Film, re-"
"add your content and set it up again. Sorry!"
msgstr ""
-"这一工程文件是使用旧版本的 %1 创建的,很遗憾无法被这一版本的软件加载。您需要"
+"这一工程文件是使用旧版本的 {} 创建的,很遗憾无法被这一版本的软件加载。您需要"
"创建一个新的工程文件,重新添加内容并重新设置。抱歉!"
#: src/lib/job.cc:567
@@ -1771,8 +1771,8 @@ msgid "Trailer"
msgstr "预告片"
#: src/lib/transcode_job.cc:75
-msgid "Transcoding %1"
-msgstr "转码中 %1"
+msgid "Transcoding {}"
+msgstr "转码中 {}"
#: src/lib/dcp_content_type.cc:58
msgid "Transitional"
@@ -1803,8 +1803,8 @@ msgid "Unknown error"
msgstr "未知错误"
#: src/lib/ffmpeg_decoder.cc:378
-msgid "Unrecognised audio sample format (%1)"
-msgstr "无法识别的音频采样格式 (%1)"
+msgid "Unrecognised audio sample format ({})"
+msgstr "无法识别的音频采样格式 ({})"
#: src/lib/filter.cc:102
msgid "Unsharp mask and Gaussian blur"
@@ -1851,8 +1851,8 @@ msgid "Vertical flip"
msgstr "垂直翻转"
#: src/lib/fcpxml.cc:69
-msgid "Video refers to missing asset %1"
-msgstr "视频指向丢失的资产 %1"
+msgid "Video refers to missing asset {}"
+msgstr "视频指向丢失的资产 {}"
#: src/lib/util.cc:596
msgid "Visually impaired"
@@ -1880,21 +1880,21 @@ msgstr "反隔行扫描滤镜"
#: src/lib/hints.cc:209
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. It is advisable to change the DCP frame rate "
-"to %2 fps."
+"to {} fps."
msgstr ""
-"您设置DCP的帧率为 %1 fps的DCP。并非所有放映设备都支持此帧率。建议您将DCP帧率"
-"更改为 %2 fps。"
+"您设置DCP的帧率为 {} fps的DCP。并非所有放映设备都支持此帧率。建议您将DCP帧率"
+"更改为 {} fps。"
#: src/lib/hints.cc:193
msgid ""
-"You are set up for a DCP at a frame rate of %1 fps. This frame rate is not "
+"You are set up for a DCP at a frame rate of {} fps. This frame rate is not "
"supported by all projectors. You may want to consider changing your frame "
-"rate to %2 fps."
+"rate to {} fps."
msgstr ""
-"您设置的帧率为%1 fps的DCP。并非所有放映设备都支持此帧率。建议您将帧率更改为 "
-"%2 fps。"
+"您设置的帧率为{} fps的DCP。并非所有放映设备都支持此帧率。建议您将帧率更改为 "
+"{} fps。"
#: src/lib/hints.cc:203
msgid ""
@@ -1904,11 +1904,11 @@ msgstr "您设置的DCP帧速率为30fps,这不是所有放映设备都支持
#: src/lib/hints.cc:126
msgid ""
-"You are using %1's stereo-to-5.1 upmixer. This is experimental and may "
+"You are using {}'s stereo-to-5.1 upmixer. This is experimental and may "
"result in poor-quality audio. If you continue, you should listen to the "
"resulting DCP in a cinema to make sure that it sounds good."
msgstr ""
-"你用的是 %1 双声道转5.1环绕声的上混音器。这是实验性的功能,可能导致音频质量变"
+"你用的是 {} 双声道转5.1环绕声的上混音器。这是实验性的功能,可能导致音频质量变"
"差。如果你继续,你应该在影院试听完成的DCP声音以确认。"
#: src/lib/hints.cc:323
@@ -1921,10 +1921,10 @@ msgstr ""
#: src/lib/hints.cc:307
msgid ""
-"You have %1 files that look like they are VOB files from DVD. You should "
+"You have {} files that look like they are VOB files from DVD. You should "
"join them to ensure smooth joins between the files."
msgstr ""
-"您已经添加了 %1 个VOB文件,如果他们来自一张DVD,请确保您已经导入了所有文件,"
+"您已经添加了 {} 个VOB文件,如果他们来自一张DVD,请确保您已经导入了所有文件,"
"否则可能无法正常播放。"
#: src/lib/film.cc:1665
@@ -1955,22 +1955,22 @@ msgstr "在创建 DCP 之前,必须向其中添加一些内容"
#: src/lib/hints.cc:770
msgid ""
-"Your DCP has %1 audio channels, rather than 8 or 16. This may cause some "
+"Your DCP has {} audio channels, rather than 8 or 16. This may cause some "
"distributors to raise QC errors when they check your DCP. To avoid this, "
"set the DCP audio channels to 8 or 16."
msgstr ""
-"您的DCP具有 %1 个音频通道,而不是8或16个通道。这可能导致一些发行商在检查您的 "
+"您的DCP具有 {} 个音频通道,而不是8或16个通道。这可能导致一些发行商在检查您的 "
"DCP 时出现 QC 报错。为防止这种情况,建议设置8或16个DCP音频通道。"
#: src/lib/hints.cc:111
msgid ""
"Your DCP has fewer than 6 audio channels. This may cause problems on some "
"projectors. You may want to set the DCP to have 6 channels. It does not "
-"matter if your content has fewer channels, as %1 will fill the extras with "
+"matter if your content has fewer channels, as {} will fill the extras with "
"silence."
msgstr ""
"您的DCP的音轨少于6个,某些放映设备可能不支持。但是如果您的内容没有这么多的音"
-"轨,您可以设置成6个音轨, %1 将用空白音轨补齐。"
+"轨,您可以设置成6个音轨, {} 将用空白音轨补齐。"
#: src/lib/hints.cc:168
msgid ""
@@ -1982,9 +1982,9 @@ msgstr ""
#: src/lib/hints.cc:357
msgid ""
-"Your audio level is very high (on %1). You should reduce the gain of your "
+"Your audio level is very high (on {}). You should reduce the gain of your "
"audio content."
-msgstr "您的音频增益过大 (在%1),请降低音频增益。"
+msgstr "您的音频增益过大 (在{}),请降低音频增益。"
#: src/lib/playlist.cc:236
msgid ""
@@ -2010,11 +2010,11 @@ msgstr "[静态图像]"
msgid "[subtitles]"
msgstr "[字幕]"
-#. TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
-#. which reel it is. Preserve the %1; it will be replaced with the reel number.
+#. TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+#. which reel it is. Preserve the {}; it will be replaced with the reel number.
#: src/lib/ffmpeg_film_encoder.cc:152
-msgid "_reel%1"
-msgstr "_卷号%1"
+msgid "_reel{}"
+msgstr "_卷号{}"
#: src/lib/audio_content.cc:306
msgid "bits"
@@ -2033,57 +2033,57 @@ msgid "content type"
msgstr "打包类型"
#: src/lib/uploader.cc:79
-msgid "copying %1"
-msgstr "复制 %1 中"
+msgid "copying {}"
+msgstr "复制 {} 中"
#: src/lib/ffmpeg.cc:119
msgid "could not find stream information"
msgstr "找不到流信息"
#: src/lib/reel_writer.cc:404
-msgid "could not move atmos asset into the DCP (%1)"
-msgstr "无法将 Atmos asset移动到 DCP (%1)"
+msgid "could not move atmos asset into the DCP ({})"
+msgstr "无法将 Atmos asset移动到 DCP ({})"
#: src/lib/reel_writer.cc:387
-msgid "could not move audio asset into the DCP (%1)"
-msgstr "无法将音频asset移动到 DCP (%1)"
+msgid "could not move audio asset into the DCP ({})"
+msgstr "无法将音频asset移动到 DCP ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for read (%2)"
-msgstr "读取 %1文件失败(%2)"
+msgid "could not open file {} for read ({})"
+msgstr "读取 {}文件失败({})"
#: src/lib/exceptions.cc:38
-msgid "could not open file %1 for read/write (%2)"
-msgstr "无法打开文件 %1 来读写 (%2)"
+msgid "could not open file {} for read/write ({})"
+msgstr "无法打开文件 {} 来读写 ({})"
#: src/lib/exceptions.cc:39
-msgid "could not open file %1 for write (%2)"
-msgstr "写入 %1文件失败(%2)"
+msgid "could not open file {} for write ({})"
+msgstr "写入 {}文件失败({})"
#: src/lib/exceptions.cc:58
-msgid "could not read from file %1 (%2)"
-msgstr "无法从文件 %1 中读取(%2)"
+msgid "could not read from file {} ({})"
+msgstr "无法从文件 {} 中读取({})"
#: src/lib/exceptions.cc:65
-msgid "could not write to file %1 (%2)"
-msgstr "不能写入文件 %1 (%2)"
+msgid "could not write to file {} ({})"
+msgstr "不能写入文件 {} ({})"
#: src/lib/dcpomatic_socket.cc:109
-msgid "error during async_connect (%1)"
-msgstr "异步连接错误 (%1)"
+msgid "error during async_connect ({})"
+msgstr "异步连接错误 ({})"
#: src/lib/dcpomatic_socket.cc:79
#, fuzzy
-msgid "error during async_connect: (%1)"
-msgstr "异步连接错误 (%1)"
+msgid "error during async_connect: ({})"
+msgstr "异步连接错误 ({})"
#: src/lib/dcpomatic_socket.cc:201
-msgid "error during async_read (%1)"
-msgstr "异步读取错误 (%1)"
+msgid "error during async_read ({})"
+msgstr "异步读取错误 ({})"
#: src/lib/dcpomatic_socket.cc:160
-msgid "error during async_write (%1)"
-msgstr "异步写入错误 (%1)"
+msgid "error during async_write ({})"
+msgstr "异步写入错误 ({})"
#: src/lib/content.cc:472 src/lib/content.cc:481
msgid "frames per second"
@@ -2102,8 +2102,8 @@ msgstr "它的帧率与影片不一致。"
#: src/lib/dcp_content.cc:753
msgid ""
"it has a different number of audio channels than the project; set the "
-"project to have %1 channels."
-msgstr "它的音频通道数量与项目不同;将项目设置为具有 %1 个通道。"
+"project to have {} channels."
+msgstr "它的音频通道数量与项目不同;将项目设置为具有 {} 个通道。"
#. TRANSLATORS: this string will follow "Cannot reference this DCP: "
#: src/lib/dcp_content.cc:789
@@ -2257,11 +2257,11 @@ msgstr "视频帧"
#~ msgid "Content to be joined must have the same audio language."
#~ msgstr "视频和音频增益必须相同。"
-#~ msgid "Could not start SCP session (%1)"
-#~ msgstr "无法启动 SCP (%1)"
+#~ msgid "Could not start SCP session ({})"
+#~ msgstr "无法启动 SCP ({})"
-#~ msgid "could not start SCP session (%1)"
-#~ msgstr "无法启动SCP (%1)"
+#~ msgid "could not start SCP session ({})"
+#~ msgstr "无法启动SCP ({})"
#~ msgid "could not start SSH session"
#~ msgstr "无法启动SSH"
@@ -2312,11 +2312,11 @@ msgstr "视频帧"
#, fuzzy
#~ msgid "Could not write whole file"
-#~ msgstr "写入远程文件 (%1)失败!"
+#~ msgstr "写入远程文件 ({})失败!"
#, fuzzy
-#~ msgid "Could not decode image file %1 (%2)"
-#~ msgstr "无法解码图像文件(%1)"
+#~ msgid "Could not decode image file {} ({})"
+#~ msgstr "无法解码图像文件({})"
#, fuzzy
#~ msgid "it overlaps other subtitle content; remove the other content."
@@ -2335,10 +2335,10 @@ msgstr "视频帧"
#~ msgstr "4:3"
#~ msgid ""
-#~ "Your DCP frame rate (%1 fps) may cause problems in a few (mostly older) "
+#~ "Your DCP frame rate ({} fps) may cause problems in a few (mostly older) "
#~ "projectors. Use 24 or 48 frames per second to be on the safe side."
#~ msgstr ""
-#~ "您的DCP帧速率(%1 fps)会使一部分电影放映机出现错误,请使用24 fps、48 "
+#~ "您的DCP帧速率({} fps)会使一部分电影放映机出现错误,请使用24 fps、48 "
#~ "fps、60 fps、96 fps 和 120 fps 等来保证能够正常放映。"
#~ msgid "Finding length and subtitles"
@@ -2363,11 +2363,11 @@ msgstr "视频帧"
#~ "of your audio content."
#~ msgstr "您的音量已经接近上限,请降低音频增益防止爆音。"
-#~ msgid "could not create file %1"
-#~ msgstr "无法创建文件 (%1)"
+#~ msgid "could not create file {}"
+#~ msgstr "无法创建文件 ({})"
-#~ msgid "could not open file %1"
-#~ msgstr "无法打开文件 %1"
+#~ msgid "could not open file {}"
+#~ msgstr "无法打开文件 {}"
#~ msgid "Computing audio digest"
#~ msgstr "计算音频Hash"
@@ -2444,20 +2444,20 @@ msgstr "视频帧"
#~ msgid "could not read encoded data"
#~ msgstr "no se pudo leer la información codificada"
-#~ msgid "error during async_accept (%1)"
-#~ msgstr "error durante async_accept (%1)"
+#~ msgid "error during async_accept ({})"
+#~ msgstr "error durante async_accept ({})"
-#~ msgid "%1 channels, %2kHz, %3 samples"
-#~ msgstr "%1 canales, %2kHz, %3 muestras"
+#~ msgid "{} channels, {}kHz, {} samples"
+#~ msgstr "{} canales, {}kHz, {} muestras"
-#~ msgid "%1 frames; %2 frames per second"
-#~ msgstr "%1 imágenes; %2 imágenes per second"
+#~ msgid "{} frames; {} frames per second"
+#~ msgstr "{} imágenes; {} imágenes per second"
-#~ msgid "%1x%2 pixels (%3:1)"
-#~ msgstr "%1x%2 pixels (%3:1)"
+#~ msgid "{}x{} pixels ({}:1)"
+#~ msgstr "{}x{} pixels ({}:1)"
-#~ msgid "missing key %1 in key-value set"
-#~ msgstr "falta la clave %1 en el par clave-valor"
+#~ msgid "missing key {} in key-value set"
+#~ msgstr "falta la clave {} en el par clave-valor"
#~ msgid "sRGB non-linearised"
#~ msgstr "sRGB no-lineal"
@@ -2547,16 +2547,16 @@ msgstr "视频帧"
#~ msgid "0%"
#~ msgstr "0%"
-#~ msgid "first frame in moving image directory is number %1"
+#~ msgid "first frame in moving image directory is number {}"
#~ msgstr ""
-#~ "primera imagen en el directorio de imagen en movimiento es la número %1"
+#~ "primera imagen en el directorio de imagen en movimiento es la número {}"
-#~ msgid "there are %1 images in the directory but the last one is number %2"
-#~ msgstr "hay %1 imágenes en el directorio, la última es la %2"
+#~ msgid "there are {} images in the directory but the last one is number {}"
+#~ msgstr "hay {} imágenes en el directorio, la última es la {}"
-#~ msgid "only %1 file(s) found in moving image directory"
+#~ msgid "only {} file(s) found in moving image directory"
#~ msgstr ""
-#~ "solo el fichero(s) %1 se encuentra en el directorio de imagen en "
+#~ "solo el fichero(s) {} se encuentra en el directorio de imagen en "
#~ "movimiento"
#, fuzzy
@@ -2570,7 +2570,7 @@ msgstr "视频帧"
#~ msgstr "firmando"
#, fuzzy
-#~ msgid "Sound file: %1"
+#~ msgid "Sound file: {}"
#~ msgstr "no se pudo abrir el fichero para lectura"
#~ msgid "1.66 within Flat"
@@ -2586,15 +2586,15 @@ msgstr "视频帧"
#~ msgid "4:3 within Flat"
#~ msgstr "4:3 en Flat"
-#~ msgid "A/B transcode %1"
-#~ msgstr "Codificación A/B %1"
+#~ msgid "A/B transcode {}"
+#~ msgstr "Codificación A/B {}"
#~ msgid "Cannot resample audio as libswresample is not present"
#~ msgstr ""
#~ "No se puede redimensionar el sonido porque no se encuentra libswresample"
-#~ msgid "Examine content of %1"
-#~ msgstr "Examinar contenido de %1"
+#~ msgid "Examine content of {}"
+#~ msgstr "Examinar contenido de {}"
#~ msgid "Scope without stretch"
#~ msgstr "Scope sin deformación"
@@ -2656,5 +2656,5 @@ msgstr "视频帧"
#~ msgid "Source scaled to fit Scope preserving its aspect ratio"
#~ msgstr "Fuente escalada a Scope conservando el ratio de aspecto"
-#~ msgid "adding to queue of %1"
-#~ msgstr "añadiendo a la cola de %1"
+#~ msgid "adding to queue of {}"
+#~ msgstr "añadiendo a la cola de {}"
diff --git a/src/lib/reel_writer.cc b/src/lib/reel_writer.cc
index 5f6f86a00..f30bc94ac 100644
--- a/src/lib/reel_writer.cc
+++ b/src/lib/reel_writer.cc
@@ -171,7 +171,7 @@ ReelWriter::ReelWriter(
auto new_asset_filename = _output_dir / video_asset_filename(picture_asset, _reel_index, _reel_count, _content_summary);
if (_first_nonexistent_frame > 0) {
- LOG_GENERAL("Re-using partial asset %1: has frames up to %2", existing_asset_filename->string(), _first_nonexistent_frame);
+ LOG_GENERAL("Re-using partial asset {}: has frames up to {}", existing_asset_filename->string(), _first_nonexistent_frame);
dcp::filesystem::rename(*existing_asset_filename, new_asset_filename);
}
remembered_assets.push_back(RememberedAsset(new_asset_filename.filename(), period, film()->video_identifier()));
@@ -186,7 +186,7 @@ ReelWriter::ReelWriter(
}
} else {
DCPOMATIC_ASSERT(existing_asset_filename);
- LOG_GENERAL("Re-using complete asset %1", existing_asset_filename->string());
+ LOG_GENERAL("Re-using complete asset {}", existing_asset_filename->string());
/* We already have a complete picture asset that we can just re-use */
/* XXX: what about if the encryption key changes? */
auto new_asset_filename = _output_dir / existing_asset_filename->filename();
@@ -257,15 +257,15 @@ ReelWriter::check_existing_picture_asset(boost::filesystem::path asset)
/* Try to open the existing asset */
dcp::File asset_file(asset, "rb");
if (!asset_file) {
- LOG_GENERAL("Could not open existing asset at %1 (errno=%2)", asset.string(), errno);
+ LOG_GENERAL("Could not open existing asset at {} (errno={})", asset.string(), errno);
return 0;
} else {
- LOG_GENERAL("Opened existing asset at %1", asset.string());
+ LOG_GENERAL("Opened existing asset at {}", asset.string());
}
/* Offset of the last dcp::FrameInfo in the info file */
int const n = (dcp::filesystem::file_size(_info_file.path()) / J2KFrameInfo::size_on_disk()) - 1;
- LOG_GENERAL("The last FI is %1; info file is %2, info size %3", n, dcp::filesystem::file_size(_info_file.path()), J2KFrameInfo::size_on_disk())
+ LOG_GENERAL("The last FI is {}; info file is {}, info size {}", n, dcp::filesystem::file_size(_info_file.path()), J2KFrameInfo::size_on_disk())
Frame first_nonexistent_frame;
if (film()->three_d()) {
@@ -286,7 +286,7 @@ ReelWriter::check_existing_picture_asset(boost::filesystem::path asset)
++first_nonexistent_frame;
}
- LOG_GENERAL("Proceeding with first nonexistent frame %1", first_nonexistent_frame);
+ LOG_GENERAL("Proceeding with first nonexistent frame {}", first_nonexistent_frame);
return first_nonexistent_frame;
}
@@ -359,13 +359,13 @@ ReelWriter::finish(boost::filesystem::path output_dcp)
{
if (_j2k_picture_asset_writer && !_j2k_picture_asset_writer->finalize()) {
/* Nothing was written to the J2K picture asset */
- LOG_GENERAL("Nothing was written to J2K asset for reel %1 of %2", _reel_index, _reel_count);
+ LOG_GENERAL("Nothing was written to J2K asset for reel {} of {}", _reel_index, _reel_count);
_j2k_picture_asset.reset();
}
if (_mpeg2_picture_asset_writer && !_mpeg2_picture_asset_writer->finalize()) {
/* Nothing was written to the MPEG2 picture asset */
- LOG_GENERAL("Nothing was written to MPEG2 asset for reel %1 of %2", _reel_index, _reel_count);
+ LOG_GENERAL("Nothing was written to MPEG2 asset for reel {} of {}", _reel_index, _reel_count);
_mpeg2_picture_asset.reset();
}
@@ -384,7 +384,7 @@ ReelWriter::finish(boost::filesystem::path output_dcp)
dcp::filesystem::rename(film()->file(aaf), audio_to, ec);
if (ec) {
throw FileError(
- String::compose(_("could not move audio asset into the DCP (%1)"), error_details(ec)), aaf
+ fmt::format(_("could not move audio asset into the DCP ({})"), error_details(ec)), aaf
);
}
@@ -401,7 +401,7 @@ ReelWriter::finish(boost::filesystem::path output_dcp)
dcp::filesystem::rename(film()->file(aaf), atmos_to, ec);
if (ec) {
throw FileError(
- String::compose(_("could not move atmos asset into the DCP (%1)"), error_details(ec)), aaf
+ fmt::format(_("could not move atmos asset into the DCP ({})"), error_details(ec)), aaf
);
}
@@ -483,7 +483,7 @@ maybe_add_text(
if (!text_only && reel_asset->actual_duration() != period_duration) {
throw ProgrammingError(
__FILE__, __LINE__,
- String::compose("%1 vs %2", reel_asset->actual_duration(), period_duration)
+ fmt::format("{} vs {}", reel_asset->actual_duration(), period_duration)
);
}
reel->add(reel_asset);
@@ -510,12 +510,12 @@ ReelWriter::create_reel_picture(shared_ptr<dcp::Reel> reel, list<ReferencedReelA
} else if (_mpeg2_picture_asset) {
reel_asset = make_shared<dcp::ReelMonoPictureAsset>(_mpeg2_picture_asset, 0);
} else {
- LOG_GENERAL("no picture asset of our own; look through %1", refs.size());
+ LOG_GENERAL("no picture asset of our own; look through {}", refs.size());
/* We don't have a picture asset of our own; hopefully we have one to reference */
for (auto j: refs) {
auto k = dynamic_pointer_cast<dcp::ReelPictureAsset>(j.asset);
if (k) {
- LOG_GENERAL("candidate picture asset period is %1-%2", j.period.from.get(), j.period.to.get());
+ LOG_GENERAL("candidate picture asset period is {}-{}", j.period.from.get(), j.period.to.get());
}
if (k && j.period == _period) {
reel_asset = k;
@@ -529,7 +529,7 @@ ReelWriter::create_reel_picture(shared_ptr<dcp::Reel> reel, list<ReferencedReelA
if (reel_asset->duration() != period_duration) {
throw ProgrammingError(
__FILE__, __LINE__,
- String::compose("%1 vs %2", reel_asset->actual_duration(), period_duration)
+ fmt::format("{} vs {}", reel_asset->actual_duration(), period_duration)
);
}
reel->add(reel_asset);
@@ -552,12 +552,12 @@ ReelWriter::create_reel_sound(shared_ptr<dcp::Reel> reel, list<ReferencedReelAss
/* We have made a sound asset of our own. Put it into the reel */
reel_asset = make_shared<dcp::ReelSoundAsset>(_sound_asset, 0);
} else {
- LOG_GENERAL("no sound asset of our own; look through %1", refs.size());
+ LOG_GENERAL("no sound asset of our own; look through {}", refs.size());
/* We don't have a sound asset of our own; hopefully we have one to reference */
for (auto j: refs) {
auto k = dynamic_pointer_cast<dcp::ReelSoundAsset>(j.asset);
if (k) {
- LOG_GENERAL("candidate sound asset period is %1-%2", j.period.from.get(), j.period.to.get());
+ LOG_GENERAL("candidate sound asset period is {}-{}", j.period.from.get(), j.period.to.get());
}
if (k && j.period == _period) {
reel_asset = k;
@@ -574,14 +574,14 @@ ReelWriter::create_reel_sound(shared_ptr<dcp::Reel> reel, list<ReferencedReelAss
DCPOMATIC_ASSERT(reel_asset);
if (reel_asset->actual_duration() != period_duration) {
LOG_ERROR(
- "Reel sound asset has length %1 but reel period is %2",
+ "Reel sound asset has length {} but reel period is {}",
reel_asset->actual_duration(),
period_duration
);
if (reel_asset->actual_duration() != period_duration) {
throw ProgrammingError(
__FILE__, __LINE__,
- String::compose("%1 vs %2", reel_asset->actual_duration(), period_duration)
+ fmt::format("{} vs {}", reel_asset->actual_duration(), period_duration)
);
}
@@ -702,7 +702,7 @@ ReelWriter::create_reel(
set<DCPTextTrack> ensure_closed_captions
)
{
- LOG_GENERAL("create_reel for %1-%2; %3 of %4", _period.from.get(), _period.to.get(), _reel_index, _reel_count);
+ LOG_GENERAL("create_reel for {}-{}; {} of {}", _period.from.get(), _period.to.get(), _reel_index, _reel_count);
auto reel = make_shared<dcp::Reel>();
@@ -975,7 +975,7 @@ ReelWriter::write(PlayerText subs, TextType type, optional<DCPTextTrack> track,
bool
ReelWriter::existing_picture_frame_ok(dcp::File& asset_file, Frame frame)
{
- LOG_GENERAL("Checking existing picture frame %1", frame);
+ LOG_GENERAL("Checking existing picture frame {}", frame);
/* Read the data from the info file; for 3D we just check the left
frames until we find a good one.
@@ -988,16 +988,16 @@ ReelWriter::existing_picture_frame_ok(dcp::File& asset_file, Frame frame)
asset_file.seek(info.offset, SEEK_SET);
ArrayData data(info.size);
size_t const read = asset_file.read(data.data(), 1, data.size());
- LOG_GENERAL("Read %1 bytes of asset data; wanted %2", read, info.size);
+ LOG_GENERAL("Read {} bytes of asset data; wanted {}", read, info.size);
if (read != static_cast<size_t>(data.size())) {
- LOG_GENERAL("Existing frame %1 is incomplete", frame);
+ LOG_GENERAL("Existing frame {} is incomplete", frame);
ok = false;
} else {
Digester digester;
digester.add(data.data(), data.size());
- LOG_GENERAL("Hash %1 vs %2", digester.get(), info.hash);
+ LOG_GENERAL("Hash {} vs {}", digester.get(), info.hash);
if (digester.get() != info.hash) {
- LOG_GENERAL("Existing frame %1 failed hash check", frame);
+ LOG_GENERAL("Existing frame {} failed hash check", frame);
ok = false;
}
}
diff --git a/src/lib/release_notes.cc b/src/lib/release_notes.cc
index c2e644da7..b47b570a3 100644
--- a/src/lib/release_notes.cc
+++ b/src/lib/release_notes.cc
@@ -94,9 +94,9 @@ find_release_notes(bool dark, optional<string> current)
}
string const colour = dark ? "white" : "black";
- auto const span = String::compose("<span style=\"color: %1\">", colour);
+ auto const span = fmt::format("<span style=\"color: {}\">", colour);
- auto output = String::compose("<h1>%1%2 %3 release notes</span></h1><ul>", span, variant::dcpomatic(), *current);
+ auto output = fmt::format("<h1>{}{} {} release notes</span></h1><ul>", span, variant::dcpomatic(), *current);
for (auto const& note: notes) {
output += string("<li>") + span + note + "</span>";
diff --git a/src/lib/remote_j2k_encoder_thread.cc b/src/lib/remote_j2k_encoder_thread.cc
index 2abaf94ba..313c7e34d 100644
--- a/src/lib/remote_j2k_encoder_thread.cc
+++ b/src/lib/remote_j2k_encoder_thread.cc
@@ -44,7 +44,7 @@ void
RemoteJ2KEncoderThread::log_thread_start() const
{
start_of_thread("RemoteJ2KEncoder");
- LOG_TIMING("start-encoder-thread thread=%1 server=%2", thread_id(), _server.host_name());
+ LOG_TIMING("start-encoder-thread thread={} server={}", thread_id(), _server.host_name());
}
@@ -56,17 +56,17 @@ RemoteJ2KEncoderThread::encode(DCPVideo const& frame)
try {
encoded = make_shared<dcp::ArrayData>(frame.encode_remotely(_server));
if (_remote_backoff > 0) {
- LOG_GENERAL("%1 was lost, but now she is found; removing backoff", _server.host_name());
+ LOG_GENERAL("{} was lost, but now she is found; removing backoff", _server.host_name());
_remote_backoff = 0;
}
} catch (std::exception& e) {
LOG_ERROR(
- N_("Remote encode of %1 on %2 failed (%3)"),
+ N_("Remote encode of {} on {} failed ({})"),
frame.index(), _server.host_name(), e.what(), _remote_backoff
);
} catch (...) {
LOG_ERROR(
- N_("Remote encode of %1 on %2 failed"),
+ N_("Remote encode of {} on {} failed"),
frame.index(), _server.host_name(), _remote_backoff
);
}
diff --git a/src/lib/resampler.cc b/src/lib/resampler.cc
index 2c6594a6d..fbdc54b01 100644
--- a/src/lib/resampler.cc
+++ b/src/lib/resampler.cc
@@ -51,7 +51,7 @@ Resampler::Resampler (int in, int out, int channels)
int error;
_src = src_new (SRC_SINC_BEST_QUALITY, _channels, &error);
if (!_src) {
- throw runtime_error (String::compose(N_("could not create sample-rate converter (%1)"), error));
+ throw runtime_error (fmt::format(N_("could not create sample-rate converter ({})"), error));
}
}
@@ -73,7 +73,7 @@ Resampler::set_fast ()
int error;
_src = src_new (SRC_LINEAR, _channels, &error);
if (!_src) {
- throw runtime_error (String::compose(N_("could not create sample-rate converter (%1)"), error));
+ throw runtime_error (fmt::format(N_("could not create sample-rate converter ({})"), error));
}
}
@@ -119,8 +119,8 @@ Resampler::run (shared_ptr<const AudioBuffers> in)
int const r = src_process (_src, &data);
if (r) {
throw EncodeError (
- String::compose (
- N_("could not run sample-rate converter (%1) [processing %2 to %3, %4 channels]"),
+ fmt::format(
+ N_("could not run sample-rate converter ({}) [processing {} to {}, {} channels]"),
src_strerror (r),
in_frames,
max_resampled_frames,
@@ -174,7 +174,7 @@ Resampler::flush ()
int const r = src_process (_src, &data);
if (r) {
- throw EncodeError (String::compose(N_("could not run sample-rate converter (%1)"), src_strerror(r)));
+ throw EncodeError (fmt::format(N_("could not run sample-rate converter ({})"), src_strerror(r)));
}
out->set_frames (out_offset + data.output_frames_gen);
diff --git a/src/lib/scp_uploader.cc b/src/lib/scp_uploader.cc
index 5f1c09ce9..da8bc1866 100644
--- a/src/lib/scp_uploader.cc
+++ b/src/lib/scp_uploader.cc
@@ -44,7 +44,7 @@ SCPUploader::SCPUploader(function<void (string)> set_status, function<void (floa
{
_session = ssh_new();
if (!_session) {
- throw NetworkError(String::compose(_("SSH error [%1]"), "ssh_new"));
+ throw NetworkError(fmt::format(_("SSH error [{}]"), "ssh_new"));
}
ssh_options_set(_session, SSH_OPTIONS_HOST, Config::instance()->tms_ip().c_str());
@@ -54,33 +54,33 @@ SCPUploader::SCPUploader(function<void (string)> set_status, function<void (floa
int r = ssh_connect(_session);
if (r != SSH_OK) {
- throw NetworkError(String::compose(_("Could not connect to server %1 (%2)"), Config::instance()->tms_ip(), ssh_get_error(_session)));
+ throw NetworkError(fmt::format(_("Could not connect to server {} ({})"), Config::instance()->tms_ip(), ssh_get_error(_session)));
}
LIBDCP_DISABLE_WARNINGS
r = ssh_is_server_known(_session);
if (r == SSH_SERVER_ERROR) {
- throw NetworkError(String::compose(_("SSH error [%1] (%2)"), "ssh_is_server_known", ssh_get_error(_session)));
+ throw NetworkError(fmt::format(_("SSH error [{}] ({})"), "ssh_is_server_known", ssh_get_error(_session)));
}
LIBDCP_ENABLE_WARNINGS
r = ssh_userauth_password(_session, 0, Config::instance()->tms_password().c_str());
if (r != SSH_AUTH_SUCCESS) {
- throw NetworkError(String::compose(_("Failed to authenticate with server (%1)"), ssh_get_error(_session)));
+ throw NetworkError(fmt::format(_("Failed to authenticate with server ({})"), ssh_get_error(_session)));
}
LIBDCP_DISABLE_WARNINGS
_scp = ssh_scp_new(_session, SSH_SCP_WRITE | SSH_SCP_RECURSIVE, Config::instance()->tms_path().c_str());
LIBDCP_ENABLE_WARNINGS
if (!_scp) {
- throw NetworkError(String::compose(_("SSH error [%1] (%2)"), "ssh_scp_new", ssh_get_error(_session)));
+ throw NetworkError(fmt::format(_("SSH error [{}] ({})"), "ssh_scp_new", ssh_get_error(_session)));
}
LIBDCP_DISABLE_WARNINGS
r = ssh_scp_init(_scp);
LIBDCP_ENABLE_WARNINGS
if (r != SSH_OK) {
- throw NetworkError(String::compose(_("SSH error [%1] (%2)"), "ssh_scp_init", ssh_get_error(_session)));
+ throw NetworkError(fmt::format(_("SSH error [{}] ({})"), "ssh_scp_init", ssh_get_error(_session)));
}
}
@@ -103,7 +103,7 @@ LIBDCP_DISABLE_WARNINGS
int const r = ssh_scp_push_directory(_scp, directory.generic_string().c_str(), S_IRWXU);
LIBDCP_ENABLE_WARNINGS
if (r != SSH_OK) {
- throw NetworkError(String::compose(_("Could not create remote directory %1 (%2)"), directory.string(), ssh_get_error(_session)));
+ throw NetworkError(fmt::format(_("Could not create remote directory {} ({})"), directory.string(), ssh_get_error(_session)));
}
}
@@ -119,7 +119,7 @@ LIBDCP_ENABLE_WARNINGS
dcp::File f(from, "rb");
if (!f) {
- throw NetworkError(String::compose(_("Could not open %1 to send"), from.string()));
+ throw NetworkError(fmt::format(_("Could not open {} to send"), from.string()));
}
std::vector<char> buffer(64 * 1024);
@@ -135,7 +135,7 @@ LIBDCP_DISABLE_WARNINGS
int const r = ssh_scp_write(_scp, buffer.data(), t);
LIBDCP_ENABLE_WARNINGS
if (r != SSH_OK) {
- throw NetworkError(String::compose(_("Could not write to remote file (%1)"), ssh_get_error(_session)));
+ throw NetworkError(fmt::format(_("Could not write to remote file ({})"), ssh_get_error(_session)));
}
to_do -= t;
transferred += t;
diff --git a/src/lib/send_kdm_email_job.cc b/src/lib/send_kdm_email_job.cc
index 15080d833..bbe75521f 100644
--- a/src/lib/send_kdm_email_job.cc
+++ b/src/lib/send_kdm_email_job.cc
@@ -94,7 +94,7 @@ SendKDMEmailJob::name() const
return _("Email KDMs");
}
- return String::compose(_("Email KDMs for %1"), *f);
+ return fmt::format(_("Email KDMs for {}"), *f);
}
diff --git a/src/lib/send_problem_report_job.cc b/src/lib/send_problem_report_job.cc
index 6a83873bc..3fd854171 100644
--- a/src/lib/send_problem_report_job.cc
+++ b/src/lib/send_problem_report_job.cc
@@ -69,7 +69,7 @@ SendProblemReportJob::name () const
return _("Email problem report");
}
- return String::compose (_("Email problem report for %1"), _film->name());
+ return fmt::format(_("Email problem report for {}"), _film->name());
}
@@ -109,7 +109,7 @@ SendProblemReportJob::run ()
body += "---<8----\n";
}
- Email email(_from, {"report@dcpomatic.com"}, variant::insert_dcpomatic("%1 problem report"), body);
+ Email email(_from, {"report@dcpomatic.com"}, variant::insert_dcpomatic("{} problem report"), body);
email.send("main.carlh.net", 2525, EmailProtocol::STARTTLS);
set_progress (1);
diff --git a/src/lib/shuffler.cc b/src/lib/shuffler.cc
index a4ea0f5dc..66f29a8e1 100644
--- a/src/lib/shuffler.cc
+++ b/src/lib/shuffler.cc
@@ -51,7 +51,7 @@ struct Comparator
void
Shuffler::video (weak_ptr<Piece> weak_piece, ContentVideo video)
{
- LOG_DEBUG_THREE_D("Shuffler::video time=%1 eyes=%2 part=%3", to_string(video.time), static_cast<int>(video.eyes), static_cast<int>(video.part));
+ LOG_DEBUG_THREE_D("Shuffler::video time={} eyes={} part={}", to_string(video.time), static_cast<int>(video.eyes), static_cast<int>(video.part));
if (video.eyes != Eyes::LEFT && video.eyes != Eyes::RIGHT) {
/* Pass through anything that we don't care about */
@@ -84,9 +84,9 @@ Shuffler::video (weak_ptr<Piece> weak_piece, ContentVideo video)
);
if (!store_front_in_sequence) {
- string const store = _store.empty() ? "store empty" : String::compose("store front time=%1 eyes=%2", to_string(_store.front().second.time), static_cast<int>(_store.front().second.eyes));
- string const last = _last ? String::compose("last time=%1 eyes=%2", to_string(_last->time), static_cast<int>(_last->eyes)) : "no last";
- LOG_DEBUG_THREE_D("Shuffler not in sequence: %1 %2", store, last);
+ string const store = _store.empty() ? "store empty" : fmt::format("store front time={} eyes={}", to_string(_store.front().second.time), static_cast<int>(_store.front().second.eyes));
+ string const last = _last ? fmt::format("last time={} eyes={}", to_string(_last->time), static_cast<int>(_last->eyes)) : "no last";
+ LOG_DEBUG_THREE_D("Shuffler not in sequence: {} {}", store, last);
}
if (!store_front_in_sequence && _store.size() <= _max_size) {
@@ -98,10 +98,10 @@ Shuffler::video (weak_ptr<Piece> weak_piece, ContentVideo video)
}
if (_store.size() > _max_size) {
- LOG_WARNING("Shuffler is full after receiving frame at %1; 3D sync may be incorrect.", to_string(video.time));
+ LOG_WARNING("Shuffler is full after receiving frame at {}; 3D sync may be incorrect.", to_string(video.time));
}
- LOG_DEBUG_THREE_D("Shuffler emits time=%1 eyes=%2 store=%3", to_string(_store.front().second.time), static_cast<int>(_store.front().second.eyes), _store.size());
+ LOG_DEBUG_THREE_D("Shuffler emits time={} eyes={} store={}", to_string(_store.front().second.time), static_cast<int>(_store.front().second.eyes), _store.size());
Video (_store.front().first, _store.front().second);
_last = _store.front().second;
_store.pop_front ();
diff --git a/src/lib/sqlite_table.cc b/src/lib/sqlite_table.cc
index f00fa6b74..7394b9adf 100644
--- a/src/lib/sqlite_table.cc
+++ b/src/lib/sqlite_table.cc
@@ -46,7 +46,7 @@ SQLiteTable::create() const
for (size_t i = 0; i < _columns.size(); ++i) {
columns[i] = _columns[i] + " " + _types[i];
}
- return String::compose("CREATE TABLE IF NOT EXISTS %1 (id INTEGER PRIMARY KEY, %2)", _name, join_strings(columns, ", "));
+ return fmt::format("CREATE TABLE IF NOT EXISTS {} (id INTEGER PRIMARY KEY, {})", _name, join_strings(columns, ", "));
}
@@ -55,7 +55,7 @@ SQLiteTable::insert() const
{
DCPOMATIC_ASSERT(!_columns.empty());
vector<string> placeholders(_columns.size(), "?");
- return String::compose("INSERT INTO %1 (%2) VALUES (%3)", _name, join_strings(_columns, ", "), join_strings(placeholders, ", "));
+ return fmt::format("INSERT INTO {} ({}) VALUES ({})", _name, join_strings(_columns, ", "), join_strings(placeholders, ", "));
}
@@ -68,12 +68,12 @@ SQLiteTable::update(string const& condition) const
placeholders[i] = _columns[i] + "=?";
}
- return String::compose("UPDATE %1 SET %2 %3", _name, join_strings(placeholders, ", "), condition);
+ return fmt::format("UPDATE {} SET {} {}", _name, join_strings(placeholders, ", "), condition);
}
string
SQLiteTable::select(string const& condition) const
{
- return String::compose("SELECT id,%1 FROM %2 %3", join_strings(_columns, ","), _name, condition);
+ return fmt::format("SELECT id,{} FROM {} {}", join_strings(_columns, ","), _name, condition);
}
diff --git a/src/lib/subtitle_film_encoder.cc b/src/lib/subtitle_film_encoder.cc
index 2de74bc67..91d35257d 100644
--- a/src/lib/subtitle_film_encoder.cc
+++ b/src/lib/subtitle_film_encoder.cc
@@ -70,9 +70,9 @@ SubtitleFilmEncoder::SubtitleFilmEncoder(shared_ptr<const Film> film, shared_ptr
boost::filesystem::path filename = output;
if (dcp::filesystem::is_directory(filename)) {
if (files > 1) {
- /// TRANSLATORS: _reel%1 here is to be added to an export filename to indicate
- /// which reel it is. Preserve the %1; it will be replaced with the reel number.
- filename /= String::compose("%1_reel%2", initial_name, i + 1);
+ /// TRANSLATORS: _reel{} here is to be added to an export filename to indicate
+ /// which reel it is. Preserve the {}; it will be replaced with the reel number.
+ filename /= fmt::format("{}_reel{}", initial_name, i + 1);
} else {
filename /= initial_name;
}
diff --git a/src/lib/text_content.cc b/src/lib/text_content.cc
index f1691e0e0..726b95f02 100644
--- a/src/lib/text_content.cc
+++ b/src/lib/text_content.cc
@@ -226,9 +226,9 @@ TextContent::TextContent(Content* parent, cxml::ConstNodePtr node, int version,
*/
if (version <= 37) {
if (!lang->content().empty()) {
- notes.push_back(String::compose(
- _("A subtitle or closed caption file in this project is marked with the language '%1', "
- "which %2 does not recognise. The file's language has been cleared."), lang->content(), variant::dcpomatic()));
+ notes.push_back(fmt::format(
+ _("A subtitle or closed caption file in this project is marked with the language '{}', "
+ "which {} does not recognise. The file's language has been cleared."), lang->content(), variant::dcpomatic()));
}
} else {
throw;
diff --git a/src/lib/text_decoder.cc b/src/lib/text_decoder.cc
index 52d6c58d3..9985abaaf 100644
--- a/src/lib/text_decoder.cc
+++ b/src/lib/text_decoder.cc
@@ -303,7 +303,7 @@ TextDecoder::emit_plain_start(ContentTime from, sub::Subtitle const & sub_subtit
auto font = content()->get_font(block.font.get_value_or(""));
if (!font) {
- LOG_WARNING("Could not find font '%1' in content; falling back to default", block.font.get_value_or(""));
+ LOG_WARNING("Could not find font '{}' in content; falling back to default", block.font.get_value_or(""));
font = std::make_shared<dcpomatic::Font>(block.font.get_value_or(""), default_font_file());
}
DCPOMATIC_ASSERT(font);
diff --git a/src/lib/timer.cc b/src/lib/timer.cc
index caef89e0e..6ec51af7a 100644
--- a/src/lib/timer.cc
+++ b/src/lib/timer.cc
@@ -130,7 +130,7 @@ StateTimer::~StateTimer ()
char buffer[64];
snprintf (buffer, 64, "%.4f", i.second.total_time);
string total_time (buffer);
- sorted.push_back (make_pair(i.second.total_time, String::compose("\t%1%2 %3 %4", name, total_time, i.second.number, (i.second.total_time / i.second.number))));
+ sorted.push_back (make_pair(i.second.total_time, fmt::format("\t{}{} {} {}", name, total_time, i.second.number, (i.second.total_time / i.second.number))));
}
sorted.sort ([](pair<double, string> const& a, pair<double, string> const& b) {
diff --git a/src/lib/transcode_job.cc b/src/lib/transcode_job.cc
index c6da13381..514038a90 100644
--- a/src/lib/transcode_job.cc
+++ b/src/lib/transcode_job.cc
@@ -72,7 +72,7 @@ TranscodeJob::~TranscodeJob ()
string
TranscodeJob::name () const
{
- return String::compose (_("Transcoding %1"), _film->name());
+ return fmt::format(_("Transcoding {}"), _film->name());
}
@@ -113,7 +113,7 @@ TranscodeJob::run ()
set_progress (1);
set_error(
_("Files have changed since they were added to the project."),
- variant::insert_dcpomatic(_("Open the project in %1, check the settings, then save it before trying again."))
+ variant::insert_dcpomatic(_("Open the project in {}, check the settings, then save it before trying again."))
);
set_state (FINISHED_ERROR);
return;
@@ -131,13 +131,13 @@ TranscodeJob::run ()
set_progress (1);
set_state (FINISHED_OK);
- LOG_GENERAL(N_("Transcode job completed successfully: %1 fps"), dcp::locale_convert<string>(frames_per_second(), 2, true));
+ LOG_GENERAL(N_("Transcode job completed successfully: {} fps"), dcp::locale_convert<string>(frames_per_second(), 2, true));
if (variant::count_created_dcps() && dynamic_pointer_cast<DCPFilmEncoder>(_encoder)) {
try {
Analytics::instance()->successful_dcp_encode();
} catch (FileError& e) {
- LOG_WARNING (N_("Failed to write analytics (%1)"), e.what());
+ LOG_WARNING (N_("Failed to write analytics ({})"), e.what());
}
}
@@ -177,10 +177,10 @@ TranscodeJob::status () const
return Job::status();
}
- auto status = String::compose(_("%1; %2/%3 frames"), Job::status(), _encoder->frames_done(), _film->length().frames_round(_film->video_frame_rate()));
+ auto status = fmt::format(_("{}; {}/{} frames"), Job::status(), _encoder->frames_done(), _film->length().frames_round(_film->video_frame_rate()));
if (auto const fps = _encoder->current_rate()) {
/// TRANSLATORS: fps here is an abbreviation for frames per second
- status += String::compose(_("; %1 fps"), dcp::locale_convert<string>(*fps, 1, true));
+ status += fmt::format(_("; {} fps"), dcp::locale_convert<string>(*fps, 1, true));
}
return status;
diff --git a/src/lib/unzipper.cc b/src/lib/unzipper.cc
index 8d468f24f..9dc936111 100644
--- a/src/lib/unzipper.cc
+++ b/src/lib/unzipper.cc
@@ -73,7 +73,7 @@ Unzipper::get(string const& filename) const
{
auto file = zip_fopen(_zip, filename.c_str(), 0);
if (!file) {
- throw runtime_error(String::compose(_("Could not find file %1 in ZIP file"), filename));
+ throw runtime_error(fmt::format(_("Could not find file {} in ZIP file"), filename));
}
dcp::ScopeGuard sg = [file]() { zip_fclose(file); };
diff --git a/src/lib/uploader.cc b/src/lib/uploader.cc
index 36a86819b..8ed2a73f8 100644
--- a/src/lib/uploader.cc
+++ b/src/lib/uploader.cc
@@ -76,7 +76,7 @@ Uploader::upload_directory (boost::filesystem::path base, boost::filesystem::pat
if (is_directory(i.path())) {
upload_directory (base, i.path(), transferred, total_size);
} else {
- _set_status(String::compose(_("copying %1"), i.path().filename().string()));
+ _set_status(fmt::format(_("copying {}"), i.path().filename().string()));
upload_file (i.path(), remove_prefix (base, i.path()), transferred, total_size);
}
}
diff --git a/src/lib/util.cc b/src/lib/util.cc
index eeab9f2d6..e1eaed9b9 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -383,7 +383,7 @@ public:
if (entry.TestFilter(m_filter)) {
string buffer;
entry.CreateStringWithOptions(buffer, m_options);
- LOG_GENERAL("asdcplib: %1", buffer);
+ LOG_GENERAL("asdcplib: {}", buffer);
}
}
};
@@ -410,7 +410,7 @@ ffmpeg_log_callback(void* ptr, int level, const char* fmt, va_list vl)
av_log_format_line(ptr, level, fmt, vl, line, sizeof(line), &prefix);
string str(line);
boost::algorithm::trim(str);
- dcpomatic_log->log(String::compose("FFmpeg: %1", str), LogEntry::TYPE_GENERAL);
+ dcpomatic_log->log(fmt::format("FFmpeg: {}", str), LogEntry::TYPE_GENERAL);
}
@@ -462,7 +462,7 @@ LIBDCP_ENABLE_WARNINGS
if (running_tests) {
putenv("FONTCONFIG_PATH=fonts");
} else {
- putenv(String::compose("FONTCONFIG_PATH=%1", resources_path().string()).c_str());
+ putenv(fmt::format("FONTCONFIG_PATH={}", resources_path().string()).c_str());
}
#endif
@@ -981,9 +981,9 @@ decrypt_kdm_with_helpful_error(dcp::EncryptedKDM kdm)
}
}
if (!on_chain) {
- throw KDMError(variant::insert_dcpomatic(_("This KDM was not made for %1's decryption certificate.")), e.what());
+ throw KDMError(variant::insert_dcpomatic(_("This KDM was not made for {}'s decryption certificate.")), e.what());
} else if (kdm_subject_name != dc->leaf().subject()) {
- throw KDMError(variant::insert_dcpomatic(_("This KDM was made for %1 but not for its leaf certificate.")), e.what());
+ throw KDMError(variant::insert_dcpomatic(_("This KDM was made for {} but not for its leaf certificate.")), e.what());
} else {
throw;
}
@@ -1029,7 +1029,7 @@ start_of_thread(string)
string
error_details(boost::system::error_code ec)
{
- return String::compose("%1:%2:%3", ec.category().name(), ec.value(), ec.message());
+ return fmt::format("{}:{}:{}", ec.category().name(), ec.value(), ec.message());
}
@@ -1133,7 +1133,7 @@ screen_names_to_string(vector<string> names)
string
report_problem()
{
- return String::compose(_("Please report this problem by using Help -> Report a problem or via email to %1"), variant::report_problem_email());
+ return fmt::format(_("Please report this problem by using Help -> Report a problem or via email to {}"), variant::report_problem_email());
}
diff --git a/src/lib/variant.cc b/src/lib/variant.cc
index 7eed60b8f..81931dcf7 100644
--- a/src/lib/variant.cc
+++ b/src/lib/variant.cc
@@ -109,19 +109,19 @@ variant::dcpomatic_verifier()
std::string
variant::insert_dcpomatic(std::string const& s)
{
- return String::compose(s, _dcpomatic);
+ return fmt::format(s, _dcpomatic);
}
std::string
variant::insert_dcpomatic_encode_server(std::string const& s)
{
- return String::compose(s, _dcpomatic_encode_server);
+ return fmt::format(s, _dcpomatic_encode_server);
}
std::string
variant::insert_dcpomatic_kdm_creator(std::string const& s)
{
- return String::compose(s, _dcpomatic_kdm_creator);
+ return fmt::format(s, _dcpomatic_kdm_creator);
}
std::string
diff --git a/src/lib/video_content.cc b/src/lib/video_content.cc
index 3f2819082..a51ebc8e2 100644
--- a/src/lib/video_content.cc
+++ b/src/lib/video_content.cc
@@ -322,7 +322,7 @@ VideoContent::take_from_examiner(shared_ptr<const Film> film, shared_ptr<VideoEx
_has_alpha = has_alpha;
}
- LOG_GENERAL("Video length obtained from header as %1 frames", _length);
+ LOG_GENERAL("Video length obtained from header as {} frames", _length);
if (d->video_frame_rate()) {
_parent->set_video_frame_rate(film, d->video_frame_rate().get());
@@ -362,16 +362,16 @@ VideoContent::identifier() const
string
VideoContent::technical_summary() const
{
- string const size_string = size() ? String::compose("%1x%2", size()->width, size()->height) : _("unknown");
+ string const size_string = size() ? fmt::format("{}x{}", size()->width, size()->height) : _("unknown");
- string s = String::compose(
- N_("video: length %1 frames, size %2"),
+ string s = fmt::format(
+ N_("video: length {} frames, size {}"),
length_after_3d_combine(),
size_string
);
if (sample_aspect_ratio()) {
- s += String::compose(N_(", sample aspect ratio %1"), sample_aspect_ratio().get());
+ s += fmt::format(N_(", sample aspect ratio {}"), sample_aspect_ratio().get());
}
return s;
@@ -450,8 +450,8 @@ VideoContent::processing_description(shared_ptr<const Film> film)
char buffer[256];
if (size() && size()->width && size()->height) {
- d += String::compose(
- _("Content video is %1x%2"),
+ d += fmt::format(
+ _("Content video is {}x{}"),
size_after_3d_split()->width,
size_after_3d_split()->height
);
@@ -474,8 +474,8 @@ VideoContent::processing_description(shared_ptr<const Film> film)
if ((crop.left || crop.right || crop.top || crop.bottom) && size() != dcp::Size(0, 0)) {
auto const cropped = size_after_crop();
if (cropped) {
- d += String::compose(
- _("\nCropped to %1x%2"),
+ d += fmt::format(
+ _("\nCropped to {}x{}"),
cropped->width, cropped->height
);
@@ -488,8 +488,8 @@ VideoContent::processing_description(shared_ptr<const Film> film)
auto const scaled = scaled_size(container_size);
if (scaled && *scaled != size_after_crop()) {
- d += String::compose(
- _("\nScaled to %1x%2"),
+ d += fmt::format(
+ _("\nScaled to {}x{}"),
scaled->width, scaled->height
);
@@ -498,8 +498,8 @@ VideoContent::processing_description(shared_ptr<const Film> film)
}
if (scaled && *scaled != container_size) {
- d += String::compose(
- _("\nPadded with black to fit container %1 (%2x%3)"),
+ d += fmt::format(
+ _("\nPadded with black to fit container {} ({}x{})"),
film->container().container_nickname(),
container_size.width, container_size.height
);
@@ -526,7 +526,7 @@ VideoContent::add_properties(list<UserProperty>& p) const
{
p.push_back(UserProperty(UserProperty::VIDEO, _("Length"), length(), _("video frames")));
if (auto s = size()) {
- p.push_back(UserProperty(UserProperty::VIDEO, _("Size"), String::compose("%1x%2", s->width, s->height)));
+ p.push_back(UserProperty(UserProperty::VIDEO, _("Size"), fmt::format("{}x{}", s->width, s->height)));
}
}
diff --git a/src/lib/video_decoder.cc b/src/lib/video_decoder.cc
index 6363857b4..410a71cc4 100644
--- a/src/lib/video_decoder.cc
+++ b/src/lib/video_decoder.cc
@@ -66,8 +66,8 @@ VideoDecoder::emit(shared_ptr<const Film> film, shared_ptr<const ImageProxy> ima
if (_frame_interval_checker->guess() == FrameIntervalChecker::PROBABLY_NOT_3D && vft == VideoFrameType::THREE_D) {
boost::throw_exception (
DecodeError(
- String::compose(
- _("The content file %1 is set as 3D but does not appear to contain 3D images. Please set it to 2D. "
+ fmt::format(
+ _("The content file {} is set as 3D but does not appear to contain 3D images. Please set it to 2D. "
"You can still make a 3D DCP from this content by ticking the 3D option in the DCP video tab."),
_content->path(0).string()
)
diff --git a/src/lib/video_filter_graph.cc b/src/lib/video_filter_graph.cc
index d5840c6d3..7c3ac5dc5 100644
--- a/src/lib/video_filter_graph.cc
+++ b/src/lib/video_filter_graph.cc
@@ -76,7 +76,7 @@ VideoFilterGraph::process(shared_ptr<const Image> image)
int r = av_buffersrc_write_frame(_buffer_src_context, frame);
if (r < 0) {
- throw DecodeError(String::compose(N_("could not push buffer into filter chain (%1)."), r));
+ throw DecodeError(fmt::format(N_("could not push buffer into filter chain ({})."), r));
}
list<shared_ptr<const Image>> images;
@@ -107,7 +107,7 @@ VideoFilterGraph::process (AVFrame* frame)
} else {
int r = av_buffersrc_write_frame (_buffer_src_context, frame);
if (r < 0) {
- throw DecodeError (String::compose(N_("could not push buffer into filter chain (%1)."), r));
+ throw DecodeError (fmt::format(N_("could not push buffer into filter chain ({})."), r));
}
while (true) {
diff --git a/src/lib/video_filter_graph_set.cc b/src/lib/video_filter_graph_set.cc
index dbae17d4c..0c966d3ac 100644
--- a/src/lib/video_filter_graph_set.cc
+++ b/src/lib/video_filter_graph_set.cc
@@ -48,7 +48,7 @@ VideoFilterGraphSet::get(dcp::Size size, AVPixelFormat format)
new_graph->setup(_filters);
_graphs.push_back(new_graph);
- LOG_GENERAL(N_("New graph for %1x%2, pixel format %3"), size.width, size.height, static_cast<int>(format));
+ LOG_GENERAL(N_("New graph for {}x{}, pixel format {}"), size.width, size.height, static_cast<int>(format));
return new_graph;
}
diff --git a/src/lib/video_mxf_content.cc b/src/lib/video_mxf_content.cc
index 779344ac1..bf5321ed7 100644
--- a/src/lib/video_mxf_content.cc
+++ b/src/lib/video_mxf_content.cc
@@ -103,7 +103,7 @@ VideoMXFContent::examine(shared_ptr<const Film> film, shared_ptr<Job> job, bool
string
VideoMXFContent::summary () const
{
- return String::compose (_("%1 [video]"), path_summary());
+ return fmt::format(_("{} [video]"), path_summary());
}
diff --git a/src/lib/video_ring_buffers.cc b/src/lib/video_ring_buffers.cc
index 5f355c1ab..1c2344c83 100644
--- a/src/lib/video_ring_buffers.cc
+++ b/src/lib/video_ring_buffers.cc
@@ -89,7 +89,7 @@ VideoRingBuffers::memory_used() const
for (auto const& i: _data) {
m += i.first->memory_used();
}
- return make_pair(m, String::compose("%1 frames", _data.size()));
+ return make_pair(m, fmt::format("{} frames", _data.size()));
}
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index 72a6eaf8b..19d14a381 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -393,9 +393,9 @@ try
}
/* Nothing to do: wait until something happens which may indicate that we do */
- LOG_TIMING (N_("writer-sleep queue=%1"), _queue.size());
+ LOG_TIMING (N_("writer-sleep queue={}"), _queue.size());
_empty_condition.wait (lock);
- LOG_TIMING (N_("writer-wake queue=%1"), _queue.size());
+ LOG_TIMING (N_("writer-wake queue={}"), _queue.size());
}
/* We stop here if we have been asked to finish, and if either the queue
@@ -406,12 +406,12 @@ try
if (_finish && (!have_sequenced_image_at_queue_head() || _queue.empty())) {
/* (Hopefully temporarily) log anything that was not written */
if (!_queue.empty() && !have_sequenced_image_at_queue_head()) {
- LOG_WARNING (N_("Finishing writer with a left-over queue of %1:"), _queue.size());
+ LOG_WARNING (N_("Finishing writer with a left-over queue of {}:"), _queue.size());
for (auto const& i: _queue) {
if (i.type == QueueItem::Type::FULL) {
- LOG_WARNING (N_("- type FULL, frame %1, eyes %2"), i.frame, (int) i.eyes);
+ LOG_WARNING (N_("- type FULL, frame {}, eyes {}"), i.frame, (int) i.eyes);
} else {
- LOG_WARNING(N_("- type FAKE, frame %1, eyes %2"), i.frame, static_cast<int>(i.eyes));
+ LOG_WARNING(N_("- type FAKE, frame {}, eyes {}"), i.frame, static_cast<int>(i.eyes));
}
}
}
@@ -433,7 +433,7 @@ try
switch (qi.type) {
case QueueItem::Type::FULL:
- LOG_DEBUG_ENCODE (N_("Writer FULL-writes %1 (%2)"), qi.frame, (int) qi.eyes);
+ LOG_DEBUG_ENCODE (N_("Writer FULL-writes {} ({})"), qi.frame, (int) qi.eyes);
if (!qi.encoded) {
/* Get the data back from disk where we stored it temporarily */
qi.encoded = make_shared<ArrayData>(film()->j2c_path(qi.reel, qi.frame, qi.eyes, false));
@@ -442,12 +442,12 @@ try
++_full_written;
break;
case QueueItem::Type::FAKE:
- LOG_DEBUG_ENCODE (N_("Writer FAKE-writes %1"), qi.frame);
+ LOG_DEBUG_ENCODE (N_("Writer FAKE-writes {}"), qi.frame);
reel.fake_write(qi.frame, qi.eyes);
++_fake_written;
break;
case QueueItem::Type::REPEAT:
- LOG_DEBUG_ENCODE (N_("Writer REPEAT-writes %1"), qi.frame);
+ LOG_DEBUG_ENCODE (N_("Writer REPEAT-writes {}"), qi.frame);
reel.repeat_write (qi.frame, qi.eyes);
++_repeat_written;
break;
@@ -472,7 +472,7 @@ try
DCPOMATIC_ASSERT(item != _queue.rend());
++_pushed_to_disk;
- LOG_GENERAL("Writer full; pushes %1 to disk while awaiting %2", item->frame, _last_written[_queue.front().reel].frame() + 1);
+ LOG_GENERAL("Writer full; pushes {} to disk while awaiting {}", item->frame, _last_written[_queue.front().reel].frame() + 1);
item->encoded->write_via_temp(
film()->j2c_path(item->reel, item->frame, item->eyes, true),
@@ -613,12 +613,12 @@ Writer::finish()
auto creator = Config::instance()->dcp_creator();
if (creator.empty()) {
- creator = String::compose("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
+ creator = fmt::format("DCP-o-matic {} {}", dcpomatic_version, dcpomatic_git_commit);
}
auto issuer = Config::instance()->dcp_issuer();
if (issuer.empty()) {
- issuer = String::compose("DCP-o-matic %1 %2", dcpomatic_version, dcpomatic_git_commit);
+ issuer = fmt::format("DCP-o-matic {} {}", dcpomatic_version, dcpomatic_git_commit);
}
cpl->set_creator (creator);
@@ -709,7 +709,7 @@ Writer::finish()
dcp.write_xml(signer, Config::instance()->dcp_metadata_filename_format(), group_id);
LOG_GENERAL (
- N_("Wrote %1 FULL, %2 FAKE, %3 REPEAT, %4 pushed to disk"), _full_written, _fake_written, _repeat_written, _pushed_to_disk
+ N_("Wrote {} FULL, {} FAKE, {} REPEAT, {} pushed to disk"), _full_written, _fake_written, _repeat_written, _pushed_to_disk
);
write_cover_sheet();
@@ -759,13 +759,13 @@ Writer::write_cover_sheet()
}
if (size > (1000000000L)) {
- boost::algorithm::replace_all (text, "$SIZE", String::compose("%1GB", dcp::locale_convert<string>(size / 1000000000.0, 1, true)));
+ boost::algorithm::replace_all (text, "$SIZE", fmt::format("{}GB", dcp::locale_convert<string>(size / 1000000000.0, 1, true)));
} else {
- boost::algorithm::replace_all (text, "$SIZE", String::compose("%1MB", dcp::locale_convert<string>(size / 1000000.0, 1, true)));
+ boost::algorithm::replace_all (text, "$SIZE", fmt::format("{}MB", dcp::locale_convert<string>(size / 1000000.0, 1, true)));
}
auto ch = audio_channel_types (film()->mapped_audio_channels(), film()->audio_channels());
- auto description = String::compose("%1.%2", ch.first, ch.second);
+ auto description = fmt::format("{}.{}", ch.first, ch.second);
if (description == "0.0") {
description = _("None");
@@ -779,11 +779,11 @@ Writer::write_cover_sheet()
auto const hmsf = film()->length().split(film()->video_frame_rate());
string length;
if (hmsf.h == 0 && hmsf.m == 0) {
- length = String::compose("%1s", hmsf.s);
+ length = fmt::format("{}s", hmsf.s);
} else if (hmsf.h == 0 && hmsf.m > 0) {
- length = String::compose("%1m%2s", hmsf.m, hmsf.s);
+ length = fmt::format("{}m{}s", hmsf.m, hmsf.s);
} else if (hmsf.h > 0 && hmsf.m > 0) {
- length = String::compose("%1h%2m%3s", hmsf.h, hmsf.m, hmsf.s);
+ length = fmt::format("{}h{}m{}s", hmsf.h, hmsf.m, hmsf.s);
}
boost::algorithm::replace_all (text, "$LENGTH", length);
diff --git a/src/lib/zipper.cc b/src/lib/zipper.cc
index 7b9d55ef4..906edb534 100644
--- a/src/lib/zipper.cc
+++ b/src/lib/zipper.cc
@@ -62,7 +62,7 @@ Zipper::add(string name, string content)
#else
if (zip_add(_zip, name.c_str(), source) == -1) {
#endif
- throw runtime_error(String::compose("failed to add data to ZIP archive (%1)", zip_strerror(_zip)));
+ throw runtime_error(fmt::format("failed to add data to ZIP archive ({})", zip_strerror(_zip)));
}
}
diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc
index d8e79d667..852106757 100644
--- a/src/tools/dcpomatic.cc
+++ b/src/tools/dcpomatic.cc
@@ -1488,7 +1488,7 @@ private:
for (size_t i = 0; i < history.size(); ++i) {
string s;
if (i < 9) {
- s = String::compose ("&%1 %2", i + 1, history[i].string());
+ s = fmt::format("&{} {}", i + 1, history[i].string());
} else {
s = history[i].string();
}
@@ -1655,7 +1655,7 @@ private:
setvbuf(hf_in, NULL, _IONBF, 128);
*stdin = *hf_in;
- cout << variant::insert_dcpomatic("%1 is starting.") << "\n";
+ cout << variant::insert_dcpomatic("{} is starting.") << "\n";
}
#endif
wxInitAllImageHandlers ();
@@ -1732,7 +1732,7 @@ private:
try {
_frame->load_film (_film_to_load);
} catch (exception& e) {
- error_dialog (nullptr, std_to_wx(String::compose(wx_to_std(_("Could not load film %1 (%2)")), _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()));
}
}
diff --git a/src/tools/dcpomatic_batch.cc b/src/tools/dcpomatic_batch.cc
index c6a58f741..baa799aad 100644
--- a/src/tools/dcpomatic_batch.cc
+++ b/src/tools/dcpomatic_batch.cc
@@ -493,7 +493,7 @@ class App : public wxApp
} catch (exception& e) {
error_dialog (
0,
- std_to_wx(String::compose(wx_to_std(_("Could not load film %1")), i.string())),
+ std_to_wx(fmt::format(wx_to_std(_("Could not load film {}")), i.string())),
std_to_wx(e.what())
);
}
diff --git a/src/tools/dcpomatic_combiner.cc b/src/tools/dcpomatic_combiner.cc
index 098025ddb..b9db5fb8c 100644
--- a/src/tools/dcpomatic_combiner.cc
+++ b/src/tools/dcpomatic_combiner.cc
@@ -162,7 +162,7 @@ private:
if (!confirm_dialog (
this,
std_to_wx (
- String::compose(wx_to_std(_("The directory %1 already exists and is not empty. "
+ fmt::format(wx_to_std(_("The directory {} already exists and is not empty. "
"Are you sure you want to use it?")),
output.string())
)
diff --git a/src/tools/dcpomatic_disk.cc b/src/tools/dcpomatic_disk.cc
index 56b30590f..287efb901 100644
--- a/src/tools/dcpomatic_disk.cc
+++ b/src/tools/dcpomatic_disk.cc
@@ -181,7 +181,7 @@ public:
*/
dcpomatic_log = make_shared<FileLog>(State::write_path("disk.log"));
dcpomatic_log->set_types (dcpomatic_log->types() | LogEntry::TYPE_DISK);
- LOG_DISK("dcpomatic_disk %1 started", dcpomatic_git_commit);
+ LOG_DISK("dcpomatic_disk {} started", dcpomatic_git_commit);
{
int constexpr seconds_to_look = 3;
@@ -202,7 +202,7 @@ public:
#ifdef DCPOMATIC_WINDOWS
/* We must use ::shell here, it seems, to avoid error code 740 (related to privilege escalation) */
- LOG_DISK("Starting writer process %1", disk_writer_path().string());
+ LOG_DISK("Starting writer process {}", disk_writer_path().string());
_writer = new boost::process::child (disk_writer_path(), boost::process::shell, boost::process::windows::hide);
#endif
@@ -210,7 +210,7 @@ public:
if (getenv("DCPOMATIC_NO_START_WRITER")) {
LOG_DISK_NC("Not starting writer process as DCPOMATIC_NO_START_WRITER is set");
} else {
- LOG_DISK("Starting writer process %1", disk_writer_path().string());
+ LOG_DISK("Starting writer process {}", disk_writer_path().string());
_writer = new boost::process::child (disk_writer_path());
}
#endif
@@ -252,7 +252,7 @@ private:
#ifdef DCPOMATIC_OSX
void uninstall()
{
- system(String::compose("osascript \"%1/uninstall_disk.applescript\"", resources_path().string()).c_str());
+ system(fmt::format("osascript \"{}/uninstall_disk.applescript\"", resources_path().string()).c_str());
}
#endif
@@ -303,12 +303,12 @@ private:
if (reply && reply->type() == DiskWriterBackEndResponse::Type::PONG) {
return true;
} else if (reply) {
- LOG_DISK("Unexpected response %1 to ping received (attempt %2)", static_cast<int>(reply->type()), attempt);
+ LOG_DISK("Unexpected response {} to ping received (attempt {})", static_cast<int>(reply->type()), attempt);
} else {
- LOG_DISK("No reply received from ping (attempt %1)", attempt);
+ LOG_DISK("No reply received from ping (attempt {})", attempt);
}
} else {
- LOG_DISK("Could not send ping to writer (attempt %1)", attempt);
+ LOG_DISK("Could not send ping to writer (attempt {})", attempt);
}
dcpomatic_sleep_seconds (1);
return false;
@@ -353,7 +353,7 @@ private:
return;
}
- LOG_DISK("Sending unmount request to disk writer for %1", drive.as_xml());
+ LOG_DISK("Sending unmount request to disk writer for {}", drive.as_xml());
if (!_nanomsg.send(DISK_WRITER_UNMOUNT "\n", 2000)) {
LOG_DISK_NC("Failed to send unmount request.");
throw CommunicationFailedError ();
diff --git a/src/tools/dcpomatic_disk_writer.cc b/src/tools/dcpomatic_disk_writer.cc
index b54bc33ef..1880baefd 100644
--- a/src/tools/dcpomatic_disk_writer.cc
+++ b/src/tools/dcpomatic_disk_writer.cc
@@ -100,7 +100,7 @@ polkit_callback (GObject *, GAsyncResult* res, gpointer data)
bool failed = false;
if (error) {
- LOG_DISK("polkit authority check failed (check_authorization_finish failed with %1)", error->message);
+ LOG_DISK("polkit authority check failed (check_authorization_finish failed with {})", error->message);
failed = true;
} else {
if (polkit_authorization_result_get_is_authorized(result)) {
@@ -159,7 +159,7 @@ try
return true;
}
- LOG_DISK("Writer receives command: %1", *s);
+ LOG_DISK("Writer receives command: {}", *s);
if (*s == DISK_WRITER_QUIT) {
exit (EXIT_SUCCESS);
@@ -220,21 +220,21 @@ try
#ifdef DCPOMATIC_OSX
if (!starts_with(device, "/dev/disk")) {
- LOG_DISK ("Will not write to %1", device);
+ LOG_DISK ("Will not write to {}", device);
DiskWriterBackEndResponse::error("Refusing to write to this drive", 1, 0).write_to_nanomsg(*nanomsg, LONG_TIMEOUT);
return true;
}
#endif
#ifdef DCPOMATIC_LINUX
if (!starts_with(device, "/dev/sd") && !starts_with(device, "/dev/hd")) {
- LOG_DISK ("Will not write to %1", device);
+ LOG_DISK ("Will not write to {}", device);
DiskWriterBackEndResponse::error("Refusing to write to this drive", 1, 0).write_to_nanomsg(*nanomsg, LONG_TIMEOUT);
return true;
}
#endif
#ifdef DCPOMATIC_WINDOWS
if (!starts_with(device, "\\\\.\\PHYSICALDRIVE")) {
- LOG_DISK ("Will not write to %1", device);
+ LOG_DISK ("Will not write to {}", device);
DiskWriterBackEndResponse::error("Refusing to write to this drive", 1, 0).write_to_nanomsg(*nanomsg, LONG_TIMEOUT);
return true;
}
@@ -250,19 +250,19 @@ try
}
if (!on_drive_list) {
- LOG_DISK ("Will not write to %1 as it's not recognised as a drive", device);
+ LOG_DISK ("Will not write to {} as it's not recognised as a drive", device);
DiskWriterBackEndResponse::error("Refusing to write to this drive", 1, 0).write_to_nanomsg(*nanomsg, LONG_TIMEOUT);
return true;
}
if (mounted) {
- LOG_DISK ("Will not write to %1 as it's mounted", device);
+ LOG_DISK ("Will not write to {} as it's mounted", device);
DiskWriterBackEndResponse::error("Refusing to write to this drive", 1, 0).write_to_nanomsg(*nanomsg, LONG_TIMEOUT);
return true;
}
- LOG_DISK("Here we go writing these to %1", device);
+ LOG_DISK("Here we go writing these to {}", device);
for (auto dcp: dcp_paths) {
- LOG_DISK(" %1", dcp.string());
+ LOG_DISK(" {}", dcp.string());
}
request_privileges (
@@ -293,7 +293,7 @@ try
return true;
} catch (exception& e) {
- LOG_DISK("Exception (from idle): %1", e.what());
+ LOG_DISK("Exception (from idle): {}", e.what());
return true;
}
@@ -308,7 +308,7 @@ main ()
* redirect this to a file in /var/log
*/
dcpomatic_log.reset(new StdoutLog(LogEntry::TYPE_DISK));
- LOG_DISK("dcpomatic_disk_writer %1 started uid=%2 euid=%3", dcpomatic_git_commit, getuid(), geteuid());
+ LOG_DISK("dcpomatic_disk_writer {} started uid={} euid={}", dcpomatic_git_commit, getuid(), geteuid());
#else
/* XXX: this is a hack, but I expect we'll need logs and I'm not sure if there's
* a better place to put them.
diff --git a/src/tools/dcpomatic_kdm.cc b/src/tools/dcpomatic_kdm.cc
index d596f8ca2..acab8c682 100644
--- a/src/tools/dcpomatic_kdm.cc
+++ b/src/tools/dcpomatic_kdm.cc
@@ -131,7 +131,7 @@ public:
setvbuf(hf_in, NULL, _IONBF, 128);
*stdin = *hf_in;
- std::cout << variant::insert_dcpomatic_kdm_creator("%1 is starting.\n");
+ std::cout << variant::insert_dcpomatic_kdm_creator("{} is starting.\n");
}
#endif
diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc
index 9fb4a049b..db5bb5d81 100644
--- a/src/tools/dcpomatic_player.cc
+++ b/src/tools/dcpomatic_player.cc
@@ -330,7 +330,7 @@ public:
*/
_viewer.stop();
} catch (std::exception& e) {
- LOG_ERROR("Destructor threw %1", e.what());
+ LOG_ERROR("Destructor threw {}", e.what());
} catch (...) {
LOG_ERROR_NC("Destructor threw");
}
@@ -966,17 +966,17 @@ private:
_viewer.panel()->Reparent(_dual_screen);
_viewer.panel()->SetFocus();
_dual_screen->Show ();
- LOG_DEBUG_PLAYER("Setting up dual screen mode with %1 displays", wxDisplay::GetCount());
+ LOG_DEBUG_PLAYER("Setting up dual screen mode with {} displays", wxDisplay::GetCount());
for (auto index = 0U; index < wxDisplay::GetCount(); ++index) {
wxDisplay display(index);
auto client = display.GetClientArea();
auto mode = display.GetCurrentMode();
auto geometry = display.GetGeometry();
- LOG_DEBUG_PLAYER("Display %1", index);
- LOG_DEBUG_PLAYER(" ClientArea position=(%1, %2) size=(%3, %4)", client.GetX(), client.GetY(), client.GetWidth(), client.GetHeight());
- LOG_DEBUG_PLAYER(" Geometry position=(%1, %2) size=(%3, %4)", geometry.GetX(), geometry.GetY(), geometry.GetWidth(), geometry.GetHeight());
- LOG_DEBUG_PLAYER(" Mode size=(%1, %2)", mode.GetWidth(), mode.GetHeight());
- LOG_DEBUG_PLAYER(" Primary? %1", static_cast<int>(display.IsPrimary()));
+ LOG_DEBUG_PLAYER("Display {}", index);
+ LOG_DEBUG_PLAYER(" ClientArea position=({}, {}) size=({}, {})", client.GetX(), client.GetY(), client.GetWidth(), client.GetHeight());
+ LOG_DEBUG_PLAYER(" Geometry position=({}, {}) size=({}, {})", geometry.GetX(), geometry.GetY(), geometry.GetWidth(), geometry.GetHeight());
+ LOG_DEBUG_PLAYER(" Mode size=({}, {})", mode.GetWidth(), mode.GetHeight());
+ LOG_DEBUG_PLAYER(" Primary? {}", static_cast<int>(display.IsPrimary()));
}
if (wxDisplay::GetCount() > 1) {
wxRect geometry[2] = {
@@ -1138,7 +1138,7 @@ private:
_http_server_thread = boost::thread(boost::bind(&HTTPServer::run, _http_server.get()));
}
} catch (std::exception& e) {
- LOG_DEBUG_PLAYER("Failed to start player HTTP server (%1)", e.what());
+ LOG_DEBUG_PLAYER("Failed to start player HTTP server ({})", e.what());
}
}
@@ -1152,7 +1152,7 @@ private:
/* This is not the end of the world; probably a failure to bind the server socket
* because there's already another player running.
*/
- LOG_DEBUG_PLAYER("Failed to start internal player server (%1)", e.what());
+ LOG_DEBUG_PLAYER("Failed to start internal player server ({})", e.what());
}
}
@@ -1181,7 +1181,7 @@ private:
for (size_t i = 0; i < history.size(); ++i) {
string s;
if (i < 9) {
- s = String::compose ("&%1 %2", i + 1, history[i].string());
+ s = fmt::format("&{} {}", i + 1, history[i].string());
} else {
s = history[i].string();
}
diff --git a/src/tools/dcpomatic_server.cc b/src/tools/dcpomatic_server.cc
index e5d8b0a90..23ecdc9df 100644
--- a/src/tools/dcpomatic_server.cc
+++ b/src/tools/dcpomatic_server.cc
@@ -253,7 +253,7 @@ public:
#else
string const colour = gui_is_dark() ? "white" : "black";
wxBitmap bitmap (
- bitmap_path(String::compose("dcpomatic_small_%1.png", colour)),
+ bitmap_path(fmt::format("dcpomatic_small_{}.png", colour)),
wxBITMAP_TYPE_PNG
);
wxIcon icon;
diff --git a/src/tools/dcpomatic_server_cli.cc b/src/tools/dcpomatic_server_cli.cc
index ea78d41a5..a20b14f68 100644
--- a/src/tools/dcpomatic_server_cli.cc
+++ b/src/tools/dcpomatic_server_cli.cc
@@ -56,7 +56,7 @@ static void
help (string n)
{
cerr << "Syntax: " << n << " [OPTION]\n"
- << variant::insert_dcpomatic(" -v, --version show %1 version\n")
+ << variant::insert_dcpomatic(" -v, --version show {} version\n")
<< " -h, --help show this help\n"
<< " -t, --threads number of parallel encoding threads to use\n"
<< " --verbose be verbose to stdout\n"
@@ -127,7 +127,7 @@ main (int argc, char* argv[])
server.run ();
} catch (boost::system::system_error& e) {
if (e.code() == boost::system::errc::address_in_use) {
- cerr << program_name << variant::insert_dcpomatic(": address already in use. Is another %1 server instance already running?\n");
+ cerr << program_name << variant::insert_dcpomatic(": address already in use. Is another {} server instance already running?\n");
exit (EXIT_FAILURE);
}
cerr << program_name << ": " << e.what() << "\n";
diff --git a/src/tools/po/cs_CZ.po b/src/tools/po/cs_CZ.po
index 45a6da67d..7cb3b3206 100644
--- a/src/tools/po/cs_CZ.po
+++ b/src/tools/po/cs_CZ.po
@@ -401,12 +401,12 @@ msgid "Could not load a DCP from %s"
msgstr "Nelze načíst DCP z %s"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Nelze načíst film %1"
+msgid "Could not load film {}"
+msgstr "Nelze načíst film {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Nelze načíst film %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Nelze načíst film {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, c-format
@@ -1108,9 +1108,9 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
-msgstr "Složka %1 již existuje a není prázdná. Chcete pokračovat?"
+msgstr "Složka {} již existuje a není prázdná. Chcete pokračovat?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
diff --git a/src/tools/po/da_DK.po b/src/tools/po/da_DK.po
index efd9008c8..60252faee 100644
--- a/src/tools/po/da_DK.po
+++ b/src/tools/po/da_DK.po
@@ -33,7 +33,7 @@ msgstr "%d KDMer skrevet til %s"
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
msgstr ""
-"%1 findes allerede som en fil, så du kan ikke bruge dette navn til en ny "
+"{} findes allerede som en fil, så du kan ikke bruge dette navn til en ny "
"film."
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
@@ -379,12 +379,12 @@ msgstr "Kunne ikke danne DCP: %s."
#: src/tools/dcpomatic_player.cc:1368
#, fuzzy, c-format
msgid "Could not load DCP %s"
-msgstr "Kunne ikke indlæse DCP %1."
+msgstr "Kunne ikke indlæse DCP {}."
#: src/tools/dcpomatic_player.cc:866
#, fuzzy, c-format
msgid "Could not load DCP %s."
-msgstr "Kunne ikke indlæse DCP %1."
+msgstr "Kunne ikke indlæse DCP {}."
#: src/tools/dcpomatic_player.cc:626
#, fuzzy, c-format
@@ -392,7 +392,7 @@ msgid ""
"Could not load DCP.\n"
"\n"
"%s."
-msgstr "Kunne ikke indlæse DCP %1."
+msgstr "Kunne ikke indlæse DCP {}."
#: src/tools/dcpomatic_player.cc:814
msgid "Could not load KDM."
@@ -405,17 +405,17 @@ msgid "Could not load a DCP from %s"
msgstr "Kunne ikke indlæse DCP fra %s."
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Kunne ikke indlæse film %1"
+msgid "Could not load film {}"
+msgstr "Kunne ikke indlæse film {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Kunne ikke indlæse film %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Kunne ikke indlæse film {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Kunne ikke indlæse film %1"
+msgstr "Kunne ikke indlæse film {}"
#: src/tools/dcpomatic.cc:879
msgid "Could not make DCP."
@@ -1080,10 +1080,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Folderen %1 eksisterer allerede og er ikke tom. Er du sikker på, at du vil "
+"Folderen {} eksisterer allerede og er ikke tom. Er du sikker på, at du vil "
"benytte den?"
#: src/tools/dcpomatic_disk.cc:293
diff --git a/src/tools/po/de_DE.po b/src/tools/po/de_DE.po
index d3bf0fd34..536a26866 100644
--- a/src/tools/po/de_DE.po
+++ b/src/tools/po/de_DE.po
@@ -407,12 +407,12 @@ msgid "Could not load a DCP from %s"
msgstr "DCP aus %s konnte nicht geladen werden"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Projekt %1 konnte nicht geladen werden"
+msgid "Could not load film {}"
+msgstr "Projekt {} konnte nicht geladen werden"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Projekt %1 (%2) konnte nicht geladen werden"
+msgid "Could not load film {} ({})"
+msgstr "Projekt {} ({}) konnte nicht geladen werden"
#: src/tools/dcpomatic_player.cc:1376
#, c-format
@@ -1120,10 +1120,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Der Ordner %1 existiert bereits und ist nicht leer. Wollen Sie ihn trotzdem "
+"Der Ordner {} existiert bereits und ist nicht leer. Wollen Sie ihn trotzdem "
"benutzen ?"
#: src/tools/dcpomatic_disk.cc:293
diff --git a/src/tools/po/es_ES.po b/src/tools/po/es_ES.po
index eb224f2ae..2fd20a263 100644
--- a/src/tools/po/es_ES.po
+++ b/src/tools/po/es_ES.po
@@ -30,7 +30,7 @@ msgstr "%d KDMs guardadas en %s"
#: src/tools/dcpomatic_combiner.cc:175
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "%1 ya existe como fichero, no puedes usarlo para una nueva película."
+msgstr "{} ya existe como fichero, no puedes usarlo para una nueva película."
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
#: src/tools/dcpomatic_player.cc:1391
@@ -374,12 +374,12 @@ msgstr "No se pudo cargar el DCP"
#: src/tools/dcpomatic_player.cc:1368
#, fuzzy, c-format
msgid "Could not load DCP %s"
-msgstr "No se pudo cargar el DCP %1."
+msgstr "No se pudo cargar el DCP {}."
#: src/tools/dcpomatic_player.cc:866
#, fuzzy, c-format
msgid "Could not load DCP %s."
-msgstr "No se pudo cargar el DCP %1."
+msgstr "No se pudo cargar el DCP {}."
#: src/tools/dcpomatic_player.cc:626
#, fuzzy, c-format
@@ -387,7 +387,7 @@ msgid ""
"Could not load DCP.\n"
"\n"
"%s."
-msgstr "No se pudo cargar el DCP %1."
+msgstr "No se pudo cargar el DCP {}."
#: src/tools/dcpomatic_player.cc:814
msgid "Could not load KDM."
@@ -400,17 +400,17 @@ msgid "Could not load a DCP from %s"
msgstr ""
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "No se pudo cargar la película %1"
+msgid "Could not load film {}"
+msgstr "No se pudo cargar la película {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "No se pudo cargar la película %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "No se pudo cargar la película {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "No se pudo cargar la película %1"
+msgstr "No se pudo cargar la película {}"
#: src/tools/dcpomatic.cc:879
msgid "Could not make DCP."
@@ -1082,10 +1082,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"El directorio %1 ya existe y no está vacío. ¿Estás seguro de querer usarlo?"
+"El directorio {} ya existe y no está vacío. ¿Estás seguro de querer usarlo?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
@@ -1382,5 +1382,5 @@ msgstr ""
#~ msgstr "&Analizar audio"
#, fuzzy
-#~ msgid "The directory %1 already exists."
+#~ msgid "The directory {} already exists."
#~ msgstr "La carpeta %s ya existe."
diff --git a/src/tools/po/fa_IR.po b/src/tools/po/fa_IR.po
index 4f25883f2..0f2a46bc1 100644
--- a/src/tools/po/fa_IR.po
+++ b/src/tools/po/fa_IR.po
@@ -406,12 +406,12 @@ msgid "Could not load a DCP from %s"
msgstr "نمیتوان یک دی سی پی از این محل فراخوانی کرد %s"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "فیلم قابل فراخوانی نیست%1"
+msgid "Could not load film {}"
+msgstr "فیلم قابل فراخوانی نیست{}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "فیلم قابل فراخوانی نیست %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "فیلم قابل فراخوانی نیست {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, c-format
@@ -1114,10 +1114,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"پوشه %1 وجود دارد و خالی نیست. مطمئن هستید که می خواهید از آن استفاده کنید؟"
+"پوشه {} وجود دارد و خالی نیست. مطمئن هستید که می خواهید از آن استفاده کنید؟"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
diff --git a/src/tools/po/fr_FR.po b/src/tools/po/fr_FR.po
index 361c7d9a1..7a0e6a44b 100644
--- a/src/tools/po/fr_FR.po
+++ b/src/tools/po/fr_FR.po
@@ -405,12 +405,12 @@ msgid "Could not load a DCP from %s"
msgstr "Impossible de charger un DCP depuis %s"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Impossible de charger le film %1"
+msgid "Could not load film {}"
+msgstr "Impossible de charger le film {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Impossible de charger le film %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Impossible de charger le film {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, c-format
@@ -1123,10 +1123,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Le répertoire %1 existe déjà et n'est pas vide. Êtes-vous sûr de vouloir "
+"Le répertoire {} existe déjà et n'est pas vide. Êtes-vous sûr de vouloir "
"l'utiliser ?"
#: src/tools/dcpomatic_disk.cc:293
@@ -1509,5 +1509,5 @@ msgstr ""
#~ msgstr "&Analyser le son"
#, fuzzy
-#~ msgid "The directory %1 already exists."
+#~ msgid "The directory {} already exists."
#~ msgstr "Le dossier %s existe déjà."
diff --git a/src/tools/po/hu_HU.po b/src/tools/po/hu_HU.po
index 50e538449..c62881d03 100644
--- a/src/tools/po/hu_HU.po
+++ b/src/tools/po/hu_HU.po
@@ -368,17 +368,17 @@ msgstr ""
#: src/tools/dcpomatic_editor.cc:399
#, fuzzy
msgid "Could not load DCP"
-msgstr "Nem sikerült a DCP %1 betöltése."
+msgstr "Nem sikerült a DCP {} betöltése."
#: src/tools/dcpomatic_player.cc:1368
#, fuzzy, c-format
msgid "Could not load DCP %s"
-msgstr "Nem sikerült a DCP %1 betöltése."
+msgstr "Nem sikerült a DCP {} betöltése."
#: src/tools/dcpomatic_player.cc:866
#, fuzzy, c-format
msgid "Could not load DCP %s."
-msgstr "Nem sikerült a DCP %1 betöltése."
+msgstr "Nem sikerült a DCP {} betöltése."
#: src/tools/dcpomatic_player.cc:626
#, c-format
@@ -402,17 +402,17 @@ msgid "Could not load a DCP from %s"
msgstr "Nem sikerült a DCP betöltése a(z) %s helyről"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Nem sikerült a film %1 betöltése"
+msgid "Could not load film {}"
+msgstr "Nem sikerült a film {} betöltése"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Nem sikerült a film %1 (%s) betöltése."
+msgid "Could not load film {} ({})"
+msgstr "Nem sikerült a film {} (%s) betöltése."
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Nem sikerült a film %1 betöltése"
+msgstr "Nem sikerült a film {} betöltése"
#: src/tools/dcpomatic.cc:879
msgid "Could not make DCP."
@@ -1101,7 +1101,7 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
#, fuzzy
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr "Befejezetlen művelet vannak, biztosan ki akarsz lépni?"
diff --git a/src/tools/po/it_IT.po b/src/tools/po/it_IT.po
index 92ac14d25..4c4dfffeb 100644
--- a/src/tools/po/it_IT.po
+++ b/src/tools/po/it_IT.po
@@ -30,7 +30,7 @@ msgstr "%d KDM scritte in %s"
#: src/tools/dcpomatic_combiner.cc:175
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "%1 esiste già il file, non è possibile usarlo per un nuovo film"
+msgstr "{} esiste già il file, non è possibile usarlo per un nuovo film"
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
#: src/tools/dcpomatic_player.cc:1391
@@ -378,12 +378,12 @@ msgstr "Impossibile caricare DCP"
#: src/tools/dcpomatic_player.cc:1368
#, fuzzy, c-format
msgid "Could not load DCP %s"
-msgstr "Impossibile caricare DCP %1."
+msgstr "Impossibile caricare DCP {}."
#: src/tools/dcpomatic_player.cc:866
#, fuzzy, c-format
msgid "Could not load DCP %s."
-msgstr "Impossibile caricare DCP %1."
+msgstr "Impossibile caricare DCP {}."
#: src/tools/dcpomatic_player.cc:626
#, fuzzy, c-format
@@ -391,7 +391,7 @@ msgid ""
"Could not load DCP.\n"
"\n"
"%s."
-msgstr "Impossibile caricare DCP %1."
+msgstr "Impossibile caricare DCP {}."
#: src/tools/dcpomatic_player.cc:814
msgid "Could not load KDM."
@@ -404,17 +404,17 @@ msgid "Could not load a DCP from %s"
msgstr ""
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Impossibile caricare il film %1"
+msgid "Could not load film {}"
+msgstr "Impossibile caricare il film {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Impossibile caricare il film %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Impossibile caricare il film {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Impossibile caricare il film %1"
+msgstr "Impossibile caricare il film {}"
#: src/tools/dcpomatic.cc:879
msgid "Could not make DCP."
@@ -1084,9 +1084,9 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
-msgstr "La cartella %1 esiste già e non è vuota. Sei sicuro di volerla usare?"
+msgstr "La cartella {} esiste già e non è vuota. Sei sicuro di volerla usare?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
@@ -1368,5 +1368,5 @@ msgstr ""
#~ msgid "&Analyse audio"
#~ msgstr "&Analizza audio"
-#~ msgid "The directory %1 already exists."
+#~ msgid "The directory {} already exists."
#~ msgstr "La directory %s esiste gia'."
diff --git a/src/tools/po/nl_NL.po b/src/tools/po/nl_NL.po
index 4fd120b6f..ec27f2bc2 100644
--- a/src/tools/po/nl_NL.po
+++ b/src/tools/po/nl_NL.po
@@ -406,12 +406,12 @@ msgid "Could not load a DCP from %s"
msgstr "Kan DCP niet laden van %s"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Kan film %1 niet laden"
+msgid "Could not load film {}"
+msgstr "Kan film {} niet laden"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Kan film %1 niet laden (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Kan film {} niet laden ({})"
#: src/tools/dcpomatic_player.cc:1376
#, c-format
@@ -1123,9 +1123,9 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
-msgstr "De map %1 bestaat al en is niet leeg. Wilt u deze toch gebruiken?"
+msgstr "De map {} bestaat al en is niet leeg. Wilt u deze toch gebruiken?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
diff --git a/src/tools/po/pl_PL.po b/src/tools/po/pl_PL.po
index 78d484fae..4c3a14b2c 100644
--- a/src/tools/po/pl_PL.po
+++ b/src/tools/po/pl_PL.po
@@ -32,7 +32,7 @@ msgstr "%d KDMy zapisane do %s"
#: src/tools/dcpomatic_combiner.cc:175
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "%1 już istnieje jako plik, więc nie możesz go użyć w Nowy Film."
+msgstr "{} już istnieje jako plik, więc nie możesz go użyć w Nowy Film."
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
#: src/tools/dcpomatic_player.cc:1391
@@ -375,12 +375,12 @@ msgstr "Nie udało się stworzyć DCP: %s."
#: src/tools/dcpomatic_player.cc:1368
#, fuzzy, c-format
msgid "Could not load DCP %s"
-msgstr "Nie można załadować DCP %1."
+msgstr "Nie można załadować DCP {}."
#: src/tools/dcpomatic_player.cc:866
#, fuzzy, c-format
msgid "Could not load DCP %s."
-msgstr "Nie można załadować DCP %1."
+msgstr "Nie można załadować DCP {}."
#: src/tools/dcpomatic_player.cc:626
#, c-format
@@ -404,17 +404,17 @@ msgid "Could not load a DCP from %s"
msgstr "Nie można załadować DCP z %s"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Nie można załadować Projektu %1"
+msgid "Could not load film {}"
+msgstr "Nie można załadować Projektu {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Nie można załadować Projektu %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Nie można załadować Projektu {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Nie można załadować Projektu %1"
+msgstr "Nie można załadować Projektu {}"
#: src/tools/dcpomatic.cc:879
msgid "Could not make DCP."
@@ -1108,10 +1108,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Katalog %1 już istnieje i nie jest pusty. Czy jesteś pewien, że chcesz go "
+"Katalog {} już istnieje i nie jest pusty. Czy jesteś pewien, że chcesz go "
"użyć?"
#: src/tools/dcpomatic_disk.cc:293
diff --git a/src/tools/po/pt_BR.po b/src/tools/po/pt_BR.po
index 53d48f59b..d7dc5c421 100644
--- a/src/tools/po/pt_BR.po
+++ b/src/tools/po/pt_BR.po
@@ -30,7 +30,7 @@ msgstr "%d KDMs salvos em %s"
#: src/tools/dcpomatic_combiner.cc:175
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "%1 é um arquivo já existente, você não pode usá-lo para um novo filme."
+msgstr "{} é um arquivo já existente, você não pode usá-lo para um novo filme."
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
#: src/tools/dcpomatic_player.cc:1391
@@ -374,17 +374,17 @@ msgstr ""
#: src/tools/dcpomatic_editor.cc:399
#, fuzzy
msgid "Could not load DCP"
-msgstr "Não foi possível carregar o DCP %1."
+msgstr "Não foi possível carregar o DCP {}."
#: src/tools/dcpomatic_player.cc:1368
#, fuzzy, c-format
msgid "Could not load DCP %s"
-msgstr "Não foi possível carregar o DCP %1."
+msgstr "Não foi possível carregar o DCP {}."
#: src/tools/dcpomatic_player.cc:866
#, fuzzy, c-format
msgid "Could not load DCP %s."
-msgstr "Não foi possível carregar o DCP %1."
+msgstr "Não foi possível carregar o DCP {}."
#: src/tools/dcpomatic_player.cc:626
#, fuzzy, c-format
@@ -392,7 +392,7 @@ msgid ""
"Could not load DCP.\n"
"\n"
"%s."
-msgstr "Não foi possível carregar o DCP %1."
+msgstr "Não foi possível carregar o DCP {}."
#: src/tools/dcpomatic_player.cc:814
msgid "Could not load KDM."
@@ -405,17 +405,17 @@ msgid "Could not load a DCP from %s"
msgstr ""
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Não foi possível carregar o filme %1"
+msgid "Could not load film {}"
+msgstr "Não foi possível carregar o filme {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Não conseguiu carregar o filme %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Não conseguiu carregar o filme {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Não foi possível carregar o filme %1"
+msgstr "Não foi possível carregar o filme {}"
#: src/tools/dcpomatic.cc:879
msgid "Could not make DCP."
@@ -1086,10 +1086,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"O diretório %1 já existe e não está vazio. Tem certeza de que quer usá-lo?"
+"O diretório {} já existe e não está vazio. Tem certeza de que quer usá-lo?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
diff --git a/src/tools/po/pt_PT.po b/src/tools/po/pt_PT.po
index 64ab3588f..18900c2f9 100644
--- a/src/tools/po/pt_PT.po
+++ b/src/tools/po/pt_PT.po
@@ -31,7 +31,7 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:175
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "O ficheiro %1 já existe, não o pode usar para um novo filme."
+msgstr "O ficheiro {} já existe, não o pode usar para um novo filme."
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
#: src/tools/dcpomatic_player.cc:1391
@@ -406,17 +406,17 @@ msgstr "Não foi possível produzir o DCP: %s"
#: src/tools/dcpomatic_batch.cc:496
#, fuzzy
-msgid "Could not load film %1"
-msgstr "Não foi possível carregar o filme %1 (%2)"
+msgid "Could not load film {}"
+msgstr "Não foi possível carregar o filme {} ({})"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Não foi possível carregar o filme %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Não foi possível carregar o filme {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Não foi possível carregar o filme %1 (%2)"
+msgstr "Não foi possível carregar o filme {} ({})"
#: src/tools/dcpomatic.cc:879
#, fuzzy
@@ -1086,10 +1086,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"O directório %1 já existe e não se encontra vazio. Tem a certeza que "
+"O directório {} já existe e não se encontra vazio. Tem a certeza que "
"pretende utilizá-lo?"
#: src/tools/dcpomatic_disk.cc:293
@@ -1359,5 +1359,5 @@ msgstr ""
#~ msgstr "&Analyser le son"
#, fuzzy
-#~ msgid "The directory %1 already exists."
+#~ msgid "The directory {} already exists."
#~ msgstr "Le dossier %s existe déjà."
diff --git a/src/tools/po/ru_RU.po b/src/tools/po/ru_RU.po
index ea9c40fa8..828b32518 100644
--- a/src/tools/po/ru_RU.po
+++ b/src/tools/po/ru_RU.po
@@ -403,12 +403,12 @@ msgid "Could not load a DCP from %s"
msgstr "Не удалось загрузить DCP из %s"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Не удалось загрузить проект %1"
+msgid "Could not load film {}"
+msgstr "Не удалось загрузить проект {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Не удалось загрузить проект %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Не удалось загрузить проект {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, c-format
@@ -1111,9 +1111,9 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
-msgstr "Папка %1 уже существует и не пуста. Вы точно хотите использовать её?"
+msgstr "Папка {} уже существует и не пуста. Вы точно хотите использовать её?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
diff --git a/src/tools/po/sk_SK.po b/src/tools/po/sk_SK.po
index 50ffa0c91..0fbefa36a 100644
--- a/src/tools/po/sk_SK.po
+++ b/src/tools/po/sk_SK.po
@@ -31,7 +31,7 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:175
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "%1 už existuje ako súbor, takže ho nemôžete použiť pre nový film."
+msgstr "{} už existuje ako súbor, takže ho nemôžete použiť pre nový film."
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
#: src/tools/dcpomatic_player.cc:1391
@@ -406,17 +406,17 @@ msgstr "Nemôžem vytvoriť DCP: %s"
#: src/tools/dcpomatic_batch.cc:496
#, fuzzy
-msgid "Could not load film %1"
-msgstr "Nemôžem načítať film %1 (%2)"
+msgid "Could not load film {}"
+msgstr "Nemôžem načítať film {} ({})"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Nemôžem načítať film %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Nemôžem načítať film {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Nemôžem načítať film %1 (%2)"
+msgstr "Nemôžem načítať film {} ({})"
#: src/tools/dcpomatic.cc:879
#, fuzzy
@@ -1082,9 +1082,9 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
-msgstr "Priečinok %1 už existuje a nie je prázdny. Chcete pokračovať ?"
+msgstr "Priečinok {} už existuje a nie je prázdny. Chcete pokračovať ?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
diff --git a/src/tools/po/sl_SI.po b/src/tools/po/sl_SI.po
index 3eb609c4d..853b26dd5 100644
--- a/src/tools/po/sl_SI.po
+++ b/src/tools/po/sl_SI.po
@@ -30,7 +30,7 @@ msgstr "%d KDM-jev, zapisanih v %s"
#: src/tools/dcpomatic_combiner.cc:175
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "%1 že obstaja kot datoteka, zato je ne morete uporabiti za DCP."
+msgstr "{} že obstaja kot datoteka, zato je ne morete uporabiti za DCP."
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
#: src/tools/dcpomatic_player.cc:1391
@@ -373,12 +373,12 @@ msgstr "DCP-ja ni mogoče naložiti."
#: src/tools/dcpomatic_player.cc:1368
#, fuzzy, c-format
msgid "Could not load DCP %s"
-msgstr "DCP-ja %1 ni bilo mogoče naložiti."
+msgstr "DCP-ja {} ni bilo mogoče naložiti."
#: src/tools/dcpomatic_player.cc:866
#, fuzzy, c-format
msgid "Could not load DCP %s."
-msgstr "DCP-ja %1 ni bilo mogoče naložiti."
+msgstr "DCP-ja {} ni bilo mogoče naložiti."
#: src/tools/dcpomatic_player.cc:626
#, c-format
@@ -402,17 +402,17 @@ msgid "Could not load a DCP from %s"
msgstr "DCP-ja ni bilo mogoče naložiti iz %s"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Filma %1 ni bilo mogoče naložiti"
+msgid "Could not load film {}"
+msgstr "Filma {} ni bilo mogoče naložiti"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Filma %1 (%2) ni bilo mogoče naložiti"
+msgid "Could not load film {} ({})"
+msgstr "Filma {} ({}) ni bilo mogoče naložiti"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Filma %1 ni bilo mogoče naložiti"
+msgstr "Filma {} ni bilo mogoče naložiti"
#: src/tools/dcpomatic.cc:879
msgid "Could not make DCP."
@@ -1119,10 +1119,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Mapa %1 že obstaja in ni prazna; ali ste prepričani, da jo želite uporabiti?"
+"Mapa {} že obstaja in ni prazna; ali ste prepričani, da jo želite uporabiti?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
diff --git a/src/tools/po/sv_SE.po b/src/tools/po/sv_SE.po
index da5819c61..de58df339 100644
--- a/src/tools/po/sv_SE.po
+++ b/src/tools/po/sv_SE.po
@@ -30,7 +30,7 @@ msgstr "%d KDM:er skrivna till %s"
#: src/tools/dcpomatic_combiner.cc:175
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
-msgstr "%1 finns redan som fil, så du kan inte använda den för en ny film."
+msgstr "{} finns redan som fil, så du kan inte använda den för en ny film."
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
#: src/tools/dcpomatic_player.cc:1391
@@ -372,12 +372,12 @@ msgstr "Kunde inte ladda DCP"
#: src/tools/dcpomatic_player.cc:1368
#, fuzzy, c-format
msgid "Could not load DCP %s"
-msgstr "Kunde inte ladda DCP %1."
+msgstr "Kunde inte ladda DCP {}."
#: src/tools/dcpomatic_player.cc:866
#, fuzzy, c-format
msgid "Could not load DCP %s."
-msgstr "Kunde inte ladda DCP %1."
+msgstr "Kunde inte ladda DCP {}."
#: src/tools/dcpomatic_player.cc:626
#, c-format
@@ -401,17 +401,17 @@ msgid "Could not load a DCP from %s"
msgstr "Kunde inte ladda DCP från %s"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Kunde inte ladda film %1"
+msgid "Could not load film {}"
+msgstr "Kunde inte ladda film {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Kunde inte ladda film %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Kunde inte ladda film {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Kunde inte ladda film %1"
+msgstr "Kunde inte ladda film {}"
#: src/tools/dcpomatic.cc:879
msgid "Could not make DCP."
@@ -1110,10 +1110,10 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Foldern %1 finns redan och är inte tom. Är du säker på att du vill använda "
+"Foldern {} finns redan och är inte tom. Är du säker på att du vill använda "
"den?"
#: src/tools/dcpomatic_disk.cc:293
@@ -1407,5 +1407,5 @@ msgstr "Du har inte valt en mapp. Välj en mapp innan du klickar på öppna."
#~ msgid "&Analyse audio"
#~ msgstr "&Analysera audio"
-#~ msgid "The directory %1 already exists."
-#~ msgstr "Katalogen %1 finns redan."
+#~ msgid "The directory {} already exists."
+#~ msgstr "Katalogen {} finns redan."
diff --git a/src/tools/po/tr_TR.po b/src/tools/po/tr_TR.po
index 47a6809ab..ba8610e14 100644
--- a/src/tools/po/tr_TR.po
+++ b/src/tools/po/tr_TR.po
@@ -390,11 +390,11 @@ msgid "Could not load a DCP from %s"
msgstr ""
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
+msgid "Could not load film {}"
msgstr ""
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
+msgid "Could not load film {} ({})"
msgstr ""
#: src/tools/dcpomatic_player.cc:1376
@@ -1054,7 +1054,7 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
#, fuzzy
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
msgstr "Bitmemiş görevler var, çıkmak istediğinize emin misiniz?"
diff --git a/src/tools/po/uk_UA.po b/src/tools/po/uk_UA.po
index aaaea2cb6..ab1f07f71 100644
--- a/src/tools/po/uk_UA.po
+++ b/src/tools/po/uk_UA.po
@@ -29,7 +29,7 @@ msgstr "%d KDM-ключі записані в %s"
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a DCP."
msgstr ""
-"%1 вже існує як файл, тому ви не можете використовувати його для нового "
+"{} вже існує як файл, тому ви не можете використовувати його для нового "
"проекту."
#: src/tools/dcpomatic_disk.cc:507 src/tools/dcpomatic_kdm.cc:945
@@ -378,12 +378,12 @@ msgstr "Не вдалося завантажити DCP"
#: src/tools/dcpomatic_player.cc:1368
#, fuzzy, c-format
msgid "Could not load DCP %s"
-msgstr "Не вдалося завантажити DCP %1."
+msgstr "Не вдалося завантажити DCP {}."
#: src/tools/dcpomatic_player.cc:866
#, fuzzy, c-format
msgid "Could not load DCP %s."
-msgstr "Не вдалося завантажити DCP %1."
+msgstr "Не вдалося завантажити DCP {}."
#: src/tools/dcpomatic_player.cc:626
#, fuzzy, c-format
@@ -391,7 +391,7 @@ msgid ""
"Could not load DCP.\n"
"\n"
"%s."
-msgstr "Не вдалося завантажити DCP %1."
+msgstr "Не вдалося завантажити DCP {}."
#: src/tools/dcpomatic_player.cc:814
msgid "Could not load KDM."
@@ -404,17 +404,17 @@ msgid "Could not load a DCP from %s"
msgstr ""
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "Не вдалося завантажити проект %1"
+msgid "Could not load film {}"
+msgstr "Не вдалося завантажити проект {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "Не вдалося завантажити проект %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "Не вдалося завантажити проект {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, fuzzy, c-format
msgid "Could not load stress test file %s"
-msgstr "Не вдалося завантажити проект %1"
+msgstr "Не вдалося завантажити проект {}"
#: src/tools/dcpomatic.cc:879
msgid "Could not make DCP."
@@ -1081,9 +1081,9 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
-msgstr "Папка %1 вже існує і не пуста. Ви точно хочете використовувати її?"
+msgstr "Папка {} вже існує і не пуста. Ви точно хочете використовувати її?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
diff --git a/src/tools/po/zh_CN.po b/src/tools/po/zh_CN.po
index e3fddf6ec..b9cd4b336 100644
--- a/src/tools/po/zh_CN.po
+++ b/src/tools/po/zh_CN.po
@@ -405,12 +405,12 @@ msgid "Could not load a DCP from %s"
msgstr "无法从 %s 载入DCP"
#: src/tools/dcpomatic_batch.cc:496
-msgid "Could not load film %1"
-msgstr "无法加载工程 %1"
+msgid "Could not load film {}"
+msgstr "无法加载工程 {}"
#: src/tools/dcpomatic.cc:1735
-msgid "Could not load film %1 (%2)"
-msgstr "无法加载工程 %1 (%2)"
+msgid "Could not load film {} ({})"
+msgstr "无法加载工程 {} ({})"
#: src/tools/dcpomatic_player.cc:1376
#, c-format
@@ -1083,9 +1083,9 @@ msgstr ""
#: src/tools/dcpomatic_combiner.cc:165
msgid ""
-"The directory %1 already exists and is not empty. Are you sure you want to "
+"The directory {} already exists and is not empty. Are you sure you want to "
"use it?"
-msgstr "目录 %1 已经存在且不为空。确定要使用它?"
+msgstr "目录 {} 已经存在且不为空。确定要使用它?"
#: src/tools/dcpomatic_disk.cc:293
msgid "The disk you selected is no longer available. Please choose another."
@@ -1456,5 +1456,5 @@ msgstr "您没有选择文件夹。请确保您单击打开之前,选择一个
#~ msgstr "&Analizar audio"
#, fuzzy
-#~ msgid "The directory %1 already exists."
+#~ msgid "The directory {} already exists."
#~ msgstr "La carpeta %s ya existe."
diff --git a/src/wx/about_dialog.cc b/src/wx/about_dialog.cc
index 2abf0ef17..c4cbde70a 100644
--- a/src/wx/about_dialog.cc
+++ b/src/wx/about_dialog.cc
@@ -61,9 +61,9 @@ AboutDialog::AboutDialog(wxWindow* parent)
wxString s;
if (strcmp(dcpomatic_git_commit, "release") == 0) {
- t = new StaticText(this, std_to_wx(String::compose("Version %1", dcpomatic_version)));
+ t = new StaticText(this, std_to_wx(fmt::format("Version {}", dcpomatic_version)));
} else {
- t = new StaticText(this, std_to_wx(String::compose("Version %1 git %2", dcpomatic_version, dcpomatic_git_commit)));
+ t = new StaticText(this, std_to_wx(fmt::format("Version {} git {}", dcpomatic_version, dcpomatic_git_commit)));
}
t->SetFont(version_font);
sizer->Add(t, wxSizerFlags().Centre().Border(wxALL, 2));
diff --git a/src/wx/audio_plot.cc b/src/wx/audio_plot.cc
index ad478ddd0..d1d9b9769 100644
--- a/src/wx/audio_plot.cc
+++ b/src/wx/audio_plot.cc
@@ -197,7 +197,7 @@ AudioPlot::paint ()
int const y = (metrics.height - (i - _minimum) * metrics.y_scale) - metrics.y_origin;
h_grid.MoveToPoint (metrics.db_label_width - 4, y);
h_grid.AddLineToPoint (metrics.db_label_width + data_width, y);
- gc->DrawText (std_to_wx (String::compose ("%1dB", i)), 0, y - (db_label_height / 2));
+ gc->DrawText (std_to_wx (fmt::format("{}dB", i)), 0, y - (db_label_height / 2));
}
wxColour const grid_colour = gui_is_dark() ? wxColour(80, 80, 80) : wxColour(200, 200, 200);
diff --git a/src/wx/barco_alchemy_certificate_panel.cc b/src/wx/barco_alchemy_certificate_panel.cc
index 34b2aa82e..f5475fa76 100644
--- a/src/wx/barco_alchemy_certificate_panel.cc
+++ b/src/wx/barco_alchemy_certificate_panel.cc
@@ -61,8 +61,8 @@ BarcoAlchemyCertificatePanel::do_download ()
{
string serial = wx_to_std (_serial->GetValue());
trim(serial);
- string url = String::compose (
- "sftp://%1:%2@certificates.barco.com/%3xxx/%4/Barco-ICMP.%5_cert.pem",
+ string url = fmt::format(
+ "sftp://{}:{}@certificates.barco.com/{}xxx/{}/Barco-ICMP.{}_cert.pem",
Config::instance()->barco_username().get(),
Config::instance()->barco_password().get(),
serial.substr(0, 7),
diff --git a/src/wx/christie_certificate_panel.cc b/src/wx/christie_certificate_panel.cc
index 3536f5045..1218657f7 100644
--- a/src/wx/christie_certificate_panel.cc
+++ b/src/wx/christie_certificate_panel.cc
@@ -50,8 +50,8 @@ ChristieCertificatePanel::ChristieCertificatePanel (DownloadCertificateDialog* d
void
ChristieCertificatePanel::do_download ()
{
- string const prefix = String::compose(
- "ftp://%1:%2@certificates.christiedigital.com/Certificates/",
+ string const prefix = fmt::format(
+ "ftp://{}:{}@certificates.christiedigital.com/Certificates/",
Config::instance()->christie_username().get(),
Config::instance()->christie_password().get()
);
@@ -59,7 +59,7 @@ ChristieCertificatePanel::do_download ()
string serial = wx_to_std (_serial->GetValue());
serial.insert (0, 12 - serial.length(), '0');
- string const url = String::compose ("%1F-IMB/F-IMB_%2_sha256.pem", prefix, serial);
+ string const url = fmt::format("{}F-IMB/F-IMB_{}_sha256.pem", prefix, serial);
optional<string> all_errors;
bool ok = true;
@@ -68,7 +68,7 @@ ChristieCertificatePanel::do_download ()
if (error) {
all_errors = *error;
- auto const url = String::compose ("%1IMB-S2/IMB-S2_%2_sha256.pem", prefix, serial);
+ auto const url = fmt::format("{}IMB-S2/IMB-S2_{}_sha256.pem", prefix, serial);
error = get_from_url (url, true, false, boost::bind(&DownloadCertificatePanel::load_certificate_from_chain, this, _1, _2));
if (error) {
diff --git a/src/wx/closed_captions_dialog.cc b/src/wx/closed_captions_dialog.cc
index b8618c0cd..e95da4863 100644
--- a/src/wx/closed_captions_dialog.cc
+++ b/src/wx/closed_captions_dialog.cc
@@ -254,7 +254,7 @@ ClosedCaptionsDialog::update_tracks (shared_ptr<const Film> film)
_track->Clear ();
for (auto const& i: _tracks) {
- _track->Append(std_to_wx(String::compose("%1 (%2)", i.name, i.language ? i.language->as_string() : wx_to_std(_("Unknown")))));
+ _track->Append(std_to_wx(fmt::format("{} ({})", i.name, i.language ? i.language->as_string() : wx_to_std(_("Unknown")))));
}
if (_track->GetCount() > 0) {
diff --git a/src/wx/dolby_doremi_certificate_panel.cc b/src/wx/dolby_doremi_certificate_panel.cc
index 24d8eb31a..4ddb8fc8f 100644
--- a/src/wx/dolby_doremi_certificate_panel.cc
+++ b/src/wx/dolby_doremi_certificate_panel.cc
@@ -66,28 +66,28 @@ DolbyDoremiCertificatePanel::DolbyDoremiCertificatePanel (DownloadCertificateDia
static void
try_common(vector<Location>& locations, string prefix, string serial)
{
- auto files = ls_url(String::compose("%1%2xxx/", prefix, serial.substr(0, 3)));
+ auto files = ls_url(fmt::format("{}{}xxx/", prefix, serial.substr(0, 3)));
auto check = [&locations, prefix, files, serial](string format, string file) {
- auto const zip = String::compose(format, serial);
+ auto const zip = fmt::format(format, serial);
if (find(files.begin(), files.end(), zip) != files.end()) {
locations.push_back({
- String::compose("%1%2xxx/%3", prefix, serial.substr(0, 3), zip),
- String::compose(file, serial)
+ fmt::format("{}{}xxx/{}", prefix, serial.substr(0, 3), zip),
+ fmt::format(file, serial)
});
}
};
- check("Dolby-DCP2000-%1.dcicerts.zip", "Dolby-DCP2000-%1.cert.sha256.pem");
- check("Dolby-DCP2000-%1.certs.zip", "Dolby-DCP2000-%1.cert.sha256.pem");
- check("dcp2000-%1.dcicerts.zip", "dcp2000-%1.cert.sha256.pem");
- check("dcp2000-%1.certs.zip", "dcp2000-%1.cert.sha256.pem");
- check("Dolby-IMB-%1.dcicerts.zip", "Dolby-IMB-%1.cert.sha256.pem");
- check("imb-%1.dcicerts.zip", "imb-%1.cert.sha256.pem");
- check("Dolby-IMS1000-%1.dcicerts.zip", "Dolby-IMS1000-%1.cert.sha256.pem");
- check("Dolby-IMS2000-%1.dcicerts.zip", "Dolby-IMS2000-%1.cert.sha256.pem");
- check("cert_Dolby-IMS3000-%1-SMPTE.zip", "cert_Dolby-IMS3000-%1-SMPTE.pem");
- check("ims-%1.dcicerts.zip", "ims-%1.cert.sha256.pem");
+ check("Dolby-DCP2000-{}.dcicerts.zip", "Dolby-DCP2000-{}.cert.sha256.pem");
+ check("Dolby-DCP2000-{}.certs.zip", "Dolby-DCP2000-{}.cert.sha256.pem");
+ check("dcp2000-{}.dcicerts.zip", "dcp2000-{}.cert.sha256.pem");
+ check("dcp2000-{}.certs.zip", "dcp2000-{}.cert.sha256.pem");
+ check("Dolby-IMB-{}.dcicerts.zip", "Dolby-IMB-{}.cert.sha256.pem");
+ check("imb-{}.dcicerts.zip", "imb-{}.cert.sha256.pem");
+ check("Dolby-IMS1000-{}.dcicerts.zip", "Dolby-IMS1000-{}.cert.sha256.pem");
+ check("Dolby-IMS2000-{}.dcicerts.zip", "Dolby-IMS2000-{}.cert.sha256.pem");
+ check("cert_Dolby-IMS3000-{}-SMPTE.zip", "cert_Dolby-IMS3000-{}-SMPTE.pem");
+ check("ims-{}.dcicerts.zip", "ims-{}.cert.sha256.pem");
}
@@ -103,12 +103,12 @@ try_cat862(vector<Location>& locations, string prefix, string serial)
cat862 = "CAT862_617000_and_higher";
} else {
int const lower = serial_int - (serial_int % 1000);
- cat862 = String::compose ("CAT862_%1-%2", lower, lower + 999);
+ cat862 = fmt::format("CAT862_{}-{}", lower, lower + 999);
}
locations.push_back({
- String::compose("%1%2/cert_Dolby256-CAT862-%3.zip", prefix, cat862, serial_int),
- String::compose("cert_Dolby256-CAT862-%1.pem.crt", serial_int)
+ fmt::format("{}{}/cert_Dolby256-CAT862-{}.zip", prefix, cat862, serial_int),
+ fmt::format("cert_Dolby256-CAT862-{}.pem.crt", serial_int)
});
}
@@ -125,12 +125,12 @@ try_dsp100(vector<Location>& locations, string prefix, string serial)
dsp100 = "DSP100_3000_and_higher";
} else {
int const lower = serial_int - (serial_int % 1000);
- dsp100 = String::compose ("DSP100_%1_thru_%2", lower, lower + 999);
+ dsp100 = fmt::format("DSP100_{}_thru_{}", lower, lower + 999);
}
locations.push_back({
- String::compose("%1%2/cert_Dolby256-DSP100-%3.zip", prefix, dsp100, serial_int),
- String::compose("cert_Dolby256-DSP100-%1.pem.crt", serial_int)
+ fmt::format("{}{}/cert_Dolby256-DSP100-{}.zip", prefix, dsp100, serial_int),
+ fmt::format("cert_Dolby256-DSP100-{}.pem.crt", serial_int)
});
}
@@ -147,12 +147,12 @@ try_cat745(vector<Location>& locations, string prefix, string serial)
cat745 = "CAT745_6000_and_higher";
} else {
int const lower = serial_int - (serial_int % 1000);
- cat745 = String::compose("CAT745_%1_thru_%2", lower, lower + 999);
+ cat745 = fmt::format("CAT745_{}_thru_{}", lower, lower + 999);
}
locations.push_back({
- String::compose("%1%2/cert_Dolby-CAT745-%3.zip", prefix, cat745, serial_int),
- String::compose("cert_Dolby-CAT745-%1.pem.crt", serial_int)
+ fmt::format("{}{}/cert_Dolby-CAT745-{}.zip", prefix, cat745, serial_int),
+ fmt::format("cert_Dolby-CAT745-{}.pem.crt", serial_int)
});
}
@@ -164,8 +164,8 @@ try_cp850(vector<Location>& locations, string prefix, string serial)
int const lower = serial_int - (serial_int % 1000);
locations.push_back({
- String::compose ("%1CP850_CAT1600_F%2-F%3/cert_RMB_SPB_MDE_FMA.Dolby-CP850-F%4.zip", prefix, lower, lower + 999, serial_int),
- String::compose ("cert_RMB_SPB_MDE_FMA.Dolby-CP850-F%1.pem.crt", serial_int)
+ fmt::format("{}CP850_CAT1600_F{}-F{}/cert_RMB_SPB_MDE_FMA.Dolby-CP850-F{}.zip", prefix, lower, lower + 999, serial_int),
+ fmt::format("cert_RMB_SPB_MDE_FMA.Dolby-CP850-F{}.pem.crt", serial_int)
});
}
diff --git a/src/wx/download_certificate_panel.cc b/src/wx/download_certificate_panel.cc
index 8f826315d..1a3896773 100644
--- a/src/wx/download_certificate_panel.cc
+++ b/src/wx/download_certificate_panel.cc
@@ -64,7 +64,7 @@ DownloadCertificatePanel::load_certificate (boost::filesystem::path file, string
_certificate = dcp::Certificate (dcp::file_to_string(file));
_url = url;
} catch (dcp::MiscError& e) {
- return String::compose(wx_to_std(_("Could not read certificate file (%1)")), e.what());
+ return fmt::format(wx_to_std(_("Could not read certificate file ({})")), e.what());
}
return {};
}
@@ -77,7 +77,7 @@ DownloadCertificatePanel::load_certificate_from_chain (boost::filesystem::path f
_certificate = dcp::CertificateChain(dcp::file_to_string(file)).leaf();
_url = url;
} catch (dcp::MiscError& e) {
- return String::compose(wx_to_std(_("Could not read certificate file (%1)")), e.what());
+ return fmt::format(wx_to_std(_("Could not read certificate file ({})")), e.what());
}
return {};
}
diff --git a/src/wx/gdc_certificate_panel.cc b/src/wx/gdc_certificate_panel.cc
index 7e81c5a60..e937cff2a 100644
--- a/src/wx/gdc_certificate_panel.cc
+++ b/src/wx/gdc_certificate_panel.cc
@@ -56,8 +56,8 @@ GDCCertificatePanel::do_download ()
{
string serial = wx_to_std (_serial->GetValue());
trim(serial);
- string url = String::compose(
- "ftp://%1:%2@ftp.gdc-tech.com/SHA256/%3.crt.pem",
+ string url = fmt::format(
+ "ftp://{}:{}@ftp.gdc-tech.com/SHA256/{}.crt.pem",
Config::instance()->gdc_username().get(),
Config::instance()->gdc_password().get(),
serial
diff --git a/src/wx/gl_video_view.cc b/src/wx/gl_video_view.cc
index 4ca5af21a..d1107f94f 100644
--- a/src/wx/gl_video_view.cc
+++ b/src/wx/gl_video_view.cc
@@ -109,7 +109,7 @@ GLVideoView::size_changed(wxSizeEvent const& ev)
int const width = std::round(ev.GetSize().GetWidth() * scale);
int const height = std::round(ev.GetSize().GetHeight() * scale);
_canvas_size = { width, height };
- LOG_GENERAL("GLVideoView canvas size changed to %1x%2", width, height);
+ LOG_GENERAL("GLVideoView canvas size changed to {}x{}", width, height);
Sized();
}
@@ -139,7 +139,7 @@ GLVideoView::check_for_butler_errors()
error_dialog(get(), wxString::Format(_("Could not read DCP: %s"), std_to_wx(e.what())));
}
- LOG_DEBUG_PLAYER("Latency %1", _viewer->average_latency());
+ LOG_DEBUG_PLAYER("Latency {}", _viewer->average_latency());
}
@@ -443,7 +443,7 @@ GLVideoView::setup_shaders()
log = string(log_char.data());
}
glDeleteShader(shader);
- throw GLError(String::compose("Could not compile shader (%1)", log).c_str(), -1);
+ throw GLError(fmt::format("Could not compile shader ({})", log).c_str(), -1);
}
return shader;
};
@@ -471,7 +471,7 @@ GLVideoView::setup_shaders()
log = string(log_char.data());
}
glDeleteProgram(program);
- throw GLError(String::compose("Could not link shader (%1)", log).c_str(), -1);
+ throw GLError(fmt::format("Could not link shader ({})", log).c_str(), -1);
}
glDeleteShader(vertex_shader);
glDeleteShader(fragment_shader);
diff --git a/src/wx/name_format_editor.cc b/src/wx/name_format_editor.cc
index ce0760486..f811871e3 100644
--- a/src/wx/name_format_editor.cc
+++ b/src/wx/name_format_editor.cc
@@ -45,7 +45,7 @@ NameFormatEditor::NameFormatEditor (wxWindow* parent, dcp::NameFormat name, dcp:
auto titles_sizer = new wxFlexGridSizer (2);
for (auto const& i: titles) {
- auto t = new StaticText (_panel, std_to_wx (String::compose ("%%%1 %2", i.first, i.second)));
+ auto t = new StaticText (_panel, std_to_wx (fmt::format("%%{} {}", i.first, i.second)));
titles_sizer->Add(t, 1, wxRIGHT, DCPOMATIC_SIZER_X_GAP);
auto font = t->GetFont();
font.SetStyle (wxFONTSTYLE_ITALIC);
diff --git a/src/wx/player_information.cc b/src/wx/player_information.cc
index 9b8aafd18..da73ec933 100644
--- a/src/wx/player_information.cc
+++ b/src/wx/player_information.cc
@@ -178,8 +178,8 @@ PlayerInformation::triggered_update ()
vfr = dcp->video_frame_rate ();
DCPOMATIC_ASSERT (vfr);
- auto const len = String::compose(
- wx_to_std(_("Length: %1 (%2 frames)")),
+ auto const len = fmt::format(
+ wx_to_std(_("Length: {} ({} frames)")),
time_to_hmsf(dcp->full_length(_viewer.film()), lrint(*vfr)),
dcp->full_length(_viewer.film()).frames_round(*vfr)
);
diff --git a/src/wx/po/cs_CZ.po b/src/wx/po/cs_CZ.po
index 16f18f4a1..0b49a6588 100644
--- a/src/wx/po/cs_CZ.po
+++ b/src/wx/po/cs_CZ.po
@@ -1004,7 +1004,7 @@ msgstr "Nelze načíst DCP: %s"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr "Nelze načíst soubor certifikátu (% 1)"
#: src/wx/certificate_chain_editor.cc:195
@@ -1949,8 +1949,8 @@ msgid "Length"
msgstr "Délka"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Délka: %1 (%2 snímků)"
+msgid "Length: {} ({} frames)"
+msgstr "Délka: {} ({} snímků)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
diff --git a/src/wx/po/da_DK.po b/src/wx/po/da_DK.po
index fd71448b0..66ae5933b 100644
--- a/src/wx/po/da_DK.po
+++ b/src/wx/po/da_DK.po
@@ -94,7 +94,7 @@ msgstr ""
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a film."
msgstr ""
-"%1 eksisterer allerede som en fil, så du kan ikke bruge det til en film."
+"{} eksisterer allerede som en fil, så du kan ikke bruge det til en film."
#: src/wx/audio_dialog.cc:170 src/wx/audio_dialog.cc:172
#, fuzzy, c-format
@@ -1033,7 +1033,7 @@ msgstr "Kunne ikke indlæse KDM"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
#, fuzzy
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr "Kunne ikke læse certifikatfil."
#: src/wx/certificate_chain_editor.cc:195
@@ -1980,8 +1980,8 @@ msgid "Length"
msgstr "Længde"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Længde: %1 (%2 billeder)"
+msgid "Length: {} ({} frames)"
+msgstr "Længde: {} ({} billeder)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3629,7 +3629,7 @@ msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Folderen %1 eksisterer allerede og er ikke tom. Er du sikker på at du vil "
+"Folderen {} eksisterer allerede og er ikke tom. Er du sikker på at du vil "
"benytte den?"
#: src/wx/try_unmount_dialog.cc:44
diff --git a/src/wx/po/de_DE.po b/src/wx/po/de_DE.po
index 3fd42efae..5b265b450 100644
--- a/src/wx/po/de_DE.po
+++ b/src/wx/po/de_DE.po
@@ -95,7 +95,7 @@ msgstr ""
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a film."
msgstr ""
-"%1 existiert hier bereits als Dateiname, Sie müssen einen anderen Namen "
+"{} existiert hier bereits als Dateiname, Sie müssen einen anderen Namen "
"wählen!"
#: src/wx/audio_dialog.cc:170 src/wx/audio_dialog.cc:172
@@ -1060,7 +1060,7 @@ msgstr "Konnte KDM nicht laden"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
#, fuzzy
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr "Konnte die Zertifikatsdatei nicht lesen."
#: src/wx/certificate_chain_editor.cc:195
@@ -2052,8 +2052,8 @@ msgid "Length"
msgstr "Länge"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Länge: %1 (%2 Bilder)"
+msgid "Length: {} ({} frames)"
+msgstr "Länge: {} ({} Bilder)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3733,7 +3733,7 @@ msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Das Verzeichnis %1 existiert bereits und ist nicht leer. Wollen Sie es "
+"Das Verzeichnis {} existiert bereits und ist nicht leer. Wollen Sie es "
"dennoch verwenden?"
#: src/wx/try_unmount_dialog.cc:44
diff --git a/src/wx/po/es_ES.po b/src/wx/po/es_ES.po
index 02cec77d3..3123f9a60 100644
--- a/src/wx/po/es_ES.po
+++ b/src/wx/po/es_ES.po
@@ -93,7 +93,7 @@ msgstr "Preferencias DVD-o-matic"
#: src/wx/film_name_location_dialog.cc:156
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a film."
-msgstr "%1 ya existe como fichero, no puede usarlo para una película."
+msgstr "{} ya existe como fichero, no puede usarlo para una película."
#: src/wx/audio_dialog.cc:170 src/wx/audio_dialog.cc:172
#, fuzzy, c-format
@@ -1036,7 +1036,7 @@ msgstr "No se pudo cargar la KDM."
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
#, fuzzy
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr "No se pudo leer el fichero de certificado."
#: src/wx/certificate_chain_editor.cc:195
@@ -1992,8 +1992,8 @@ msgid "Length"
msgstr "Longitud"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Longitud: %1 (%2 imágenes)"
+msgid "Length: {} ({} frames)"
+msgstr "Longitud: {} ({} imágenes)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3651,7 +3651,7 @@ msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"La carpeta %1 ya existe y no está vacía. ¿Está seguro de querer usarla?"
+"La carpeta {} ya existe y no está vacía. ¿Está seguro de querer usarla?"
#: src/wx/try_unmount_dialog.cc:44
#, c-format
diff --git a/src/wx/po/fa_IR.po b/src/wx/po/fa_IR.po
index 9ce33de2e..ae8472fac 100644
--- a/src/wx/po/fa_IR.po
+++ b/src/wx/po/fa_IR.po
@@ -1005,8 +1005,8 @@ msgstr "نمیتوان این دی سی پی را خواند: %s"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
-msgstr "نمیتوان این فایل گواهی نامه را خواند (%1)"
+msgid "Could not read certificate file ({})"
+msgstr "نمیتوان این فایل گواهی نامه را خواند ({})"
#: src/wx/certificate_chain_editor.cc:195
#: src/wx/certificate_chain_editor.cc:382 src/wx/recipient_dialog.cc:158
@@ -1948,8 +1948,8 @@ msgid "Length"
msgstr "مدت"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "مدت: %1 (%2 فریم)"
+msgid "Length: {} ({} frames)"
+msgstr "مدت: {} ({} فریم)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
diff --git a/src/wx/po/fr_FR.po b/src/wx/po/fr_FR.po
index 49051c422..0fc3f22ee 100644
--- a/src/wx/po/fr_FR.po
+++ b/src/wx/po/fr_FR.po
@@ -1020,8 +1020,8 @@ msgstr "Impossible de lire le DCP : %s"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
-msgstr "Impossible de lire le fichier de certificat (%1)"
+msgid "Could not read certificate file ({})"
+msgstr "Impossible de lire le fichier de certificat ({})"
#: src/wx/certificate_chain_editor.cc:195
#: src/wx/certificate_chain_editor.cc:382 src/wx/recipient_dialog.cc:158
@@ -1975,8 +1975,8 @@ msgid "Length"
msgstr "Durée"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Durée : %1 (%2 images)"
+msgid "Length: {} ({} frames)"
+msgstr "Durée : {} ({} images)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3626,7 +3626,7 @@ msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Le répertoire %1 existe déjà et n'est pas vide. Êtes-vous sûr de vouloir "
+"Le répertoire {} existe déjà et n'est pas vide. Êtes-vous sûr de vouloir "
"l'utiliser ?"
#: src/wx/try_unmount_dialog.cc:44
diff --git a/src/wx/po/hu_HU.po b/src/wx/po/hu_HU.po
index f7f1b1967..f9daf0ede 100644
--- a/src/wx/po/hu_HU.po
+++ b/src/wx/po/hu_HU.po
@@ -989,7 +989,7 @@ msgstr ""
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr ""
#: src/wx/certificate_chain_editor.cc:195
@@ -1898,7 +1898,7 @@ msgid "Length"
msgstr ""
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
+msgid "Length: {} ({} frames)"
msgstr ""
#: src/wx/text_panel.cc:104
diff --git a/src/wx/po/it_IT.po b/src/wx/po/it_IT.po
index 7c0f1576a..b24292bda 100644
--- a/src/wx/po/it_IT.po
+++ b/src/wx/po/it_IT.po
@@ -93,7 +93,7 @@ msgstr "Preferenze DVD-o-matic"
#: src/wx/film_name_location_dialog.cc:156
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a film."
-msgstr "%1 esiste già come file, quindi non puoi usarlo per il film."
+msgstr "{} esiste già come file, quindi non puoi usarlo per il film."
#: src/wx/audio_dialog.cc:170 src/wx/audio_dialog.cc:172
#, fuzzy, c-format
@@ -1035,7 +1035,7 @@ msgstr "Impossibile caricare la KDM (%s)"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
#, fuzzy
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr "Impossibile leggere il file del certificato."
#: src/wx/certificate_chain_editor.cc:195
@@ -1983,8 +1983,8 @@ msgid "Length"
msgstr "Lunghezza"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Lunghezza: %1 (%2 fotogrammi)"
+msgid "Length: {} ({} frames)"
+msgstr "Lunghezza: {} ({} fotogrammi)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3635,7 +3635,7 @@ msgstr ""
msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
-msgstr "La directory %1 esiste già e non è vuota. Sei sicuro di volerla usare?"
+msgstr "La directory {} esiste già e non è vuota. Sei sicuro di volerla usare?"
#: src/wx/try_unmount_dialog.cc:44
#, c-format
diff --git a/src/wx/po/nl_NL.po b/src/wx/po/nl_NL.po
index 1e4e0c5d2..514ce11fa 100644
--- a/src/wx/po/nl_NL.po
+++ b/src/wx/po/nl_NL.po
@@ -1018,8 +1018,8 @@ msgstr "Kan DCP niet lezen: %s"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
-msgstr "Kan certificaat-bestand niet lezen (%1)"
+msgid "Could not read certificate file ({})"
+msgstr "Kan certificaat-bestand niet lezen ({})"
#: src/wx/certificate_chain_editor.cc:195
#: src/wx/certificate_chain_editor.cc:382 src/wx/recipient_dialog.cc:158
@@ -1964,8 +1964,8 @@ msgid "Length"
msgstr "Lengte"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Lengte: %1 (%2 frames)"
+msgid "Length: {} ({} frames)"
+msgstr "Lengte: {} ({} frames)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
diff --git a/src/wx/po/pl_PL.po b/src/wx/po/pl_PL.po
index 4d28e391c..d703fcea8 100644
--- a/src/wx/po/pl_PL.po
+++ b/src/wx/po/pl_PL.po
@@ -95,7 +95,7 @@ msgstr ""
#: src/wx/film_name_location_dialog.cc:156
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a film."
-msgstr "%1 istnieje już jako plik, więc nie możesz użyć go w Projekcie."
+msgstr "{} istnieje już jako plik, więc nie możesz użyć go w Projekcie."
#: src/wx/audio_dialog.cc:170 src/wx/audio_dialog.cc:172
#, fuzzy, c-format
@@ -1039,8 +1039,8 @@ msgstr "Nie udało się odczytać DCP: %s"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
-msgstr "Nie udało się odczytać pliku certyfikatu (%1)"
+msgid "Could not read certificate file ({})"
+msgstr "Nie udało się odczytać pliku certyfikatu ({})"
#: src/wx/certificate_chain_editor.cc:195
#: src/wx/certificate_chain_editor.cc:382 src/wx/recipient_dialog.cc:158
@@ -2002,8 +2002,8 @@ msgid "Length"
msgstr "Długość"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Długość: %1 (%2 klatki)"
+msgid "Length: {} ({} frames)"
+msgstr "Długość: {} ({} klatki)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3679,7 +3679,7 @@ msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Lokalizacja %1 już istnieje i nie jest pusta. Na pewno chcesz jej użyć?"
+"Lokalizacja {} już istnieje i nie jest pusta. Na pewno chcesz jej użyć?"
#: src/wx/try_unmount_dialog.cc:44
#, fuzzy, c-format
diff --git a/src/wx/po/pt_BR.po b/src/wx/po/pt_BR.po
index 7244a5f21..ecd2ecdb6 100644
--- a/src/wx/po/pt_BR.po
+++ b/src/wx/po/pt_BR.po
@@ -94,7 +94,7 @@ msgstr ""
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a film."
msgstr ""
-"%1 já existe como um arquivo, portanto você não pode usá-lo para um filme."
+"{} já existe como um arquivo, portanto você não pode usá-lo para um filme."
#: src/wx/audio_dialog.cc:170 src/wx/audio_dialog.cc:172
#, fuzzy, c-format
@@ -1040,7 +1040,7 @@ msgstr "Não foi possível carregar o KDM."
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
#, fuzzy
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr "Não foi possível ler o arquivo de certificado."
#: src/wx/certificate_chain_editor.cc:195
@@ -1994,8 +1994,8 @@ msgid "Length"
msgstr "Duração"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Duração: %1 (%2 quadros)"
+msgid "Length: {} ({} frames)"
+msgstr "Duração: {} ({} quadros)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3654,7 +3654,7 @@ msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"O diretório %1 já existe e não está vazio. Tem certeza que deseja usá-lo?"
+"O diretório {} já existe e não está vazio. Tem certeza que deseja usá-lo?"
#: src/wx/try_unmount_dialog.cc:44
#, c-format
diff --git a/src/wx/po/pt_PT.po b/src/wx/po/pt_PT.po
index c2aa17dfa..c92423725 100644
--- a/src/wx/po/pt_PT.po
+++ b/src/wx/po/pt_PT.po
@@ -1036,7 +1036,7 @@ msgstr "Não foi possível carregar a KDM (%s)"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
#, fuzzy
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr "Não foi possível ler o ficheiro do certificado (%s)"
#: src/wx/certificate_chain_editor.cc:195
@@ -1994,7 +1994,7 @@ msgid "Length"
msgstr ""
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
+msgid "Length: {} ({} frames)"
msgstr ""
#: src/wx/text_panel.cc:104
diff --git a/src/wx/po/ru_RU.po b/src/wx/po/ru_RU.po
index d034e563c..d749408d5 100644
--- a/src/wx/po/ru_RU.po
+++ b/src/wx/po/ru_RU.po
@@ -1007,8 +1007,8 @@ msgstr "Не удалось прочитать DCP: %s"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
-msgstr "Не удалось прочитать файл сертификата (%1)"
+msgid "Could not read certificate file ({})"
+msgstr "Не удалось прочитать файл сертификата ({})"
#: src/wx/certificate_chain_editor.cc:195
#: src/wx/certificate_chain_editor.cc:382 src/wx/recipient_dialog.cc:158
@@ -1957,8 +1957,8 @@ msgid "Length"
msgstr "Продолжительность"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Продолжительность: %1 (%2 кадра(ов))"
+msgid "Length: {} ({} frames)"
+msgstr "Продолжительность: {} ({} кадра(ов))"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
diff --git a/src/wx/po/sk_SK.po b/src/wx/po/sk_SK.po
index 5fc6c811c..bb10589a4 100644
--- a/src/wx/po/sk_SK.po
+++ b/src/wx/po/sk_SK.po
@@ -1041,7 +1041,7 @@ msgstr "Nemôžem načítať kDM (%s)"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
#, fuzzy
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr "Nemôžem načítať súbor s certifikátom (%s)"
#: src/wx/certificate_chain_editor.cc:195
@@ -1999,7 +1999,7 @@ msgid "Length"
msgstr ""
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
+msgid "Length: {} ({} frames)"
msgstr ""
#: src/wx/text_panel.cc:104
diff --git a/src/wx/po/sl_SI.po b/src/wx/po/sl_SI.po
index e44585741..9a18bb1a5 100644
--- a/src/wx/po/sl_SI.po
+++ b/src/wx/po/sl_SI.po
@@ -93,7 +93,7 @@ msgstr ""
#: src/wx/film_name_location_dialog.cc:156
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a film."
-msgstr "%1 že obstaja kot datoteka, zato je ne morete uporabiti za film."
+msgstr "{} že obstaja kot datoteka, zato je ne morete uporabiti za film."
#: src/wx/audio_dialog.cc:170 src/wx/audio_dialog.cc:172
#, fuzzy, c-format
@@ -1018,8 +1018,8 @@ msgstr "Ni bilo mogoče prebrati DCP: %s"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
-msgstr "Datoteke potrdila (%1) ni bilo mogoče prebrati"
+msgid "Could not read certificate file ({})"
+msgstr "Datoteke potrdila ({}) ni bilo mogoče prebrati"
#: src/wx/certificate_chain_editor.cc:195
#: src/wx/certificate_chain_editor.cc:382 src/wx/recipient_dialog.cc:158
@@ -1965,8 +1965,8 @@ msgid "Length"
msgstr "Dolžina"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Dolžina: %1 (%2 sličic)"
+msgid "Length: {} ({} frames)"
+msgstr "Dolžina: {} ({} sličic)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3608,7 +3608,7 @@ msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Mapa %1 že obstaja in ni prazna. Ali ste prepričani, da jo želite uporabiti?"
+"Mapa {} že obstaja in ni prazna. Ali ste prepričani, da jo želite uporabiti?"
#: src/wx/try_unmount_dialog.cc:44
#, fuzzy, c-format
diff --git a/src/wx/po/sv_SE.po b/src/wx/po/sv_SE.po
index b6f34baf9..24a46f05f 100644
--- a/src/wx/po/sv_SE.po
+++ b/src/wx/po/sv_SE.po
@@ -94,7 +94,7 @@ msgstr "DVD-o-matic Inställningar"
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a film."
msgstr ""
-"%1 finns redan som fil, så du kan inte använda det som namn på en film."
+"{} finns redan som fil, så du kan inte använda det som namn på en film."
#: src/wx/audio_dialog.cc:170 src/wx/audio_dialog.cc:172
#, fuzzy, c-format
@@ -1034,8 +1034,8 @@ msgstr "Kunde inte ladda DCP: %s"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
-msgstr "Kunde inte läsa certifikatfil (%1)"
+msgid "Could not read certificate file ({})"
+msgstr "Kunde inte läsa certifikatfil ({})"
#: src/wx/certificate_chain_editor.cc:195
#: src/wx/certificate_chain_editor.cc:382 src/wx/recipient_dialog.cc:158
@@ -1999,8 +1999,8 @@ msgid "Length"
msgstr "Speltid"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Speltid: %1 (%2 bildrutor)"
+msgid "Length: {} ({} frames)"
+msgstr "Speltid: {} ({} bildrutor)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3666,7 +3666,7 @@ msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
msgstr ""
-"Mappen %1 finns redan och är inte tom. Är du säker på att du vill använda "
+"Mappen {} finns redan och är inte tom. Är du säker på att du vill använda "
"den?"
#: src/wx/try_unmount_dialog.cc:44
diff --git a/src/wx/po/tr_TR.po b/src/wx/po/tr_TR.po
index 07965be19..47fcfa76b 100644
--- a/src/wx/po/tr_TR.po
+++ b/src/wx/po/tr_TR.po
@@ -988,7 +988,7 @@ msgstr ""
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr ""
#: src/wx/certificate_chain_editor.cc:195
@@ -1896,7 +1896,7 @@ msgid "Length"
msgstr ""
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
+msgid "Length: {} ({} frames)"
msgstr ""
#: src/wx/text_panel.cc:104
diff --git a/src/wx/po/uk_UA.po b/src/wx/po/uk_UA.po
index d280d2d0e..5f42ed5e1 100644
--- a/src/wx/po/uk_UA.po
+++ b/src/wx/po/uk_UA.po
@@ -92,7 +92,7 @@ msgstr ""
#, fuzzy, c-format
msgid "%s already exists as a file, so you cannot use it for a film."
msgstr ""
-"%1 вже існує як файл, тому ви не можете використовувати його у проекті."
+"{} вже існує як файл, тому ви не можете використовувати його у проекті."
#: src/wx/audio_dialog.cc:170 src/wx/audio_dialog.cc:172
#, fuzzy, c-format
@@ -1038,7 +1038,7 @@ msgstr "Не вдалося завантажити KDM."
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
#, fuzzy
-msgid "Could not read certificate file (%1)"
+msgid "Could not read certificate file ({})"
msgstr "Не вдалося прочитати файл сертифікату."
#: src/wx/certificate_chain_editor.cc:195
@@ -1991,8 +1991,8 @@ msgid "Length"
msgstr "Тривалість"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "Тривалість: %1 (%2 frames)"
+msgid "Length: {} ({} frames)"
+msgstr "Тривалість: {} ({} frames)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
@@ -3644,7 +3644,7 @@ msgstr ""
msgid ""
"The directory %s already exists and is not empty. Are you sure you want to "
"use it?"
-msgstr "Папка %1 вже існує и не є пустою. Ви точно хочете використовувати її?"
+msgstr "Папка {} вже існує и не є пустою. Ви точно хочете використовувати її?"
#: src/wx/try_unmount_dialog.cc:44
#, c-format
diff --git a/src/wx/po/zh_CN.po b/src/wx/po/zh_CN.po
index d731275a7..377416d4d 100644
--- a/src/wx/po/zh_CN.po
+++ b/src/wx/po/zh_CN.po
@@ -1009,8 +1009,8 @@ msgstr "无法读取 DCP: %s"
#: src/wx/download_certificate_panel.cc:67
#: src/wx/download_certificate_panel.cc:80
-msgid "Could not read certificate file (%1)"
-msgstr "无法读取证书文件 (%1)"
+msgid "Could not read certificate file ({})"
+msgstr "无法读取证书文件 ({})"
#: src/wx/certificate_chain_editor.cc:195
#: src/wx/certificate_chain_editor.cc:382 src/wx/recipient_dialog.cc:158
@@ -1940,8 +1940,8 @@ msgid "Length"
msgstr "长度"
#: src/wx/player_information.cc:182
-msgid "Length: %1 (%2 frames)"
-msgstr "长度: %1 (%2 帧)"
+msgid "Length: {} ({} frames)"
+msgstr "长度: {} ({} 帧)"
#: src/wx/text_panel.cc:104
msgid "Line spacing"
diff --git a/src/wx/qube_certificate_panel.cc b/src/wx/qube_certificate_panel.cc
index de8fa8a49..5e098a047 100644
--- a/src/wx/qube_certificate_panel.cc
+++ b/src/wx/qube_certificate_panel.cc
@@ -51,7 +51,7 @@ QubeCertificatePanel::QubeCertificatePanel (DownloadCertificateDialog* dialog, s
void
QubeCertificatePanel::do_download ()
{
- auto files = ls_url(String::compose("%1SMPTE-%2/", base, _type));
+ auto files = ls_url(fmt::format("{}SMPTE-{}/", base, _type));
if (files.empty()) {
error_dialog (this, _("Could not read certificates from Qube server."));
return;
@@ -62,7 +62,7 @@ QubeCertificatePanel::do_download ()
optional<string> name;
for (auto i: files) {
- if (boost::algorithm::starts_with(i, String::compose("%1-%2-", _type, serial))) {
+ if (boost::algorithm::starts_with(i, fmt::format("{}-{}-", _type, serial))) {
name = i;
break;
}
@@ -74,7 +74,7 @@ QubeCertificatePanel::do_download ()
return;
}
- auto error = get_from_url (String::compose("%1SMPTE-%2/%3", base, _type, *name), true, false, boost::bind(&DownloadCertificatePanel::load_certificate, this, _1, _2));
+ auto error = get_from_url (fmt::format("{}SMPTE-{}/{}", base, _type, *name), true, false, boost::bind(&DownloadCertificatePanel::load_certificate, this, _1, _2));
if (error) {
_dialog->message()->SetLabel({});
diff --git a/src/wx/simple_video_view.cc b/src/wx/simple_video_view.cc
index 9038920ce..ff16b6146 100644
--- a/src/wx/simple_video_view.cc
+++ b/src/wx/simple_video_view.cc
@@ -166,7 +166,7 @@ SimpleVideoView::timer ()
return;
}
- LOG_DEBUG_VIDEO_VIEW("%1 -> %2; delay %3", next.seconds(), _viewer->time().seconds(), max((next.seconds() - _viewer->time().seconds()) * 1000, 1.0));
+ LOG_DEBUG_VIDEO_VIEW("{} -> {}; delay {}", next.seconds(), _viewer->time().seconds(), max((next.seconds() - _viewer->time().seconds()) * 1000, 1.0));
_timer.Start (max(1, time_until_next_frame().get_value_or(0)), wxTIMER_ONE_SHOT);
if (_viewer->butler()) {
@@ -177,7 +177,7 @@ SimpleVideoView::timer ()
}
}
- LOG_DEBUG_PLAYER("Latency %1", _viewer->average_latency());
+ LOG_DEBUG_PLAYER("Latency {}", _viewer->average_latency());
}
diff --git a/src/wx/video_view.cc b/src/wx/video_view.cc
index c271cb65e..c658e3663 100644
--- a/src/wx/video_view.cc
+++ b/src/wx/video_view.cc
@@ -77,7 +77,7 @@ VideoView::get_next_frame (bool non_blocking)
Butler::Error e;
auto pv = butler->get_video (non_blocking ? Butler::Behaviour::NON_BLOCKING : Butler::Behaviour::BLOCKING, &e);
if (e.code == Butler::Error::Code::DIED) {
- LOG_ERROR ("Butler died with %1", e.summary());
+ LOG_ERROR ("Butler died with {}", e.summary());
}
if (!pv.first) {
return e.code == Butler::Error::Code::AGAIN ? AGAIN : FAIL;
diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc
index afea3b209..47f513276 100644
--- a/src/wx/wx_util.cc
+++ b/src/wx/wx_util.cc
@@ -651,7 +651,7 @@ bitmap_path (string name)
wxString
icon_path(string name)
{
- return gui_is_dark() ? bitmap_path(String::compose("%1_white.png", name)) : bitmap_path(String::compose("%1_black.png", name));
+ return gui_is_dark() ? bitmap_path(fmt::format("{}_white.png", name)) : bitmap_path(fmt::format("{}_black.png", name));
}
diff --git a/test/audio_mapping_test.cc b/test/audio_mapping_test.cc
index be850f805..d046a95d2 100644
--- a/test/audio_mapping_test.cc
+++ b/test/audio_mapping_test.cc
@@ -73,7 +73,7 @@ guess_check (boost::filesystem::path filename, int output_channel)
AudioMapping m (1, 8);
m.make_default (0, filename);
for (int i = 0; i < 8; ++i) {
- BOOST_TEST_INFO(String::compose("%1 channel %2", filename.string(), i));
+ BOOST_TEST_INFO(fmt::format("{} channel {}", filename.string(), i));
BOOST_CHECK_CLOSE (m.get(0, i), i == output_channel ? 1 : 0, 0.01);
}
}
diff --git a/test/burnt_subtitle_test.cc b/test/burnt_subtitle_test.cc
index 6b2e64d6a..4bfb446d7 100644
--- a/test/burnt_subtitle_test.cc
+++ b/test/burnt_subtitle_test.cc
@@ -153,8 +153,8 @@ BOOST_AUTO_TEST_CASE(burnt_subtitle_test_position)
{
auto check = [](string alignment)
{
- auto const name = String::compose("burnt_subtitle_test_position_%1", alignment);
- auto subs = content_factory(String::compose("test/data/burn_%1.xml", alignment));
+ auto const name = fmt::format("burnt_subtitle_test_position_{}", alignment);
+ auto subs = content_factory(fmt::format("test/data/burn_{}.xml", alignment));
auto film = new_test_film(name, subs);
subs[0]->text[0]->set_use(true);
subs[0]->text[0]->set_burn(true);
@@ -167,11 +167,11 @@ BOOST_AUTO_TEST_CASE(burnt_subtitle_test_position)
});
#if defined(DCPOMATIC_WINDOWS)
- check_dcp(String::compose("test/data/windows/%1", name), film);
+ check_dcp(fmt::format("test/data/windows/{}", name), film);
#elif defined(DCPOMATIC_OSX)
- check_dcp(String::compose("test/data/mac/%1", name), film);
+ check_dcp(fmt::format("test/data/mac/{}", name), film);
#else
- check_dcp(String::compose("test/data/%1", name), film);
+ check_dcp(fmt::format("test/data/{}", name), film);
#endif
};
diff --git a/test/cpl_hash_test.cc b/test/cpl_hash_test.cc
index 603fa4b8d..5fd7f4d16 100644
--- a/test/cpl_hash_test.cc
+++ b/test/cpl_hash_test.cc
@@ -50,7 +50,7 @@ BOOST_AUTO_TEST_CASE (hash_added_to_imported_dcp_test)
make_and_verify_dcp (ov);
/* Remove <Hash> tags from the CPL */
- for (auto i: directory_iterator(String::compose("build/test/%1/%2", ov_name, ov->dcp_name()))) {
+ for (auto i: directory_iterator(fmt::format("build/test/{}/{}", ov_name, ov->dcp_name()))) {
if (boost::algorithm::starts_with(i.path().filename().string(), "cpl_")) {
dcp::File in(i.path(), "r");
BOOST_REQUIRE (in);
@@ -69,7 +69,7 @@ BOOST_AUTO_TEST_CASE (hash_added_to_imported_dcp_test)
}
string const vf_name = "hash_added_to_imported_dcp_test_vf";
- auto ov_content = make_shared<DCPContent>(String::compose("build/test/%1/%2", ov_name, ov->dcp_name()));
+ auto ov_content = make_shared<DCPContent>(fmt::format("build/test/{}/{}", ov_name, ov->dcp_name()));
auto vf = new_test_film(
vf_name, { ov_content }
);
@@ -79,7 +79,7 @@ BOOST_AUTO_TEST_CASE (hash_added_to_imported_dcp_test)
/* Check for Hash tags in the VF DCP */
int hashes = 0;
- for (auto i: directory_iterator(String::compose("build/test/%1/%2", vf_name, vf->dcp_name()))) {
+ for (auto i: directory_iterator(fmt::format("build/test/{}/{}", vf_name, vf->dcp_name()))) {
if (boost::algorithm::starts_with(i.path().filename().string(), "cpl_")) {
dcp::File in(i.path(), "r");
BOOST_REQUIRE (in);
diff --git a/test/digest_test.cc b/test/digest_test.cc
index 39737b7f5..cfd862793 100644
--- a/test/digest_test.cc
+++ b/test/digest_test.cc
@@ -45,7 +45,7 @@ using std::string;
static string
openssl_hash (boost::filesystem::path file)
{
- auto pipe = popen (String::compose ("openssl sha1 -binary %1 | openssl base64 -e", file.string()).c_str (), "r");
+ auto pipe = popen (fmt::format("openssl sha1 -binary {} | openssl base64 -e", file.string()).c_str (), "r");
BOOST_REQUIRE (pipe);
char buffer[128];
string output;
diff --git a/test/ffmpeg_encoder_test.cc b/test/ffmpeg_encoder_test.cc
index 0a48cd745..247b2d394 100644
--- a/test/ffmpeg_encoder_test.cc
+++ b/test/ffmpeg_encoder_test.cc
@@ -77,7 +77,7 @@ ffmpeg_content_test (int number, boost::filesystem::path content, ExportFormat f
BOOST_REQUIRE (false);
}
- name = String::compose("%1_test%2", name, number);
+ name = fmt::format("{}_test{}", name, number);
auto c = make_shared<FFmpegContent>(content);
auto film = new_test_film(name, {c}, &cl);
@@ -86,7 +86,7 @@ ffmpeg_content_test (int number, boost::filesystem::path content, ExportFormat f
film->write_metadata ();
auto job = make_shared<TranscodeJob>(film, TranscodeJob::ChangedBehaviour::IGNORE);
- auto file = boost::filesystem::path("build") / "test" / String::compose("%1.%2", name, extension);
+ auto file = boost::filesystem::path("build") / "test" / fmt::format("{}.{}", name, extension);
cl.add (file);
FFmpegFilmEncoder encoder(film, job, file, format, false, false, false, 23);
encoder.go ();
diff --git a/test/ffmpeg_properties_test.cc b/test/ffmpeg_properties_test.cc
index 1e0cdc42f..bc18efe02 100644
--- a/test/ffmpeg_properties_test.cc
+++ b/test/ffmpeg_properties_test.cc
@@ -37,7 +37,7 @@ colour_range_test(string name, boost::filesystem::path file, string ref)
{
auto content = content_factory(file);
BOOST_REQUIRE(!content.empty());
- auto film = new_test_film(String::compose("ffmpeg_properties_test_%1", name), { content.front() });
+ auto film = new_test_film(fmt::format("ffmpeg_properties_test_{}", name), { content.front() });
auto properties = content.front()->user_properties(film);
auto iter = std::find_if(properties.begin(), properties.end(), [](UserProperty const& property) { return property.key == "Colour range"; });
diff --git a/test/file_naming_test.cc b/test/file_naming_test.cc
index 2953046b5..482119542 100644
--- a/test/file_naming_test.cc
+++ b/test/file_naming_test.cc
@@ -48,9 +48,9 @@ string
mxf_regex(string part) {
#ifdef DCPOMATIC_WINDOWS
/* Windows replaces . in filenames with _ */
- return String::compose(".*flat_%1_png_.*\\.mxf", part);
+ return fmt::format(".*flat_{}_png_.*\\.mxf", part);
#else
- return String::compose(".*flat_%1\\.png_.*\\.mxf", part);
+ return fmt::format(".*flat_{}\\.png_.*\\.mxf", part);
#endif
};
diff --git a/test/hints_test.cc b/test/hints_test.cc
index 1b510f9e7..53c126fde 100644
--- a/test/hints_test.cc
+++ b/test/hints_test.cc
@@ -98,7 +98,7 @@ BOOST_AUTO_TEST_CASE (hint_closed_caption_too_long)
check (
TextType::CLOSED_CAPTION,
"hint_closed_caption_too_long",
- String::compose("At least one of your closed caption lines has more than %1 characters. It is advisable to make each line %1 characters at most in length.", MAX_CLOSED_CAPTION_LENGTH, MAX_CLOSED_CAPTION_LENGTH)
+ 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)
);
}
@@ -108,7 +108,7 @@ BOOST_AUTO_TEST_CASE (hint_many_closed_caption_lines)
check (
TextType::CLOSED_CAPTION,
"hint_many_closed_caption_lines",
- String::compose("Some of your closed captions span more than %1 lines, so they will be truncated.", MAX_CLOSED_CAPTION_LINES)
+ fmt::format("Some of your closed captions span more than {} lines, so they will be truncated.", MAX_CLOSED_CAPTION_LINES)
);
}
@@ -193,12 +193,12 @@ BOOST_AUTO_TEST_CASE (hint_subtitle_mxf_too_big)
}
fake_font.close();
- auto content = content_factory(String::compose("test/data/%1%2.xml", name, i))[0];
+ auto content = content_factory(fmt::format("test/data/{}{}.xml", name, i))[0];
content->text[0]->set_type(TextType::OPEN_SUBTITLE);
content->text[0]->set_language(dcp::LanguageTag("en-US"));
film->examine_and_add_content(content);
BOOST_REQUIRE (!wait_for_jobs());
- auto const font = content->text[0]->get_font(String::compose("font_%1", i));
+ auto const font = content->text[0]->get_font(fmt::format("font_{}", i));
BOOST_REQUIRE(font);
font->set_file("build/test/hint_subtitle_mxf_too_big.ttf");
}
@@ -220,7 +220,7 @@ BOOST_AUTO_TEST_CASE (hint_closed_caption_xml_too_big)
auto film = new_test_film(name);
- dcp::File ccap(String::compose("build/test/%1.srt", name), "w");
+ dcp::File ccap(fmt::format("build/test/{}.srt", name), "w");
BOOST_REQUIRE (ccap);
for (int i = 0; i < 2048; ++i) {
fprintf(ccap.get(), "%d\n", i + 1);
diff --git a/test/image_filename_sorter_test.cc b/test/image_filename_sorter_test.cc
index c4b2622a8..b7b65611b 100644
--- a/test/image_filename_sorter_test.cc
+++ b/test/image_filename_sorter_test.cc
@@ -69,7 +69,7 @@ BOOST_AUTO_TEST_CASE (image_filename_sorter_test2)
{
vector<boost::filesystem::path> paths;
for (int i = 0; i < 100000; ++i) {
- paths.push_back(String::compose("some.filename.with.%1.number.tiff", i));
+ paths.push_back(fmt::format("some.filename.with.{}.number.tiff", i));
}
std::random_device rd;
@@ -78,6 +78,6 @@ BOOST_AUTO_TEST_CASE (image_filename_sorter_test2)
sort (paths.begin(), paths.end(), ImageFilenameSorter());
for (int i = 0; i < 100000; ++i) {
- BOOST_CHECK_EQUAL(paths[i].string(), String::compose("some.filename.with.%1.number.tiff", i));
+ BOOST_CHECK_EQUAL(paths[i].string(), fmt::format("some.filename.with.{}.number.tiff", i));
}
}
diff --git a/test/image_test.cc b/test/image_test.cc
index a643146fc..18710f842 100644
--- a/test/image_test.cc
+++ b/test/image_test.cc
@@ -512,7 +512,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test7)
Image::Alignment::PADDED,
false
);
- path file = String::compose("crop_scale_window_test7-%1.png", left_crop);
+ path file = fmt::format("crop_scale_window_test7-{}.png", left_crop);
write_image(cropped, path("build") / "test" / file);
check_image(path("test") / "data" / file, path("build") / "test" / file, 10);
}
diff --git a/test/kdm_naming_test.cc b/test/kdm_naming_test.cc
index 4735ef75e..e8bafb6a2 100644
--- a/test/kdm_naming_test.cc
+++ b/test/kdm_naming_test.cc
@@ -136,7 +136,7 @@ BOOST_AUTO_TEST_CASE (single_kdm_naming_test)
boost::algorithm::replace_all (until_time, ":", "-");
auto const dcp_date = boost::gregorian::to_iso_string(film->isdcf_date());
- auto const ref = String::compose("KDM_Cinema_A_-_Screen_1_-_MyGreatFilm_TST-1_F_XX-XX_MOS_2K_%1_SMPTE_OV_-_%2_%3_-_%4_%5.xml", dcp_date, from.date(), from_time, until.date(), until_time);
+ auto const ref = fmt::format("KDM_Cinema_A_-_Screen_1_-_MyGreatFilm_TST-1_F_XX-XX_MOS_2K_{}_SMPTE_OV_-_{}_{}_-_{}_{}.xml", dcp_date, from.date(), from_time, until.date(), until_time);
BOOST_CHECK_MESSAGE (boost::filesystem::exists("build/test/single_kdm_naming_test/" + ref), "File " << ref << " not found");
}
@@ -224,41 +224,41 @@ BOOST_AUTO_TEST_CASE(directory_kdm_naming_test)
boost::algorithm::replace_all (until_time, ":", "-");
auto const dcp_date = boost::gregorian::to_iso_string(film->isdcf_date());
- auto const dcp_name = String::compose("MyGreatFilm_TST-1_F_XX-XX_MOS_2K_%1_SMPTE_OV", dcp_date);
- auto const common = String::compose("%1_-_%2_%3_-_%4_%5", dcp_name, from.date(), from_time, until.date(), until_time);
+ auto const dcp_name = fmt::format("MyGreatFilm_TST-1_F_XX-XX_MOS_2K_{}_SMPTE_OV", dcp_date);
+ auto const common = fmt::format("{}_-_{}_{}_-_{}_{}", dcp_name, from.date(), from_time, until.date(), until_time);
path const base = "build/test/directory_kdm_naming_test";
- path dir_a = String::compose("Cinema_A_-_%s_-_%1", common);
+ path dir_a = fmt::format("Cinema_A_-_%s_-_{}", common);
BOOST_CHECK_MESSAGE (boost::filesystem::exists(base / dir_a), "Directory " << dir_a << " not found");
- path dir_b = String::compose("Cinema_B_-_%s_-_%1", common);
+ path dir_b = fmt::format("Cinema_B_-_%s_-_{}", common);
BOOST_CHECK_MESSAGE (boost::filesystem::exists(base / dir_b), "Directory " << dir_b << " not found");
#ifdef DCPOMATIC_WINDOWS
- path ref = String::compose("KDM_%1.xml", dcp_name);
+ path ref = fmt::format("KDM_{}.xml", dcp_name);
#else
- path ref = String::compose("KDM_Cinema_A_-_Screen_2_-_%1_-_%2.xml", common, cpl_id);
+ path ref = fmt::format("KDM_Cinema_A_-_Screen_2_-_{}_-_{}.xml", common, cpl_id);
#endif
BOOST_CHECK_MESSAGE (boost::filesystem::exists(base / dir_a / ref), "File " << ref << " not found");
#ifdef DCPOMATIC_WINDOWS
- ref = String::compose("KDM_%1.xml", dcp_name);
+ ref = fmt::format("KDM_{}.xml", dcp_name);
#else
- ref = String::compose("KDM_Cinema_B_-_Screen_X_-_%1_-_%2.xml", common, cpl_id);
+ ref = fmt::format("KDM_Cinema_B_-_Screen_X_-_{}_-_{}.xml", common, cpl_id);
#endif
BOOST_CHECK_MESSAGE (boost::filesystem::exists(base / dir_b / ref), "File " << ref << " not found");
#ifdef DCPOMATIC_WINDOWS
- ref = String::compose("KDM_%1.xml", dcp_name);
+ ref = fmt::format("KDM_{}.xml", dcp_name);
#else
- ref = String::compose("KDM_Cinema_A_-_Screen_1_-_%1_-_%2.xml", common, cpl_id);
+ ref = fmt::format("KDM_Cinema_A_-_Screen_1_-_{}_-_{}.xml", common, cpl_id);
#endif
BOOST_CHECK_MESSAGE (boost::filesystem::exists(base / dir_a / ref), "File " << ref << " not found");
#ifdef DCPOMATIC_WINDOWS
- ref = String::compose("KDM_%1.xml", dcp_name);
+ ref = fmt::format("KDM_{}.xml", dcp_name);
#else
- ref = String::compose("KDM_Cinema_B_-_Screen_Z_-_%1_-_%2.xml", common, cpl_id);
+ ref = fmt::format("KDM_Cinema_B_-_Screen_Z_-_{}_-_{}.xml", common, cpl_id);
#endif
BOOST_CHECK_MESSAGE (boost::filesystem::exists(base / dir_b / ref), "File " << ref << " not found");
}
diff --git a/test/map_cli_test.cc b/test/map_cli_test.cc
index aaf5b944f..7705890d4 100644
--- a/test/map_cli_test.cc
+++ b/test/map_cli_test.cc
@@ -90,7 +90,7 @@ find_cpl(boost::filesystem::path dir)
BOOST_AUTO_TEST_CASE(map_simple_dcp_copy)
{
string const name = "map_simple_dcp_copy";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto content = content_factory("test/data/flat_red.png");
auto film = new_test_film(name + "_in", content);
@@ -120,7 +120,7 @@ BOOST_AUTO_TEST_CASE(map_simple_dcp_copy)
BOOST_AUTO_TEST_CASE(map_simple_dcp_copy_by_id)
{
string const name = "map_simple_dcp_copy_by_id";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto content = content_factory("test/data/flat_red.png");
auto film = new_test_film(name + "_in", content);
@@ -152,7 +152,7 @@ BOOST_AUTO_TEST_CASE(map_simple_dcp_copy_by_id)
BOOST_AUTO_TEST_CASE(map_simple_dcp_copy_with_symlinks)
{
string const name = "map_simple_dcp_copy_with_symlinks";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto content = content_factory("test/data/flat_red.png");
auto film = new_test_film(name + "_in", content);
@@ -185,7 +185,7 @@ BOOST_AUTO_TEST_CASE(map_simple_dcp_copy_with_symlinks)
BOOST_AUTO_TEST_CASE(map_simple_dcp_copy_with_hardlinks)
{
string const name = "map_simple_dcp_copy_with_hardlinks";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto content = content_factory("test/data/flat_red.png");
auto film = new_test_film(name + "_in", content);
@@ -216,7 +216,7 @@ BOOST_AUTO_TEST_CASE(map_simple_dcp_copy_with_hardlinks)
BOOST_AUTO_TEST_CASE(map_simple_interop_dcp_with_subs)
{
string const name = "map_simple_interop_dcp_with_subs";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto picture = content_factory("test/data/flat_red.png").front();
auto subs = content_factory("test/data/15s.srt").front();
@@ -247,7 +247,7 @@ void
test_map_ov_vf_copy(vector<string> extra_args = {})
{
string const name = "map_ov_vf_copy";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto ov_content = content_factory("test/data/flat_red.png");
auto ov_film = new_test_film(name + "_ov", ov_content);
@@ -298,7 +298,7 @@ BOOST_AUTO_TEST_CASE(map_ov_vf_copy)
BOOST_AUTO_TEST_CASE(map_ov_vf_copy_multiple_reference)
{
string const name = "map_ov_vf_copy_multiple_reference";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto ov_content = content_factory("test/data/flat_red.png");
auto ov_film = new_test_film(name + "_ov", ov_content);
@@ -346,7 +346,7 @@ BOOST_AUTO_TEST_CASE(map_simple_dcp_copy_with_rename)
ConfigRestorer cr;
Config::instance()->set_dcp_asset_filename_format(dcp::NameFormat("hello%c"));
string const name = "map_simple_dcp_copy_with_rename";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto content = content_factory("test/data/flat_red.png");
auto film = new_test_film(name + "_in", content);
@@ -394,7 +394,7 @@ static
void
test_two_cpls_each_with_subs(string name, bool interop)
{
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
vector<dcp::VerificationNote::Code> acceptable_errors;
if (interop) {
@@ -408,7 +408,7 @@ test_two_cpls_each_with_subs(string name, bool interop)
for (auto i = 0; i < 2; ++i) {
auto picture = content_factory("test/data/flat_red.png").front();
auto subs = content_factory("test/data/15s.srt").front();
- films[i] = new_test_film(String::compose("%1_%2_in", name, i), { picture, subs });
+ films[i] = new_test_film(fmt::format("{}_{}_in", name, i), { picture, subs });
films[i]->set_interop(interop);
subs->only_text()->set_language(dcp::LanguageTag("de"));
make_and_verify_dcp(films[i], acceptable_errors);
@@ -450,7 +450,7 @@ BOOST_AUTO_TEST_CASE(map_with_given_config)
ConfigRestorer cr;
string const name = "map_with_given_config";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto content = content_factory("test/data/flat_red.png");
auto film = new_test_film(name + "_in", content);
@@ -480,7 +480,7 @@ BOOST_AUTO_TEST_CASE(map_with_given_config)
BOOST_AUTO_TEST_CASE(map_multireel_interop_ov_and_vf_adding_ccaps)
{
string const name = "map_multireel_interop_ov_and_vf_adding_ccaps";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
vector<shared_ptr<Content>> video = {
content_factory("test/data/flat_red.png")[0],
@@ -545,7 +545,7 @@ BOOST_AUTO_TEST_CASE(map_uses_config_for_issuer_and_creator)
Config::instance()->set_dcp_creator("Fred");
string const name = "map_uses_config_for_issuer_and_creator";
- string const out = String::compose("build/test/%1_out", name);
+ string const out = fmt::format("build/test/{}_out", name);
auto content = content_factory("test/data/flat_red.png");
auto film = new_test_film(name + "_in", content);
diff --git a/test/markers_test.cc b/test/markers_test.cc
index f7ff3a6b5..6e5f9d8df 100644
--- a/test/markers_test.cc
+++ b/test/markers_test.cc
@@ -50,7 +50,7 @@ BOOST_AUTO_TEST_CASE (automatic_ffoc_lfoc_markers_test1)
film->set_interop (false);
make_and_verify_dcp (film);
- dcp::DCP dcp (String::compose("build/test/%1/%2", name, film->dcp_name()));
+ dcp::DCP dcp (fmt::format("build/test/{}/{}", name, film->dcp_name()));
dcp.read ();
BOOST_REQUIRE_EQUAL (dcp.cpls().size(), 1U);
auto cpl = dcp.cpls().front();
@@ -86,7 +86,7 @@ BOOST_AUTO_TEST_CASE (automatic_ffoc_lfoc_markers_test2)
dcp::VerificationNote::Code::INCORRECT_LFOC
});
- dcp::DCP dcp (String::compose("build/test/%1/%2", name, film->dcp_name()));
+ dcp::DCP dcp (fmt::format("build/test/{}/{}", name, film->dcp_name()));
dcp.read ();
BOOST_REQUIRE_EQUAL (dcp.cpls().size(), 1U);
auto cpl = dcp.cpls().front();
@@ -116,7 +116,7 @@ BOOST_AUTO_TEST_CASE(markers_correct_with_reels)
film->set_reel_type(ReelType::BY_VIDEO_CONTENT);
make_and_verify_dcp(film);
- dcp::DCP dcp(String::compose("build/test/%1/%2", name, film->dcp_name()));
+ dcp::DCP dcp(fmt::format("build/test/{}/{}", name, film->dcp_name()));
dcp.read ();
BOOST_REQUIRE_EQUAL(dcp.cpls().size(), 1U);
auto cpl = dcp.cpls()[0];
diff --git a/test/player_test.cc b/test/player_test.cc
index 384a73ebc..1ba1602a2 100644
--- a/test/player_test.cc
+++ b/test/player_test.cc
@@ -225,12 +225,12 @@ BOOST_AUTO_TEST_CASE (player_seek_test)
butler->seek (t, true);
auto video = butler->get_video(Butler::Behaviour::BLOCKING, 0);
BOOST_CHECK_EQUAL(video.second.get(), t.get());
- write_image(video.first->image(AV_PIX_FMT_RGB24, VideoRange::FULL, true), String::compose("build/test/player_seek_test_%1.png", i));
+ write_image(video.first->image(AV_PIX_FMT_RGB24, VideoRange::FULL, true), fmt::format("build/test/player_seek_test_{}.png", i));
/* This 14.08 is empirically chosen (hopefully) to accept changes in rendering between the reference and a test machine
(17.10 and 16.04 seem to anti-alias a little differently) but to reject gross errors e.g. missing fonts or missing
text altogether.
*/
- check_image(TestPaths::private_data() / String::compose("player_seek_test_%1.png", i), String::compose("build/test/player_seek_test_%1.png", i), 14.08);
+ check_image(TestPaths::private_data() / fmt::format("player_seek_test_{}.png", i), fmt::format("build/test/player_seek_test_{}.png", i), 14.08);
}
}
@@ -261,9 +261,9 @@ BOOST_AUTO_TEST_CASE (player_seek_test2)
auto video = butler->get_video(Butler::Behaviour::BLOCKING, 0);
BOOST_CHECK_EQUAL(video.second.get(), t.get());
write_image(
- video.first->image(AV_PIX_FMT_RGB24, VideoRange::FULL, true), String::compose("build/test/player_seek_test2_%1.png", i)
+ video.first->image(AV_PIX_FMT_RGB24, VideoRange::FULL, true), fmt::format("build/test/player_seek_test2_{}.png", i)
);
- check_image(TestPaths::private_data() / String::compose("player_seek_test2_%1.png", i), String::compose("build/test/player_seek_test2_%1.png", i), 14.08);
+ check_image(TestPaths::private_data() / fmt::format("player_seek_test2_{}.png", i), fmt::format("build/test/player_seek_test2_{}.png", i), 14.08);
}
}
diff --git a/test/reels_test.cc b/test/reels_test.cc
index b79bd4e17..9ef5fbb9d 100644
--- a/test/reels_test.cc
+++ b/test/reels_test.cc
@@ -668,7 +668,7 @@ BOOST_AUTO_TEST_CASE(reel_assets_same_length_with_atmos)
picture->video->set_length(480);
BOOST_REQUIRE_EQUAL(messages.size(), 1U);
- BOOST_CHECK_EQUAL(messages[0], variant::insert_dcpomatic("%1 had to change your reel settings to accommodate the Atmos content"));
+ BOOST_CHECK_EQUAL(messages[0], variant::insert_dcpomatic("{} had to change your reel settings to accommodate the Atmos content"));
auto const reels = film->reels();
BOOST_CHECK_EQUAL(reels.size(), 2U);
diff --git a/test/subtitle_language_test.cc b/test/subtitle_language_test.cc
index 789412912..1f5d09942 100644
--- a/test/subtitle_language_test.cc
+++ b/test/subtitle_language_test.cc
@@ -60,7 +60,7 @@ BOOST_AUTO_TEST_CASE (subtitle_language_interop_test)
false
);
- check_dcp(String::compose("test/data/%1", name), String::compose("build/test/%1/%2", name, film->dcp_name()));
+ check_dcp(fmt::format("test/data/{}", name), fmt::format("build/test/{}/{}", name, film->dcp_name()));
}
@@ -87,7 +87,7 @@ BOOST_AUTO_TEST_CASE (subtitle_language_smpte_test)
* differences in sound between the DCP and the reference to avoid test
* failures for unrelated reasons.
*/
- check_dcp(String::compose("test/data/%1", name), String::compose("build/test/%1/%2", name, film->dcp_name()), true);
+ check_dcp(fmt::format("test/data/{}", name), fmt::format("build/test/{}/{}", name, film->dcp_name()), true);
}
diff --git a/test/subtitle_position_test.cc b/test/subtitle_position_test.cc
index 05e305478..fb800b882 100644
--- a/test/subtitle_position_test.cc
+++ b/test/subtitle_position_test.cc
@@ -112,8 +112,8 @@ vpos_test(dcp::VAlign reference, float position, dcp::SubtitleStandard from, dcp
break;
}
- auto name = String::compose("vpos_test_%1_%2", standard, valign_to_string(reference));
- auto in = content_factory(String::compose("test/data/%1.xml", name));
+ auto name = fmt::format("vpos_test_{}_{}", standard, valign_to_string(reference));
+ auto in = content_factory(fmt::format("test/data/{}.xml", name));
auto film = new_test_film(name, in);
film->set_interop(to == dcp::Standard::INTEROP);
diff --git a/test/test.cc b/test/test.cc
index 6d8e6f5f7..85698b3fe 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -594,7 +594,7 @@ check_xml(
auto test_children = test->get_children ();
string context;
if (ref_file && test_file) {
- context = String::compose(" comparing %1 and %2", ref_file->string(), test_file->string());
+ context = fmt::format(" comparing {} and {}", ref_file->string(), test_file->string());
}
BOOST_REQUIRE_MESSAGE (
ref_children.size() == test_children.size(),
@@ -739,7 +739,7 @@ png_flush (png_structp)
static void
png_error_fn (png_structp, char const * message)
{
- throw EncodeError (String::compose("Error during PNG write: %1", message));
+ throw EncodeError (fmt::format("Error during PNG write: {}", message));
}
@@ -822,7 +822,7 @@ write_image (shared_ptr<const Image> image, boost::filesystem::path file)
void
check_ffmpeg (boost::filesystem::path ref, boost::filesystem::path check, int audio_tolerance)
{
- int const r = system (String::compose("ffcmp -t %1 %2 %3", audio_tolerance, ref.string(), check.string()).c_str());
+ int const r = system (fmt::format("ffcmp -t {} {} {}", audio_tolerance, ref.string(), check.string()).c_str());
BOOST_REQUIRE_EQUAL (WEXITSTATUS(r), 0);
}
@@ -1015,13 +1015,13 @@ make_and_verify_dcp(shared_ptr<Film> film, vector<dcp::VerificationNote::Code> i
auto dcp_inspect_env = getenv("DCPOMATIC_DCP_INSPECT");
if (dcp_inspect && dcp_inspect_env) {
boost::filesystem::path dcp_inspect(dcp_inspect_env);
- auto cmd = String::compose("%1 %2 > %3 2>&1", dcp_inspect.string(), film->dir(film->dcp_name()).string(), film->file("dcp_inspect.log").string());
+ auto cmd = fmt::format("{} {} > {} 2>&1", dcp_inspect.string(), film->dir(film->dcp_name()).string(), film->file("dcp_inspect.log").string());
auto result = system(cmd.c_str());
BOOST_CHECK_EQUAL(WEXITSTATUS(result), 0);
}
if (clairmeta && getenv("DCPOMATIC_CLAIRMETA")) {
- auto cmd = String::compose("python3 -m clairmeta.cli check -type dcp %1 > %2 2>&1", film->dir(film->dcp_name()).string(), film->file("clairmeta.log").string());
+ auto cmd = fmt::format("python3 -m clairmeta.cli check -type dcp {} > {} 2>&1", film->dir(film->dcp_name()).string(), film->file("clairmeta.log").string());
auto result = system(cmd.c_str());
BOOST_CHECK_EQUAL(WEXITSTATUS(result), 0);
}
diff --git a/test/threed_test.cc b/test/threed_test.cc
index 5508eb735..2f92d5b7a 100644
--- a/test/threed_test.cc
+++ b/test/threed_test.cc
@@ -209,7 +209,7 @@ BOOST_AUTO_TEST_CASE (threed_test7)
}
}
BOOST_REQUIRE (failed);
- BOOST_CHECK_EQUAL (failed->error_summary(), String::compose("The content file %1 is set as 3D but does not appear to contain 3D images. Please set it to 2D. You can still make a 3D DCP from this content by ticking the 3D option in the DCP video tab.", boost::filesystem::canonical(content_path).string()));
+ BOOST_CHECK_EQUAL (failed->error_summary(), fmt::format("The content file {} is set as 3D but does not appear to contain 3D images. Please set it to 2D. You can still make a 3D DCP from this content by ticking the 3D option in the DCP video tab.", boost::filesystem::canonical(content_path).string()));
while (signal_manager->ui_idle ()) {}