diff -urN handbrake-0.10rc1/gtk/src/audiohandler.c handbrake-0.10rc1-patched/gtk/src/audiohandler.c --- handbrake-0.10rc1/gtk/src/audiohandler.c 2014-10-28 23:46:39.000000000 +0300 +++ handbrake-0.10rc1-patched/gtk/src/audiohandler.c 2014-11-07 12:23:22.328387599 +0300 @@ -823,11 +823,11 @@ 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")); } @@ -856,13 +856,13 @@ 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("Passthrough"); + info_dst = g_strdup_printf(_("Passthrough")); } else { @@ -871,12 +871,12 @@ 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); } } @@ -1803,10 +1803,10 @@ 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)); @@ -1825,7 +1825,7 @@ 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)); @@ -1839,12 +1839,12 @@ // 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)); @@ -1858,7 +1858,7 @@ 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)); @@ -1884,8 +1884,8 @@ 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), - "Audio Quality:\n" - "For encoders that support it, adjust the quality of the output."); + _("Audio Quality:\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"); @@ -1911,7 +1911,7 @@ 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)); @@ -1924,7 +1924,7 @@ 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)); @@ -1946,8 +1946,8 @@ 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), - "Audio Gain:\n" - "Adjust the amplification or attenuation of the output audio track."); + _("Audio Gain:\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"); @@ -1977,12 +1977,12 @@ 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), - "Dynamic Range Compression:\n" + _("Dynamic Range Compression:\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"); @@ -1991,7 +1991,7 @@ 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); @@ -2006,7 +2006,7 @@ 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); diff -urN handbrake-0.10rc1/gtk/src/callbacks.c handbrake-0.10rc1-patched/gtk/src/callbacks.c --- handbrake-0.10rc1/gtk/src/callbacks.c 2014-10-30 02:04:11.000000000 +0300 +++ handbrake-0.10rc1-patched/gtk/src/callbacks.c 2014-11-07 12:23:22.352387600 +0300 @@ -2869,7 +2869,7 @@ 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); } @@ -4921,7 +4921,7 @@ 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); } } diff -urN handbrake-0.10rc1/gtk/src/ghb.ui handbrake-0.10rc1-patched/gtk/src/ghb.ui --- handbrake-0.10rc1/gtk/src/ghb.ui 2014-10-30 21:24:43.000000000 +0300 +++ handbrake-0.10rc1-patched/gtk/src/ghb.ui 2014-11-07 12:23:22.356387600 +0300 @@ -1512,7 +1512,7 @@ True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Allow 64 bit MP4 file which can be over 4GB. + Allow 64 bit MP4 file which can be over 4GB. <b>Caution:</b> This option may break device compatibility. start @@ -2518,7 +2518,7 @@ GTK_ALIGN_CENTER False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - <b>Anamorphic Modes:</b> + <b>Anamorphic Modes:</b> <small><tt> None - Force pixel aspect ratio to 1:1. Loose - Align dimensions to chosen 'Alignment' value @@ -4347,7 +4347,7 @@ start True <b>Audio Encoder Settings:</b> - Each selected source track will be encoded with all selected encoders + Each selected source track will be encoded with all selected encoders 2 @@ -5319,7 +5319,7 @@ True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - This setting controls both subpixel-precision motion estimation and mode decision methods. + 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. @@ -5431,7 +5431,7 @@ True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - x264 has a variety of algorithms to decide when to use B-frames and how many to use. + 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. @@ -5745,7 +5745,7 @@ True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - H.264 deblocking filter. + 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 @@ -5772,7 +5772,7 @@ True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - H.264 deblocking filter. + 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 @@ -9056,7 +9056,7 @@ True False - <b>Dynamic Range Compression:</b> Adjust the dynamic range of the output audio track. + <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. @@ -9169,7 +9169,7 @@ GTK_ALIGN_CENTER False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - <b>Quality:</b> For output codec's that support it, adjust the quality of the output. + <b>Quality:</b> For output codec's that support it, adjust the quality of the output. vertical audio_quality_adj weather-storm @@ -9263,7 +9263,7 @@ GTK_ALIGN_CENTER False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - <b>Audio Gain:</b> Adjust the amplification or attenuation of the output audio track. + <b>Audio Gain:</b> Adjust the amplification or attenuation of the output audio track. vertical adjustment35 audio-volume-muted @@ -9314,7 +9314,7 @@ GTK_ALIGN_CENTER False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - <b>Dynamic Range Compression:</b> Adjust the dynamic range of the output audio track. + <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. diff -urN handbrake-0.10rc1/gtk/src/hb-backend.c handbrake-0.10rc1-patched/gtk/src/hb-backend.c --- handbrake-0.10rc1/gtk/src/hb-backend.c 2014-09-04 22:38:35.000000000 +0400 +++ handbrake-0.10rc1-patched/gtk/src/hb-backend.c 2014-11-07 12:24:07.221390612 +0300 @@ -1871,7 +1871,7 @@ } else { - label = g_strdup_printf("%d (%05d.MPLS) - Unknown Length", + label = g_strdup_printf(_("%d (%05d.MPLS) - Unknown Length"), title->index, title->playlist); } } @@ -1884,7 +1884,7 @@ } else { - label = g_strdup_printf("%d - Unknown Length", + label = g_strdup_printf(_("%d - Unknown Length"), title->index); } } @@ -2847,7 +2847,7 @@ 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); } @@ -4287,7 +4287,7 @@ 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); diff -urN handbrake-0.10rc1/gtk/src/main.c handbrake-0.10rc1-patched/gtk/src/main.c --- handbrake-0.10rc1/gtk/src/main.c 2014-10-29 01:27:15.000000000 +0300 +++ handbrake-0.10rc1-patched/gtk/src/main.c 2014-11-07 12:23:22.358387601 +0300 @@ -1099,11 +1099,11 @@ 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")); diff -urN handbrake-0.10rc1/gtk/src/presets.c handbrake-0.10rc1-patched/gtk/src/presets.c --- handbrake-0.10rc1/gtk/src/presets.c 2014-10-30 02:04:11.000000000 +0300 +++ handbrake-0.10rc1-patched/gtk/src/presets.c 2014-11-07 12:23:41.797388906 +0300 @@ -18,6 +18,7 @@ #include #include #include +#include #include #include "ghbcompat.h" #include "hb.h" @@ -1609,7 +1610,7 @@ presets = presets_get_folder(presetsPlist, indices, len); if (presets == NULL) { - g_warning("Failed to find parent folder when adding child."); + g_warning(_("Failed to find parent folder when adding child.")); g_free(more_indices); return; } @@ -1761,7 +1762,7 @@ presets = presets_get_folder(presetsPlist, indices, len-1); if (presets == NULL) { - g_warning("Failed to find parent folder while adding child."); + g_warning(_("Failed to find parent folder while adding child.")); return; } parent_path = ghb_tree_path_new_from_indices(indices, len-1); @@ -3164,10 +3165,10 @@ { gchar *message; message = g_strdup_printf( - "%s: Folder already exists.\n" - "You can not replace it with a preset.", + _("%s: Folder already exists.\n" + "You can not replace it with a preset."), name); - ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL); + ghb_message_dialog(GTK_MESSAGE_ERROR, message, _("Cancel"), NULL); g_free(message); return; } @@ -3254,10 +3255,10 @@ { gchar *message; message = g_strdup_printf( - "%s: Preset already exists.\n" - "You can not replace it with a folder.", + _("%s: Preset already exists.\n" + "You can not replace it with a folder."), name); - ghb_message_dialog(GTK_MESSAGE_ERROR, message, "Cancel", NULL); + ghb_message_dialog(GTK_MESSAGE_ERROR, message, _("Cancel"), NULL); g_free(message); g_free(indices); return; @@ -3402,12 +3403,12 @@ NULL); filter = gtk_file_filter_new(); - 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(GTK_FILE_CHOOSER(dialog), filter); filter = gtk_file_filter_new(); - gtk_file_filter_set_name(filter, "Presets (*.plist)"); + gtk_file_filter_set_name(filter, _("Presets (*.plist)")); gtk_file_filter_add_pattern(filter, "*.plist"); gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter); gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter); @@ -3545,7 +3546,7 @@ name = g_value_get_string(ghb_array_get_nth(preset, count-1)); - dialog = gtk_file_chooser_dialog_new("Export Preset", NULL, + dialog = gtk_file_chooser_dialog_new(_("Export Preset"), NULL, GTK_FILE_CHOOSER_ACTION_SAVE, GHB_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GHB_STOCK_SAVE, GTK_RESPONSE_ACCEPT, @@ -3797,8 +3798,8 @@ folder = ghb_presets_get_folder(presetsPlist, indices, len); dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, - "Confirm deletion of %s:\n\n%s", - folder ? "folder" : "preset", + _("Confirm deletion of %s:\n\n%s"), + folder ? _("folder") : _("preset"), preset); response = gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy (dialog); @@ -4230,7 +4231,7 @@ } else { - g_debug("No selection??? Perhaps unselected."); + g_debug(_("No selection??? Perhaps unselected.")); gtk_widget_set_sensitive(widget, FALSE); } } diff -urN handbrake-0.10rc1/gtk/src/preview.c handbrake-0.10rc1-patched/gtk/src/preview.c --- handbrake-0.10rc1/gtk/src/preview.c 2014-06-25 02:06:06.000000000 +0400 +++ handbrake-0.10rc1-patched/gtk/src/preview.c 2014-11-07 12:23:22.358387601 +0300 @@ -1214,7 +1214,7 @@ 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 @@ -1224,7 +1224,7 @@ { 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); } } diff -urN handbrake-0.10rc1/gtk/src/queuehandler.c handbrake-0.10rc1-patched/gtk/src/queuehandler.c --- handbrake-0.10rc1/gtk/src/queuehandler.c 2014-10-30 02:04:11.000000000 +0300 +++ handbrake-0.10rc1-patched/gtk/src/queuehandler.c 2014-11-07 12:24:07.222390612 +0300 @@ -1856,8 +1856,8 @@ if (paused) { gtk_widget_set_sensitive (widget, show_start); - gtk_menu_item_set_label(GTK_MENU_ITEM(widget), "_Resume Queue"); - gtk_widget_set_tooltip_text(widget, "Resume Encoding"); + gtk_menu_item_set_label(GTK_MENU_ITEM(widget), _("_Resume Queue")); + gtk_widget_set_tooltip_text(widget, _("Resume Encoding")); } else { diff -urN handbrake-0.10rc1/gtk/src/videohandler.c handbrake-0.10rc1-patched/gtk/src/videohandler.c --- handbrake-0.10rc1/gtk/src/videohandler.c 2014-08-14 00:19:25.000000000 +0400 +++ handbrake-0.10rc1-patched/gtk/src/videohandler.c 2014-11-07 12:23:22.359387601 +0300 @@ -11,6 +11,7 @@ * any later version. */ +#include #include "ghbcompat.h" #include #include "settings.h" @@ -172,9 +173,9 @@ 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); @@ -194,9 +195,9 @@ 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); diff -urN handbrake-0.10rc1/gtk/src/x264handler.c handbrake-0.10rc1-patched/gtk/src/x264handler.c --- handbrake-0.10rc1/gtk/src/x264handler.c 2014-08-12 22:46:41.000000000 +0400 +++ handbrake-0.10rc1-patched/gtk/src/x264handler.c 2014-11-07 12:23:22.359387601 +0300 @@ -11,6 +11,7 @@ * any later version. */ +#include #include "ghbcompat.h" #include #include "settings.h" @@ -155,9 +156,9 @@ 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);