gd = generic_dialog_new(_("Map centering"),
"map_centering", nullptr, TRUE, nullptr, pgd);
- generic_dialog_add_message(gd, GQ_ICON_DIALOG_INFO,
- "Map Centering", message->str, TRUE);
+ generic_dialog_add_message(gd, GQ_ICON_DIALOG_INFO, _("Map Centering"), message->str, TRUE);
generic_dialog_add_button(gd, GQ_ICON_OK, "OK", nullptr, TRUE);
gtk_widget_show(gd->dialog);
gd = generic_dialog_new(_("Marks Keywords"),
"marks_keywords", menu_widget, TRUE, dummy_cancel_cb, pkd);
generic_dialog_add_message(gd, GQ_ICON_DIALOG_WARNING,
- "Disconnect all Marks Keywords connections?", _("This will disconnect all Marks Keywords connections"), TRUE);
+ _("Disconnect all Marks Keywords connections?"), _("This will disconnect all Marks Keywords connections"), TRUE);
generic_dialog_add_button(gd, GQ_ICON_OK, "OK", bar_pane_keywords_disconnect_marks_ok_cb, TRUE);
gtk_widget_show(gd->dialog);
gq_gtk_box_pack_end(GTK_BOX(vbox), pkd->autocomplete, FALSE, FALSE, 0);
gtk_widget_show(pkd->autocomplete);
gtk_widget_show(vbox);
- gtk_widget_set_tooltip_text(pkd->autocomplete, "Keyword autocomplete");
+ gtk_widget_set_tooltip_text(pkd->autocomplete, _("Keyword autocomplete"));
path = g_build_filename(get_rc_dir(), "keywords", NULL);
autocomplete_keywords_list_load(path);
gd = generic_dialog_new(_("Sort Manager Operations"),
"sort_manager_operations", nullptr, TRUE, nullptr, nullptr);
generic_dialog_add_message(gd, GQ_ICON_DIALOG_INFO,
- "Sort Manager Operations", _("Additional operations utilising plugins\nmay be included by setting:\n\nX-Geeqie-Filter=true\n\nin the plugin file."), TRUE);
+ _("Sort Manager Operations"), _("Additional operations utilising plugins\nmay be included by setting:\n\nX-Geeqie-Filter=true\n\nin the plugin file."), TRUE);
generic_dialog_add_button(gd, GQ_ICON_HELP, _("Help"), bar_filter_help_cb, TRUE);
generic_dialog_add_button(gd, GQ_ICON_OK, "OK", nullptr, TRUE);
nullptr, TRUE,
editor_list_window_delete_dlg_cancel, ewdl);
- generic_dialog_add_button(ewl->gd, GQ_ICON_DELETE, "Delete", editor_list_window_delete_dlg_ok_cb, TRUE);
+ generic_dialog_add_button(ewl->gd, GQ_ICON_DELETE, _("Delete"), editor_list_window_delete_dlg_ok_cb, TRUE);
text = g_strdup_printf(_("About to delete the file:\n %s"), path);
generic_dialog_add_message(ewl->gd, GQ_ICON_DIALOG_QUESTION,
gtk_widget_show(button);
ewl->edit_button = button;
- button = pref_button_new(nullptr, GQ_ICON_DELETE, "Delete",
+ button = pref_button_new(nullptr, GQ_ICON_DELETE, _("Delete"),
G_CALLBACK(editor_list_window_delete_cb), ewl);
gq_gtk_container_add(GTK_WIDGET(hbox), button);
gtk_widget_set_can_default(button, TRUE);
if (!di) return;
- gd = file_util_gen_dlg("Image thumbprint debug info", "thumbprint",
+ gd = file_util_gen_dlg(_("Image thumbprint debug info"), "thumbprint",
dw->window, TRUE,
nullptr, nullptr);
generic_dialog_add_button(gd, GQ_ICON_CLOSE, _("Close"), nullptr, TRUE);
gtk_widget_show(dw->custom_threshold);
button = gtk_check_button_new_with_label(_("Sort"));
- gtk_widget_set_tooltip_text(GTK_WIDGET(button), "Sort by group totals");
+ gtk_widget_set_tooltip_text(GTK_WIDGET(button), _("Sort by group totals"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), options->sort_totals);
g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(dupe_sort_totals_toggle_cb), dw);
gq_gtk_box_pack_start(GTK_BOX(controls_box), button, FALSE, FALSE, PREF_PAD_SPACE);
gtk_widget_show(button);
dw->button_rotation_invariant = gtk_check_button_new_with_label(_("Ignore Orientation"));
- gtk_widget_set_tooltip_text(GTK_WIDGET(dw->button_rotation_invariant), "Ignore image orientation");
+ gtk_widget_set_tooltip_text(GTK_WIDGET(dw->button_rotation_invariant), _("Ignore image orientation"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dw->button_rotation_invariant), options->rot_invariant_sim);
g_signal_connect(G_OBJECT(dw->button_rotation_invariant), "toggled",
G_CALLBACK(dupe_window_rotation_invariant_cb), dw);
{
const gint index = GPOINTER_TO_INT(data);
auto dw = static_cast<DupeWindow *>(dupe_window);
- const gchar *title = "Export duplicates data";
+ const gchar *title = _("Export duplicates data");
const gchar *default_path = "/tmp/";
gchar *file_extension;
ExportDupesData *edd;
/* CRW header starts with 2 bytes for byte order (always "II", little endian),
* 4 bytes for start of root block,
- * and 8 bytes of magic for file type and format "HEAPCCDR"
+ * and 8 bytes of magic for file type and format 'HEAPCCDR'
* (also 4 bytes for file version, and 8 bytes reserved)
*
* CIFF specification in pdf format is available on some websites,
- * search for "CIFFspecV1R03.pdf" or "CIFFspecV1R04.pdf"
+ * search for 'CIFFspecV1R03.pdf' or 'CIFFspecV1R04.pdf'
*/
if (len < CRW_HEADER_SIZE ||
memcmp(data, "II", 2) != 0 ||
gd = generic_dialog_new(_("Clear Marks"),
"marks_clear", nullptr, FALSE, clear_marks_cancel_cb, nullptr);
- generic_dialog_add_message(gd, GQ_ICON_DIALOG_QUESTION, "Clear all marks?",
- "This will clear all marks for all images,\nincluding those linked to keywords",
- TRUE);
+ generic_dialog_add_message(gd, GQ_ICON_DIALOG_QUESTION, _("Clear all marks?"), _("This will clear all marks for all images,\nincluding those linked to keywords"), TRUE);
generic_dialog_add_button(gd, GQ_ICON_OK, "OK", layout_menu_clear_marks_ok_cb, TRUE);
generic_dialog_add_button(gd, GQ_ICON_HELP, _("Help"),
clear_marks_help_cb, FALSE);
message = g_string_append(message, fd_n->name);
- gd = generic_dialog_new(_("Image orientation"),
- "Image orientation", nullptr, TRUE, nullptr, nullptr);
- generic_dialog_add_message(gd, GQ_ICON_DIALOG_ERROR,
- "Image orientation", message->str, TRUE);
+ gd = generic_dialog_new(_("Image orientation"), "image_orientation", nullptr, TRUE, nullptr, nullptr);
+ generic_dialog_add_message(gd, GQ_ICON_DIALOG_ERROR, _("Image orientation"), message->str, TRUE);
generic_dialog_add_button(gd, GQ_ICON_OK, "OK", nullptr, TRUE);
gtk_widget_show(gd->dialog);
gtk_widget_show(box_menu_tabcomp);
open_menu = layout_actions_menu_bar(lw);
- gtk_widget_set_tooltip_text(open_menu, "Open application menu");
+ gtk_widget_set_tooltip_text(open_menu, _("Open application menu"));
gq_gtk_box_pack_start(GTK_BOX(box_menu_tabcomp), open_menu, FALSE, FALSE, 0);
gq_gtk_box_pack_start(GTK_BOX(box_menu_tabcomp), tabcomp, TRUE, TRUE, 0);
gq_gtk_box_pack_start(GTK_BOX(box), box_menu_tabcomp, FALSE, FALSE, 0);
pixbuf = pixbuf_inline(PIXBUF_INLINE_LOGO);
/** @FIXME the zoom value set here is the value, which is then copied again and again
- in "Leave Zoom at previous setting" mode. This is not ideal. */
+ in 'Leave Zoom at previous setting' mode. This is not ideal. */
image_change_pixbuf(lw->image, pixbuf, 0.0, FALSE);
g_object_unref(pixbuf);
}
gtk_widget_show_all(logwin->wrap);
logwin->timer_data = gtk_toggle_button_new();
- label = gtk_label_new("Timer");
+ label = gtk_label_new(_("Timer"));
gtk_widget_set_tooltip_text(GTK_WIDGET(logwin->timer_data), _("Enable timer data"));
gq_gtk_container_add(GTK_WIDGET(logwin->timer_data), label) ;
gq_gtk_box_pack_start(GTK_BOX(hbox),logwin->timer_data, FALSE, FALSE, 0) ;
* Examples:
* "<i>*</i>\n" -> data is displayed in italics ended with a newline
* "\n" -> ended with newline
- * "ISO *" -> prefix data with "ISO " (ie. "ISO 100")
+ * 'ISO *' -> prefix data with 'ISO ' (ie. 'ISO 100')
* "\**\*" -> prefix data with a star, and append a star (ie. "*100*")
* "\\*" -> prefix data with an anti slash (ie "\100")
- * "Collection <b>*</b>\n" -> display data in bold prefixed by "Collection " and a newline is appended
+ * 'Collection <b>*</b>\n' -> display data in bold prefixed by 'Collection ' and a newline is appended
*/
/** @FIXME using background / foreground colors lead to weird results.
*/
{
GtkWidget *dialog;
- dialog = gtk_font_chooser_dialog_new("Image Overlay Font", GTK_WINDOW(gtk_widget_get_toplevel(widget)));
+ dialog = gtk_font_chooser_dialog_new(_("Image Overlay Font"), GTK_WINDOW(gtk_widget_get_toplevel(widget)));
gtk_window_set_modal(GTK_WINDOW(dialog), TRUE);
gtk_font_chooser_set_font(GTK_FONT_CHOOSER(dialog), options->image_overlay.font);
button = pref_button_new(hbox, GQ_ICON_RUN, _("Search"),
G_CALLBACK(keywords_find_cb), keyword_text);
- gtk_widget_set_tooltip_text(button, "Search for existing keywords");
+ gtk_widget_set_tooltip_text(button, _("Search for existing keywords"));
keyword_text = gtk_text_view_new();
gtk_combo_box_set_active(GTK_COMBO_BOX(combo), current);
- gtk_widget_set_tooltip_text(combo,"Refer to the lcms documentation for the defaults used when the selected Intent is not available");
+ gtk_widget_set_tooltip_text(combo,_("Refer to the lcms documentation for the defaults used when the selected Intent is not available"));
g_signal_connect(G_OBJECT(combo), "changed",
G_CALLBACK(intent_menu_cb), option_c);
marks = pref_checkbox_new_int(group, _("Save marks on exit"),
options->marks_save, &c_options->marks_save);
- gtk_widget_set_tooltip_text(marks,"Note that marks linked to a keyword will be saved irrespective of this setting");
+ gtk_widget_set_tooltip_text(marks,_("Note that marks linked to a keyword will be saved irrespective of this setting"));
with_rename = pref_checkbox_new_int(group, _("Use \"With Rename\" as default for Copy/Move dialogs"),
options->with_rename, &c_options->with_rename);
collections_on_top = pref_checkbox_new_int(group, _("Permit duplicates in Collections"),
options->collections_duplicates, &c_options->collections_duplicates);
- gtk_widget_set_tooltip_text(collections_on_top,"Allow the same image to be in a Collection more than once");
+ gtk_widget_set_tooltip_text(collections_on_top, _("Allow the same image to be in a Collection more than once"));
collections_on_top = pref_checkbox_new_int(group, _("Open collections on top"),
options->collections_on_top, &c_options->collections_on_top);
- gtk_widget_set_tooltip_text(collections_on_top,"Open collections window on top");
+ gtk_widget_set_tooltip_text(collections_on_top, _("Open collections window on top"));
hide_window_in_fullscreen = pref_checkbox_new_int(group, _("Hide window in fullscreen"),
options->hide_window_in_fullscreen, &c_options->hide_window_in_fullscreen);
checkbox = pref_checkbox_new_int(group, _("Override disable GPU"),
options->override_disable_gpu, &c_options->override_disable_gpu);
- gtk_widget_set_tooltip_text(checkbox, "Contact the developers for usage");
+ gtk_widget_set_tooltip_text(checkbox, _("Contact the developers for usage"));
#ifdef DEBUG
pref_spacer(group, PREF_PAD_GROUP);
pref_line(vbox, PREF_PAD_SPACE);
group = pref_group_new(vbox, FALSE, _("Thread pool limits"), GTK_ORIENTATION_VERTICAL);
- threads_string_label = pref_label_new(group, "This option limits the number of threads (or cpu cores) that Geeqie will use when running duplicate checks.\nThe value 0 means all available cores will be used.");
+ threads_string_label = pref_label_new(group, _("This option limits the number of threads (or cpu cores) that Geeqie will use when running duplicate checks.\nThe value 0 means all available cores will be used."));
gtk_label_set_line_wrap(GTK_LABEL(threads_string_label), TRUE);
pref_spacer(vbox, PREF_PAD_GROUP);
gsize size;
guint32 flags;
- copyright = g_string_new("This program comes with absolutely no warranty.\nGNU General Public License, version 2 or later.\nSee https://www.gnu.org/licenses/old-licenses/gpl-2.0.html\n\n");
+ copyright = g_string_new(_("This program comes with absolutely no warranty.\nGNU General Public License, version 2 or later.\nSee https://www.gnu.org/licenses/old-licenses/gpl-2.0.html\n\n"));
timezone_path = g_build_filename(get_rc_dir(), TIMEZONE_DATABASE_FILE, NULL);
if (g_file_test(timezone_path, G_FILE_TEST_EXISTS))
}
g_free(timezone_path);
- copyright = g_string_append(copyright, "\n\nSome icons by https://www.flaticon.com");
+ copyright = g_string_append(copyright, _("\n\nSome icons by https://www.flaticon.com"));
in_stream_authors = g_resources_open_stream(GQ_RESOURCE_PATH_CREDITS "/authors", G_RESOURCE_LOOKUP_FLAGS_NONE, nullptr);
g_input_stream_read_all(in_stream_translators, translators, size, &bytes_read, nullptr, nullptr);
g_input_stream_close(in_stream_translators, nullptr, nullptr);
- comment = g_strconcat("Project created by John Ellis\nGQview 1998\nGeeqie 2007\n\n\nDevelopment and bug reports:\n", GQ_EMAIL_ADDRESS, "\nhttps://github.com/BestImageViewer/geeqie/issues",NULL);
+ comment = g_strconcat(N_("Project created by John Ellis\nGQview 1998\nGeeqie 2007\n\n\nDevelopment and bug reports:\n"), GQ_EMAIL_ADDRESS, N_("\nhttps://github.com/BestImageViewer/geeqie/issues"), NULL);
artists[0] = g_strdup("Néstor Díaz Valencia <nestor@estudionexos.com>");
artists[1] = nullptr;
"logo", pixbuf_logo,
"icon", pixbuf_icon,
"website", GQ_WEBSITE,
- "website-label", "Website",
+ "website-label", _("Website"),
"comments", comment,
"artists", artists,
"authors", authors,
gq_gtk_box_pack_start(GTK_BOX(subgroup), hbox, FALSE, FALSE, 0);
/* order is important */
- button1 = pref_radiobutton_new(hbox, nullptr, "Header 1",
+ button1 = pref_radiobutton_new(hbox, nullptr, _("Header 1"),
options->printer.image_text_position == HEADER_1,
G_CALLBACK(image_text_position_h1_cb), pw);
- button1 = pref_radiobutton_new(hbox, button1, "Header 2",
+ button1 = pref_radiobutton_new(hbox, button1, _("Header 2"),
options->printer.image_text_position == HEADER_2,
G_CALLBACK(image_text_position_h2_cb), pw);
- button1 = pref_radiobutton_new(hbox, button1, "Footer 1",
+ button1 = pref_radiobutton_new(hbox, button1, _("Footer 1"),
options->printer.image_text_position == FOOTER_1,
G_CALLBACK(image_text_position_f1_cb), pw);
- button1 = pref_radiobutton_new(hbox, button1, "Footer 2",
+ button1 = pref_radiobutton_new(hbox, button1, _("Footer 2"),
options->printer.image_text_position == FOOTER_2,
G_CALLBACK(image_text_position_f2_cb), pw);
gtk_widget_show(hbox);
gq_gtk_box_pack_start(GTK_BOX(subgroup), hbox, FALSE, FALSE, 0);
/* order is important */
- button2 = pref_radiobutton_new(hbox, nullptr, "Header 1",
+ button2 = pref_radiobutton_new(hbox, nullptr, _("Header 1"),
options->printer.page_text_position == HEADER_1,
G_CALLBACK(page_text_position_h1_cb), pw);
- button2 = pref_radiobutton_new(hbox, button2, "Header 2",
+ button2 = pref_radiobutton_new(hbox, button2, _("Header 2"),
options->printer.page_text_position == HEADER_2,
G_CALLBACK(page_text_position_h2_cb), pw);
- button2 = pref_radiobutton_new(hbox, button2, "Footer 1",
+ button2 = pref_radiobutton_new(hbox, button2, _("Footer 1"),
options->printer.page_text_position == FOOTER_1,
G_CALLBACK(page_text_position_f1_cb), pw);
- button2 = pref_radiobutton_new(hbox, button2, "Footer 2",
+ button2 = pref_radiobutton_new(hbox, button2, _("Footer 2"),
options->printer.page_text_position == FOOTER_2,
G_CALLBACK(page_text_position_f2_cb), pw);
gtk_widget_show(hbox);
operation = gtk_print_operation_new();
settings = gtk_print_settings_new();
- gtk_print_operation_set_custom_tab_label(operation, "Options");
+ gtk_print_operation_set_custom_tab_label(operation, _("Options"));
gtk_print_operation_set_use_full_page(operation, TRUE);
gtk_print_operation_set_unit(operation, GTK_UNIT_POINTS);
gtk_print_operation_set_embed_page_setup(operation, TRUE);
}
else
{
- gq_gtk_entry_set_text(GTK_ENTRY(sd->entry_gps_coord), "Image is not geocoded");
+ gq_gtk_entry_set_text(GTK_ENTRY(sd->entry_gps_coord), _("Image is not geocoded"));
}
}
}
dd->entry, TRUE,
dest_view_delete_dlg_cancel, dl);
- generic_dialog_add_button(dd->gd, GQ_ICON_DELETE, "Delete", dest_view_delete_dlg_ok_cb, TRUE);
+ generic_dialog_add_button(dd->gd, GQ_ICON_DELETE, _("Delete"), dest_view_delete_dlg_ok_cb, TRUE);
text = g_strdup_printf(_("About to delete the file:\n %s"), path);
generic_dialog_add_message(dd->gd, GQ_ICON_DIALOG_QUESTION,
* @param data
* @returns
*
- * \image html file_util_gen_dlg.png "Typical implementation" width=200
+ * \image html file_util_gen_dlg.png 'Typical implementation' width=200
*/
GenericDialog *file_util_gen_dlg(const gchar *title,
const gchar *role,
* @param data
* @returns
*
- * \image html file_util_file_dlg.png "Typical implementation including optional filter, buttons and path widgets" width=300
+ * \image html file_util_file_dlg.png 'Typical implementation including optional filter, buttons and path widgets' width=300
*/
FileDialog *file_util_file_dlg(const gchar *title,
const gchar *role,
if (second_image)
{
- generic_dialog_add_image(ud->gd, box, nullptr, "Source", TRUE, nullptr, "Destination", TRUE);
+ generic_dialog_add_image(ud->gd, box, nullptr, _("Source"), TRUE, nullptr, _("Destination"), TRUE);
}
else
{
ud->messages.title = _("Delete folder");
ud->messages.question = _("Delete symbolic link?");
ud->messages.desc_flist = "";
- ud->messages.desc_source_fd = _("This will delete the symbolic link.\n"
- "The folder this link points to will not be deleted.");
+ ud->messages.desc_source_fd = _("This will delete the symbolic link.\nThe folder this link points to will not be deleted.");
ud->messages.fail = _("Link deletion failed");
file_util_dialog_run(ud);
{
gchar *text;
- text = g_strdup_printf(_("Unable to remove folder %s\n"
- "Permissions do not allow writing to the folder."), fd->path);
+ text = g_strdup_printf(_("Unable to remove folder %s\nPermissions do not allow writing to the folder."), fd->path);
file_util_warning_dialog(_("Delete failed"), text, GQ_ICON_DIALOG_ERROR, parent);
g_free(text);
parent, TRUE, nullptr, nullptr);
generic_dialog_add_button(gd, GQ_ICON_CLOSE, _("Close"), nullptr, TRUE);
- text = g_strdup_printf(_("Unable to delete the folder:\n\n%s\n\n"
- "This folder contains subfolders which must be moved before it can be deleted."),
+ text = g_strdup_printf(_("Unable to delete the folder:\n\n%s\n\nThis folder contains subfolders which must be moved before it can be deleted."),
fd->path);
box = generic_dialog_add_message(gd, GQ_ICON_DIALOG_WARNING,
_("Folder contains subfolders"),
ud->messages.title = _("Delete folder");
ud->messages.question = _("Delete folder?");
ud->messages.desc_flist = _("The folder contains these files:");
- ud->messages.desc_source_fd = _("This will delete the folder.\n"
- "The contents of this folder will also be deleted.");
+ ud->messages.desc_source_fd = _("This will delete the folder.\nThe contents of this folder will also be deleted.");
ud->messages.fail = _("File deletion failed");
if (!file_util_delete_dir_prepare(ud, flist, dlist))
gtk_entry_set_icon_from_icon_name(GTK_ENTRY(mte->edit_widget),
GTK_ENTRY_ICON_SECONDARY, GQ_ICON_CLEAR);
gtk_entry_set_icon_tooltip_text(GTK_ENTRY(mte->edit_widget),
- GTK_ENTRY_ICON_SECONDARY, "Clear");
+ GTK_ENTRY_ICON_SECONDARY, _("Clear"));
g_signal_connect(GTK_ENTRY(mte->edit_widget), "icon-press",
G_CALLBACK(vf_marks_filter_on_icon_press), mte);
{
auto vf = static_cast<ViewFile *>(data);
- vf_thumb_status(vf, 0.0, "Loading meta...");
+ vf_thumb_status(vf, 0.0, _("Loading meta..."));
vf->read_metadata_in_idle_id = 0;
}