if (ghb_settings_get_boolean(settings, "AudioTrackQualityEnable") &&
quality != HB_INVALID_AUDIO_QUALITY)
{
- s_br_quality = ghb_format_quality("Quality: ", encoder->codec, quality);
+ s_br_quality = ghb_format_quality(_("Quality: "), encoder->codec, quality);
}
else
{
- s_br_quality = g_strdup_printf("Bitrate: %dkbps",
+ s_br_quality = g_strdup_printf(_("Bitrate: %dkbps"),
ghb_settings_audio_bitrate_rate(settings, "AudioBitrate"));
}
if (aconfig->in.bitrate > 0)
{
info_src_2 = g_strdup_printf(
- "Bitrate: %.4gkbps",
+ _("Bitrate: %.4gkbps"),
(double)aconfig->in.bitrate / 1000);
}
if (ghb_audio_is_passthru(encoder->codec))
{
- info_dst = g_strdup_printf("<small>Passthrough</small>");
+ info_dst = g_strdup_printf(_("<small>Passthrough</small>"));
}
else
{
if (s_track_name && s_track_name[0])
{
info_dst_2 = g_strdup_printf(
- "%s\nGain: %s\nDRC: %s\nTrack Name: %s",
+ _("%s\nGain: %s\nDRC: %s\nTrack Name: %s"),
s_br_quality, s_gain, s_drc, s_track_name);
}
else
{
- info_dst_2 = g_strdup_printf("%s\nGain: %s\nDRC: %s",
+ info_dst_2 = g_strdup_printf(_("%s\nGain: %s\nDRC: %s"),
s_br_quality, s_gain, s_drc);
}
}
box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0));
// Add Button
- button = GTK_BUTTON(gtk_button_new_with_label("Add"));
+ button = GTK_BUTTON(gtk_button_new_with_label(_("Add")));
gtk_widget_set_tooltip_markup(GTK_WIDGET(button),
- "Add an audio encoder.\n"
- "Each selected source track will be encoded with all selected encoders.");
+ _("Add an audio encoder.\n"
+ "Each selected source track will be encoded with all selected encoders."));
gtk_widget_set_valign(GTK_WIDGET(button), GTK_ALIGN_CENTER);
gtk_widget_set_name(GTK_WIDGET(button), "add_button");
gtk_widget_hide(GTK_WIDGET(button));
const hb_encoder_t *aud_enc = hb_audio_encoder_get_next(NULL);
ghb_update_widget(GTK_WIDGET(combo), ghb_int64_value(aud_enc->codec));
gtk_widget_set_tooltip_markup(GTK_WIDGET(combo),
- "Set the audio codec to encode this track with.");
+ _("Set the audio codec to encode this track with."));
gtk_widget_set_valign(GTK_WIDGET(combo), GTK_ALIGN_CENTER);
gtk_widget_set_name(GTK_WIDGET(combo), "AudioEncoder");
gtk_widget_show(GTK_WIDGET(combo));
// Bitrate vs Quality RadioButton
GtkBox *vbox;
vbox = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, 0));
- radio = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label(NULL, "Bitrate"));
+ radio = GTK_RADIO_BUTTON(gtk_radio_button_new_with_label(NULL, _("Bitrate")));
gtk_widget_set_name(GTK_WIDGET(radio), "AudioTrackBitrateEnable");
gtk_widget_show(GTK_WIDGET(radio));
gtk_box_pack_start(vbox, GTK_WIDGET(radio), FALSE, FALSE, 0);
radio = GTK_RADIO_BUTTON(
- gtk_radio_button_new_with_label_from_widget(radio, "Quality"));
+ gtk_radio_button_new_with_label_from_widget(radio, _("Quality")));
gtk_widget_set_name(GTK_WIDGET(radio), "AudioTrackQualityEnable");
g_signal_connect(radio, "toggled", (GCallback)audio_def_quality_enable_changed_cb, ud);
gtk_widget_show(GTK_WIDGET(radio));
ghb_audio_bitrate_opts_set(combo, FALSE);
ghb_update_widget(GTK_WIDGET(combo), ghb_int64_value(192));
gtk_widget_set_tooltip_markup(GTK_WIDGET(combo),
- "Set the bitrate to encode this track with.");
+ _("Set the bitrate to encode this track with."));
gtk_widget_set_valign(GTK_WIDGET(combo), GTK_ALIGN_CENTER);
gtk_widget_set_name(GTK_WIDGET(combo), "AudioBitrate");
gtk_widget_show(GTK_WIDGET(combo));
scale = GTK_SCALE_BUTTON(gtk_scale_button_new(GTK_ICON_SIZE_BUTTON,
0, 10, 0.1, quality_icons));
gtk_widget_set_tooltip_markup(GTK_WIDGET(scale),
- "<b>Audio Quality:</b>\n"
- "For encoders that support it, adjust the quality of the output.");
+ _("<b>Audio Quality:</b>\n"
+ "For encoders that support it, adjust the quality of the output."));
gtk_widget_set_valign(GTK_WIDGET(scale), GTK_ALIGN_CENTER);
gtk_widget_set_name(GTK_WIDGET(scale), "AudioTrackQuality");
ghb_mix_opts_set(combo);
ghb_update_widget(GTK_WIDGET(combo), ghb_int64_value(HB_AMIXDOWN_5POINT1));
gtk_widget_set_tooltip_markup(GTK_WIDGET(combo),
- "Set the mixdown of the output audio track.");
+ _("Set the mixdown of the output audio track."));
gtk_widget_set_valign(GTK_WIDGET(combo), GTK_ALIGN_CENTER);
gtk_widget_set_name(GTK_WIDGET(combo), "AudioMixdown");
gtk_widget_show(GTK_WIDGET(combo));
ghb_audio_samplerate_opts_set(combo);
ghb_update_widget(GTK_WIDGET(combo), ghb_int64_value(0));
gtk_widget_set_tooltip_markup(GTK_WIDGET(combo),
- "Set the sample rate of the output audio track.");
+ _("Set the sample rate of the output audio track."));
gtk_widget_set_valign(GTK_WIDGET(combo), GTK_ALIGN_CENTER);
gtk_widget_set_name(GTK_WIDGET(combo), "AudioSamplerate");
gtk_widget_show(GTK_WIDGET(combo));
scale = GTK_SCALE_BUTTON(gtk_scale_button_new(GTK_ICON_SIZE_BUTTON,
-20, 21, 1, gain_icons));
gtk_widget_set_tooltip_markup(GTK_WIDGET(scale),
- "<b>Audio Gain:</b>\n"
- "Adjust the amplification or attenuation of the output audio track.");
+ _("<b>Audio Gain:</b>\n"
+ "Adjust the amplification or attenuation of the output audio track."));
gtk_widget_set_valign(GTK_WIDGET(scale), GTK_ALIGN_CENTER);
gtk_widget_set_name(GTK_WIDGET(scale), "AudioTrackGainSlider");
scale = GTK_SCALE_BUTTON(gtk_scale_button_new(GTK_ICON_SIZE_BUTTON,
0.9, 4, 0.1, drc_icons));
gtk_widget_set_tooltip_markup(GTK_WIDGET(scale),
- "<b>Dynamic Range Compression:</b>\n"
+ _("<b>Dynamic Range Compression:</b>\n"
"Adjust the dynamic range of the output audio track.\n"
"For source audio that has a wide dynamic range,\n"
"very loud and very soft sequences, DRC allows you\n"
"to 'compress' the range by making loud sounds\n"
- "softer and soft sounds louder.\n");
+ "softer and soft sounds louder.\n"));
gtk_widget_set_valign(GTK_WIDGET(scale), GTK_ALIGN_CENTER);
gtk_widget_set_name(GTK_WIDGET(scale), "AudioTrackDRCSlider");
gtk_box_pack_start(box3, GTK_WIDGET(scale), FALSE, FALSE, 0);
// Audio DRC Label
- label = GTK_LABEL(gtk_label_new("Off"));
+ label = GTK_LABEL(gtk_label_new(_("Off")));
gtk_label_set_width_chars(label, 4);
gtk_widget_set_halign(GTK_WIDGET(label), GTK_ALIGN_START);
gtk_widget_set_valign(GTK_WIDGET(label), GTK_ALIGN_CENTER);
button = GTK_BUTTON(gtk_button_new());
gtk_button_set_image(button, GTK_WIDGET(image));
gtk_widget_set_tooltip_markup(GTK_WIDGET(button),
- "Remove this audio encoder");
+ _("Remove this audio encoder"));
gtk_button_set_relief(button, GTK_RELIEF_NONE);
gtk_widget_set_valign(GTK_WIDGET(button), GTK_ALIGN_CENTER);
gtk_widget_set_halign(GTK_WIDGET(button), GTK_ALIGN_END);
label = GTK_LABEL(GHB_WIDGET(ud->builder, "pending_status"));
pending = queue_pending_count(ud->queue);
- str = g_strdup_printf("%d encode(s) pending", pending);
+ str = g_strdup_printf(_("%d encode(s) pending"), pending);
gtk_label_set_text(label, str);
g_free(str);
}
message = g_strdup_printf(
_("Invalid Settings:\n%s"),
tweak);
- ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL);
+ ghb_message_dialog(GTK_MESSAGE_ERROR, message, _("Cancel"), NULL);
g_free(message);
}
}
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="tooltip_markup">Allow 64 bit MP4 file which can be over 4GB.
+ <property name="tooltip_markup" translatable="yes">Allow 64 bit MP4 file which can be over 4GB.
<b>Caution:</b> This option may break device compatibility.</property>
<property name="halign">start</property>
<property name="valign">GTK_ALIGN_CENTER</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="tooltip_markup"><b>Anamorphic Modes:</b>
+ <property name="tooltip_markup" translatable="yes"><b>Anamorphic Modes:</b>
<small><tt>
None - Force pixel aspect ratio to 1:1.
Loose - Align dimensions to chosen 'Alignment' value
<property name="halign">start</property>
<property name="use_markup">True</property>
<property name="label" translatable="yes"><b>Audio Encoder Settings:</b></property>
- <property name="tooltip_markup">Each selected source track will be encoded with all selected encoders</property>
+ <property name="tooltip_markup" translatable="yes">Each selected source track will be encoded with all selected encoders</property>
</object>
<packing>
<property name="position">2</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="tooltip_markup">This setting controls both subpixel-precision motion estimation and mode decision methods.
+ <property name="tooltip_markup" translatable="yes">This setting controls both subpixel-precision motion estimation and mode decision methods.
Subpixel motion estimation is used for refining motion estimates beyond mere pixel accuracy, improving compression.
Mode decision is the method used to choose how to encode each block of the frame: a very important decision.
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="tooltip_markup">x264 has a variety of algorithms to decide when to use B-frames and how many to use.
+ <property name="tooltip_markup" translatable="yes">x264 has a variety of algorithms to decide when to use B-frames and how many to use.
Fast mode takes roughly the same amount of time no matter how many B-frames you specify.
However, while fast, its decisions are often suboptimal.
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="tooltip_markup">H.264 deblocking filter.
+ <property name="tooltip_markup" translatable="yes">H.264 deblocking filter.
h.264 has a built-in deblocking filter that smooths out blocking artifacts
after decoding each frame. This not only improves visual quality, but also
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="tooltip_markup">H.264 deblocking filter.
+ <property name="tooltip_markup" translatable="yes">H.264 deblocking filter.
h.264 has a built-in deblocking filter that smooths out blocking artifacts
after decoding each frame. This not only improves visual quality, but also
<object class="GtkLabel" id="AudioTrackDRCSliderLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="tooltip_markup"><b>Dynamic Range Compression:</b> Adjust the dynamic range of the output audio track.
+ <property name="tooltip_markup" translatable="yes"><b>Dynamic Range Compression:</b> Adjust the dynamic range of the output audio track.
For source audio that has a wide dynamic range (very loud and very soft sequences),
DRC allows you to 'compress' the range by making loud sounds softer and soft sounds louder.</property>
<property name="valign">GTK_ALIGN_CENTER</property>
<property name="receives_default">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="tooltip_markup"><b>Quality:</b> For output codec's that support it, adjust the quality of the output.</property>
+ <property name="tooltip_markup" translatable="yes"><b>Quality:</b> For output codec's that support it, adjust the quality of the output.</property>
<property name="orientation">vertical</property>
<property name="adjustment">audio_quality_adj</property>
<property name="icons">weather-storm
<property name="valign">GTK_ALIGN_CENTER</property>
<property name="receives_default">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="tooltip_markup"><b>Audio Gain:</b> Adjust the amplification or attenuation of the output audio track.</property>
+ <property name="tooltip_markup" translatable="yes"><b>Audio Gain:</b> Adjust the amplification or attenuation of the output audio track.</property>
<property name="orientation">vertical</property>
<property name="adjustment">adjustment35</property>
<property name="icons">audio-volume-muted
<property name="valign">GTK_ALIGN_CENTER</property>
<property name="receives_default">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="tooltip_markup"><b>Dynamic Range Compression:</b> Adjust the dynamic range of the output audio track.
+ <property name="tooltip_markup" translatable="yes"><b>Dynamic Range Compression:</b> Adjust the dynamic range of the output audio track.
For source audio that has a wide dynamic range (very loud and very soft sequences),
DRC allows you to 'compress' the range by making loud sounds softer and soft sounds louder.</property>
if (chapter->title == NULL || chapter->title[0] == 0)
{
gchar *str;
- str = g_strdup_printf ("Chapter %2d", ii+1);
+ str = g_strdup_printf (_("Chapter %2d"), ii+1);
ghb_array_append(chapters, ghb_string_value_new(str));
g_free(str);
}
name = ghb_value_string(chapter);
if (name == NULL)
{
- name = g_strdup_printf ("Chapter %2d", chap+1);
+ name = g_strdup_printf (_("Chapter %2d"), chap+1);
}
chapter_s = hb_list_item( job->list_chapter, chap);
hb_chapter_set_title(chapter_s, name);
GtkFileChooser *chooser;
chooser = GTK_FILE_CHOOSER(GHB_WIDGET(ud->builder, "source_dialog"));
filter = GTK_FILE_FILTER(GHB_OBJECT(ud->builder, "SourceFilterAll"));
- gtk_file_filter_set_name(filter, "All");
+ gtk_file_filter_set_name(filter, _("All"));
gtk_file_filter_add_pattern(filter, "*");
gtk_file_chooser_add_filter(chooser, filter);
filter = GTK_FILE_FILTER(GHB_OBJECT(ud->builder, "SourceFilterVideo"));
- gtk_file_filter_set_name(filter, "Video");
+ gtk_file_filter_set_name(filter, _("Video"));
gtk_file_filter_add_mime_type(filter, "video/*");
gtk_file_chooser_add_filter(chooser, filter);
filter = GTK_FILE_FILTER(GHB_OBJECT(ud->builder, "SourceFilterTS"));
if (active)
{
gtk_window_set_resizable(window, TRUE);
- gtk_button_set_label(GTK_BUTTON(toggle), "Windowed");
+ gtk_button_set_label(GTK_BUTTON(toggle), _("Windowed"));
// Changing resizable property doesn't take effect immediately
// need to delay fullscreen till after this callback returns
// to mainloop
{
gtk_window_unfullscreen(window);
gtk_window_set_resizable(window, FALSE);
- gtk_button_set_label(GTK_BUTTON(toggle), "Fullscreen");
+ gtk_button_set_label(GTK_BUTTON(toggle), _("Fullscreen"));
ghb_set_preview_image(ud);
}
}
* any later version.
*/
+#include <glib/gi18n.h>
#include "ghbcompat.h"
#include <string.h>
#include "settings.h"
char * new_tt;
if (new_opts)
- new_tt = g_strdup_printf("%s\n\nExpanded Options:\n\"%s\"", tt, new_opts);
+ new_tt = g_strdup_printf(_("%s\n\nExpanded Options:\n\"%s\""), tt, new_opts);
else
- new_tt = g_strdup_printf("%s\n\nExpanded Options:\n\"\"", tt);
+ new_tt = g_strdup_printf(_("%s\n\nExpanded Options:\n\"\""), tt);
gtk_widget_set_tooltip_text(eo, new_tt);
g_free(new_tt);
GtkWidget *eo = GTK_WIDGET(GHB_WIDGET(ud->builder, "VideoOptionExtra"));
char * new_tt;
if (opts)
- new_tt = g_strdup_printf("%s\n\nExpanded Options:\n\"%s\"", tt, opts);
+ new_tt = g_strdup_printf(_("%s\n\nExpanded Options:\n\"%s\""), tt, opts);
else
- new_tt = g_strdup_printf("%s\n\nExpanded Options:\n\"\"", tt);
+ new_tt = g_strdup_printf(_("%s\n\nExpanded Options:\n\"\""), tt);
gtk_widget_set_tooltip_text(eo, new_tt);
g_free(new_tt);
* any later version.
*/
+#include <glib/gi18n.h>
#include "ghbcompat.h"
#include <string.h>
#include "settings.h"
GtkWidget *eo = GTK_WIDGET(GHB_WIDGET(ud->builder, "VideoOptionExtra"));
char * new_tt;
if (sopts)
- new_tt = g_strdup_printf("%s\n\nExpanded Options:\n\"%s\"", tt, sopts);
+ new_tt = g_strdup_printf(_("%s\n\nExpanded Options:\n\"%s\""), tt, sopts);
else
- new_tt = g_strdup_printf("%s\n\nExpanded Options:\n\"\"", tt);
+ new_tt = g_strdup_printf(_("%s\n\nExpanded Options:\n\"\""), tt);
gtk_widget_set_tooltip_text(eo, new_tt);
g_free(new_tt);