diff --git a/AUTHORS b/AUTHORS index d555e63..c577e42 100644 --- a/AUTHORS +++ b/AUTHORS @@ -3,7 +3,7 @@ zathura is written by: Moritz Lipp Sebastian Ramacher -Other contributors are (in alphabetical order): +Other contributors are (in no particular order): Aepelzen Pavel Borzenkov @@ -14,3 +14,6 @@ Felix Herrmann int3 karottenreibe Johannes Meng +J. Commelin +Julian Orth +Roland Schatz diff --git a/callbacks.c b/callbacks.c index 81a1183..9e7d208 100644 --- a/callbacks.c +++ b/callbacks.c @@ -118,7 +118,35 @@ cb_pages_per_row_value_changed(girara_session_t* session, const char* UNUSED(nam pages_per_row = 1; } - page_widget_set_mode(zathura, pages_per_row); + unsigned int first_page_column = 1; + girara_setting_get(session, "first-page-column", &first_page_column); + + page_widget_set_mode(zathura, pages_per_row, first_page_column); + + if (zathura->document != NULL) { + unsigned int current_page = zathura_document_get_current_page_number(zathura->document); + page_set_delayed(zathura, current_page); + } +} + +void +cb_first_page_column_value_changed(girara_session_t* session, const char* UNUSED(name), girara_setting_type_t UNUSED(type), void* value, void* UNUSED(data)) +{ + g_return_if_fail(value != NULL); + g_return_if_fail(session != NULL); + g_return_if_fail(session->global.data != NULL); + zathura_t* zathura = session->global.data; + + int first_page_column = *(int*) value; + + if (first_page_column < 1) { + first_page_column = 1; + } + + unsigned int pages_per_row = 1; + girara_setting_get(session, "pages-per-row", &pages_per_row); + + page_widget_set_mode(zathura, pages_per_row, first_page_column); if (zathura->document != NULL) { unsigned int current_page = zathura_document_get_current_page_number(zathura->document); @@ -337,6 +365,25 @@ cb_setting_recolor_change(girara_session_t* session, const char* name, } } +void +cb_setting_recolor_keep_hue_change(girara_session_t* session, const char* name, + girara_setting_type_t UNUSED(type), void* value, void* UNUSED(data)) +{ + g_return_if_fail(value != NULL); + g_return_if_fail(session != NULL); + g_return_if_fail(session->global.data != NULL); + g_return_if_fail(name != NULL); + zathura_t* zathura = session->global.data; + + bool bool_value = *((bool*) value); + + if (zathura->global.recolor_keep_hue != bool_value) { + zathura->global.recolor_keep_hue = bool_value; + render_all(zathura); + } +} + + bool cb_unknown_command(girara_session_t* session, const char* input) { diff --git a/callbacks.h b/callbacks.h index a7062ea..94feaec 100644 --- a/callbacks.h +++ b/callbacks.h @@ -47,6 +47,18 @@ void cb_view_vadjustment_value_changed(GtkAdjustment *adjustment, gpointer data) */ void cb_pages_per_row_value_changed(girara_session_t* session, const char* name, girara_setting_type_t type, void* value, void* data); +/** + * This function gets called when the value of the "first-page-column" + * variable changes + * + * @param session The current girara session + * @param name The name of the row + * @param type The settings type + * @param value The value + * @param data Custom data + */ +void cb_first_page_column_value_changed(girara_session_t* session, const char* name, + girara_setting_type_t type, void* value, void* data); /** * Called when an index element is activated (e.g.: double click) @@ -111,6 +123,19 @@ bool cb_view_resized(GtkWidget* widget, GtkAllocation* allocation, zathura_t* za void cb_setting_recolor_change(girara_session_t* session, const char* name, girara_setting_type_t type, void* value, void* data); +/** + * Emitted when the 'recolor-keephue' setting is changed + * + * @param session Girara session + * @param name Name of the setting ("recolor") + * @param type Type of the setting (BOOLEAN) + * @param value New value + * @param data Custom data + */ +void cb_setting_recolor_keep_hue_change(girara_session_t* session, const char* name, + girara_setting_type_t type, void* value, void* data); + + /** * Unknown command handler which is used to handle the strict numeric goto * command diff --git a/commands.c b/commands.c index 706b718..5d568f7 100644 --- a/commands.c +++ b/commands.c @@ -15,11 +15,13 @@ #include "utils.h" #include "page-widget.h" #include "page.h" +#include "plugin.h" #include "internal.h" #include "render.h" #include #include +#include #include #include @@ -486,6 +488,27 @@ error_ret: return true; } +bool +cmd_exec(girara_session_t* session, girara_list_t* argument_list) +{ + g_return_val_if_fail(session != NULL, false); + g_return_val_if_fail(session->global.data != NULL, false); + zathura_t* zathura = session->global.data; + + if (zathura->document != NULL) { + const char* path = zathura_document_get_path(zathura->document); + + GIRARA_LIST_FOREACH(argument_list, char*, iter, value) + char* r = NULL; + if ((r = replace_substring(value, "$FILE", path)) != NULL) { + girara_list_iterator_set(iter, r); + } + GIRARA_LIST_FOREACH_END(argument_list, char*, iter, value); + } + + return girara_exec_with_argument_list(session, argument_list); +} + bool cmd_offset(girara_session_t* session, girara_list_t* argument_list) { @@ -518,3 +541,23 @@ cmd_offset(girara_session_t* session, girara_list_t* argument_list) return true; } + +bool +cmd_version(girara_session_t* session, girara_list_t* UNUSED(argument_list)) +{ + g_return_val_if_fail(session != NULL, false); + g_return_val_if_fail(session->global.data != NULL, false); + zathura_t* zathura = session->global.data; + + char* string = zathura_get_version_string(zathura, true); + if (string == NULL) { + return false; + } + + /* display information */ + girara_notify(session, GIRARA_INFO, "%s", string); + + g_free(string); + + return true; +} diff --git a/commands.h b/commands.h index 6e6a1a0..1327068 100644 --- a/commands.h +++ b/commands.h @@ -142,6 +142,15 @@ bool cmd_search(girara_session_t* session, const char* input, girara_argument_t* */ bool cmd_export(girara_session_t* session, girara_list_t* argument_list); +/** + * Execute command + * + * @param session The used girara session + * @param argument_list List of passed arguments + * @return true if no error occured + */ +bool cmd_exec(girara_session_t* session, girara_list_t* argument_list); + /** * Set page offset * @@ -151,4 +160,13 @@ bool cmd_export(girara_session_t* session, girara_list_t* argument_list); */ bool cmd_offset(girara_session_t* session, girara_list_t* argument_list); +/** + * Shows version information + * + * @param session The used girara session + * @param argument_list List of passed arguments + * @return true if no error occured + */ +bool cmd_version(girara_session_t* session, girara_list_t* argument_list); + #endif // COMMANDS_H diff --git a/completion.c b/completion.c index cca4a18..3fd0611 100644 --- a/completion.c +++ b/completion.c @@ -32,7 +32,7 @@ compare_case_insensitive(const char* str1, const char* str2) static girara_list_t* list_files(zathura_t* zathura, const char* current_path, const char* current_file, - int current_file_length, bool is_dir, bool check_file_ext) + unsigned int current_file_length, bool is_dir, bool check_file_ext) { if (zathura == NULL || zathura->ui.session == NULL || current_path == NULL) { return NULL; @@ -60,7 +60,7 @@ list_files(zathura_t* zathura, const char* current_path, const char* current_fil goto error_free; } - int e_length = strlen(e_name); + size_t e_length = strlen(e_name); if (show_hidden == false && e_name[0] == '.') { g_free(e_name); @@ -112,7 +112,7 @@ error_free: return NULL; } -girara_completion_t* +static girara_completion_t* list_files_for_cc(zathura_t* zathura, const char* input, bool check_file_ext) { girara_completion_t* completion = girara_completion_init(); diff --git a/config.c b/config.c index 6c7c801..dbed831 100644 --- a/config.c +++ b/config.c @@ -53,8 +53,13 @@ cb_page_padding_changed(girara_session_t* session, const char* UNUSED(name), int val = *(int*) value; if (GTK_IS_TABLE(zathura->ui.page_widget) == TRUE) { +#if (GTK_MAJOR_VERSION == 3) + gtk_grid_set_row_spacing(GTK_GRID(zathura->ui.page_widget), val); + gtk_grid_set_column_spacing(GTK_GRID(zathura->ui.page_widget), val); +#else gtk_table_set_row_spacings(GTK_TABLE(zathura->ui.page_widget), val); gtk_table_set_col_spacings(GTK_TABLE(zathura->ui.page_widget), val); +#endif } } @@ -104,13 +109,17 @@ config_load_default(zathura_t* zathura) girara_setting_add(gsession, "page-padding", &int_value, INT, false, _("Padding between pages"), cb_page_padding_changed, NULL); int_value = 1; girara_setting_add(gsession, "pages-per-row", &int_value, INT, false, _("Number of pages per row"), cb_pages_per_row_value_changed, NULL); + int_value = 1; + girara_setting_add(gsession, "first-page-column", &int_value, INT, false, _("Column of the first page"),cb_first_page_column_value_changed, NULL); float_value = 40; girara_setting_add(gsession, "scroll-step", &float_value, FLOAT, false, _("Scroll step"), NULL, NULL); + float_value = -1; + girara_setting_add(gsession, "scroll-hstep", &float_value, FLOAT, false, _("Horizontal scroll step"), NULL, NULL); int_value = 10; girara_setting_add(gsession, "zoom-min", &int_value, INT, false, _("Zoom minimum"), NULL, NULL); int_value = 1000; girara_setting_add(gsession, "zoom-max", &int_value, INT, false, _("Zoom maximum"), NULL, NULL); - int_value = 5; + int_value = 20; girara_setting_add(gsession, "page-store-threshold", &int_value, INT, false, _("Life time (in seconds) of a hidden page"), NULL, NULL); girara_setting_add(gsession, "page-store-interval", &int_value, INT, true, _("Amount of seconds between each cache purge"), NULL, NULL); @@ -126,9 +135,15 @@ config_load_default(zathura_t* zathura) bool_value = false; girara_setting_add(gsession, "recolor", &bool_value, BOOLEAN, false, _("Recolor pages"), cb_setting_recolor_change, NULL); bool_value = false; + girara_setting_add(gsession, "recolor-keephue", &bool_value, BOOLEAN, false, _("When recoloring keep original hue and adjust lightness only"), cb_setting_recolor_keep_hue_change, NULL); + bool_value = false; girara_setting_add(gsession, "scroll-wrap", &bool_value, BOOLEAN, false, _("Wrap scrolling"), NULL, NULL); bool_value = false; girara_setting_add(gsession, "advance-pages-per-row", &bool_value, BOOLEAN, false, _("Advance number of pages per row"), NULL, NULL); + bool_value = false; + girara_setting_add(gsession, "zoom-center", &bool_value, BOOLEAN, false, _("Horizontally centered zoom"), NULL, NULL); + bool_value = true; + girara_setting_add(gsession, "search-hadjust", &bool_value, BOOLEAN, false, _("Center result horizontally"), NULL, NULL); float_value = 0.5; girara_setting_add(gsession, "highlight-transparency", &float_value, FLOAT, false, _("Transparency for highlighting"), NULL, NULL); bool_value = true; @@ -144,6 +159,10 @@ config_load_default(zathura_t* zathura) girara_setting_add(gsession, "nohlsearch", &bool_value, BOOLEAN, false, _("Highlight search results"), cb_nohlsearch_changed, NULL); bool_value = true; girara_setting_add(gsession, "abort-clear-search", &bool_value, BOOLEAN, false, _("Clear search results on abort"), NULL, NULL); + bool_value = false; + girara_setting_add(gsession, "window-title-basename", &bool_value, BOOLEAN, false, _("Use basename of the file in the window title"), NULL, NULL); + bool_value = false; + girara_setting_add(gsession, "synctex", &bool_value, BOOLEAN, false, _("Enable synctex support"), NULL, NULL); /* define default shortcuts */ girara_shortcut_add(gsession, GDK_CONTROL_MASK, GDK_KEY_c, NULL, sc_abort, 0, 0, NULL); @@ -242,14 +261,20 @@ config_load_default(zathura_t* zathura) girara_shortcut_add(gsession, 0, GDK_KEY_minus, NULL, sc_zoom, FULLSCREEN, ZOOM_OUT, NULL); girara_shortcut_add(gsession, 0, GDK_KEY_equal, NULL, sc_zoom, NORMAL, ZOOM_ORIGINAL, NULL); girara_shortcut_add(gsession, 0, GDK_KEY_equal, NULL, sc_zoom, FULLSCREEN, ZOOM_ORIGINAL, NULL); + girara_shortcut_add(gsession, 0, 0, "zi", sc_zoom, NORMAL, ZOOM_IN, NULL); + girara_shortcut_add(gsession, 0, 0, "zi", sc_zoom, FULLSCREEN, ZOOM_IN, NULL); girara_shortcut_add(gsession, 0, 0, "zI", sc_zoom, NORMAL, ZOOM_IN, NULL); girara_shortcut_add(gsession, 0, 0, "zI", sc_zoom, FULLSCREEN, ZOOM_IN, NULL); + girara_shortcut_add(gsession, 0, 0, "zo", sc_zoom, NORMAL, ZOOM_OUT, NULL); + girara_shortcut_add(gsession, 0, 0, "zo", sc_zoom, FULLSCREEN, ZOOM_OUT, NULL); girara_shortcut_add(gsession, 0, 0, "zO", sc_zoom, NORMAL, ZOOM_OUT, NULL); girara_shortcut_add(gsession, 0, 0, "zO", sc_zoom, FULLSCREEN, ZOOM_OUT, NULL); girara_shortcut_add(gsession, 0, 0, "z0", sc_zoom, NORMAL, ZOOM_ORIGINAL, NULL); girara_shortcut_add(gsession, 0, 0, "z0", sc_zoom, FULLSCREEN, ZOOM_ORIGINAL, NULL); - girara_shortcut_add(gsession, 0, GDK_KEY_equal, NULL, sc_zoom, NORMAL, ZOOM_SPECIFIC, NULL); - girara_shortcut_add(gsession, 0, GDK_KEY_equal, NULL, sc_zoom, FULLSCREEN, ZOOM_SPECIFIC, NULL); + girara_shortcut_add(gsession, 0, 0, "zz", sc_zoom, NORMAL, ZOOM_SPECIFIC, NULL); + girara_shortcut_add(gsession, 0, 0, "zz", sc_zoom, FULLSCREEN, ZOOM_SPECIFIC, NULL); + girara_shortcut_add(gsession, 0, 0, "zZ", sc_zoom, NORMAL, ZOOM_SPECIFIC, NULL); + girara_shortcut_add(gsession, 0, 0, "zZ", sc_zoom, FULLSCREEN, ZOOM_SPECIFIC, NULL); /* mouse events */ girara_mouse_event_add(gsession, 0, 0, sc_mouse_scroll, NORMAL, GIRARA_EVENT_SCROLL_UP, UP, NULL); @@ -270,6 +295,7 @@ config_load_default(zathura_t* zathura) girara_inputbar_command_add(gsession, "blist", NULL, cmd_bookmark_open, cc_bookmarks, _("List all bookmarks")); girara_inputbar_command_add(gsession, "close", NULL, cmd_close, NULL, _("Close current file")); girara_inputbar_command_add(gsession, "info", NULL, cmd_info, NULL, _("Show file information")); + girara_inputbar_command_add(gsession, "exec", NULL, cmd_exec, NULL, _("Execute a command")); girara_inputbar_command_add(gsession, "help", NULL, cmd_help, NULL, _("Show help")); girara_inputbar_command_add(gsession, "open", "o", cmd_open, cc_open, _("Open document")); girara_inputbar_command_add(gsession, "quit", "q", cmd_quit, NULL, _("Close zathura")); @@ -282,6 +308,7 @@ config_load_default(zathura_t* zathura) girara_inputbar_command_add(gsession, "delmarks", "delm", cmd_marks_delete, NULL, _("Delete the specified marks")); girara_inputbar_command_add(gsession, "nohlsearch", "nohl", cmd_nohlsearch, NULL, _("Don't highlight current search results")); girara_inputbar_command_add(gsession, "hlsearch", NULL, cmd_hlsearch, NULL, _("Highlight current search results")); + girara_inputbar_command_add(gsession, "version", NULL, cmd_version, NULL, _("Show version information")); girara_special_command_add(gsession, '/', cmd_search, true, FORWARD, NULL); girara_special_command_add(gsession, '?', cmd_search, true, BACKWARD, NULL); diff --git a/config.mk b/config.mk index 99e9827..705ebce 100644 --- a/config.mk +++ b/config.mk @@ -3,7 +3,7 @@ ZATHURA_VERSION_MAJOR = 0 ZATHURA_VERSION_MINOR = 2 -ZATHURA_VERSION_REV = 0 +ZATHURA_VERSION_REV = 1 # If the API changes, the API version and the ABI version have to be bumped. ZATHURA_API_VERSION = 2 # If the ABI breaks for any reason, this has to be bumped. @@ -16,7 +16,7 @@ ZATHURA_GTK_VERSION ?= 2 # minimum required zathura version # If you want to disable the check, set GIRARA_VERSION_CHECK to 0. -GIRARA_MIN_VERSION = 0.1.3 +GIRARA_MIN_VERSION = 0.1.4 GIRARA_VERSION_CHECK ?= $(shell pkg-config --atleast-version=$(GIRARA_MIN_VERSION) girara-gtk${ZATHURA_GTK_VERSION}; echo $$?) # database diff --git a/database-plain.c b/database-plain.c index 3003c68..dfc8776 100644 --- a/database-plain.c +++ b/database-plain.c @@ -21,6 +21,7 @@ #define KEY_SCALE "scale" #define KEY_ROTATE "rotate" #define KEY_PAGES_PER_ROW "pages-per-row" +#define KEY_FIRST_PAGE_COLUMN "first-page-column" #define KEY_POSITION_X "position-x" #define KEY_POSITION_Y "position-y" @@ -387,8 +388,9 @@ plain_set_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t* g_key_file_set_string (priv->history, name, KEY_SCALE, tmp); g_free(tmp); - g_key_file_set_integer(priv->history, name, KEY_ROTATE, file_info->rotation); - g_key_file_set_integer(priv->history, name, KEY_PAGES_PER_ROW, file_info->pages_per_row); + g_key_file_set_integer(priv->history, name, KEY_ROTATE, file_info->rotation); + g_key_file_set_integer(priv->history, name, KEY_PAGES_PER_ROW, file_info->pages_per_row); + g_key_file_set_integer(priv->history, name, KEY_FIRST_PAGE_COLUMN, file_info->first_page_column); tmp = g_strdup_printf("%f", file_info->position_x); g_key_file_set_string(priv->history, name, KEY_POSITION_X, tmp); @@ -424,10 +426,11 @@ plain_get_fileinfo(zathura_database_t* db, const char* file, zathura_fileinfo_t* return false; } - file_info->current_page = g_key_file_get_integer(priv->history, name, KEY_PAGE, NULL); - file_info->page_offset = g_key_file_get_integer(priv->history, name, KEY_OFFSET, NULL); - file_info->rotation = g_key_file_get_integer(priv->history, name, KEY_ROTATE, NULL); - file_info->pages_per_row = g_key_file_get_integer(priv->history, name, KEY_PAGES_PER_ROW, NULL); + file_info->current_page = g_key_file_get_integer(priv->history, name, KEY_PAGE, NULL); + file_info->page_offset = g_key_file_get_integer(priv->history, name, KEY_OFFSET, NULL); + file_info->rotation = g_key_file_get_integer(priv->history, name, KEY_ROTATE, NULL); + file_info->pages_per_row = g_key_file_get_integer(priv->history, name, KEY_PAGES_PER_ROW, NULL); + file_info->first_page_column = g_key_file_get_integer(priv->history, name, KEY_FIRST_PAGE_COLUMN, NULL); char* scale_string = g_key_file_get_string(priv->history, name, KEY_SCALE, NULL); if (scale_string != NULL) { diff --git a/database-sqlite.c b/database-sqlite.c index b8f3edb..56969e2 100644 --- a/database-sqlite.c +++ b/database-sqlite.c @@ -120,6 +120,7 @@ sqlite_db_init(ZathuraSQLDatabase* db, const char* path) "scale FLOAT," "rotation INTEGER," "pages_per_row INTEGER," + "first_page_column INTEGER," "position_x FLOAT," "position_y FLOAT" ");"; @@ -129,6 +130,9 @@ sqlite_db_init(ZathuraSQLDatabase* db, const char* path) "ALTER TABLE fileinfo ADD COLUMN position_x FLOAT;" "ALTER TABLE fileinfo ADD COLUMN position_y FLOAT;"; + static const char SQL_FILEINFO_ALTER2[] = + "ALTER TABLE fileinfo ADD COLUMN first_page_column INTEGER;"; + sqlite3* session = NULL; if (sqlite3_open(path, &session) != SQLITE_OK) { girara_error("Could not open database: %s\n", path); @@ -155,6 +159,14 @@ sqlite_db_init(ZathuraSQLDatabase* db, const char* path) } } + data_type = NULL; + if (sqlite3_table_column_metadata(session, NULL, "fileinfo", "first_page_column", &data_type, NULL, NULL, NULL, NULL) != SQLITE_OK) { + girara_debug("old database table layout detected; updating ..."); + if (sqlite3_exec(session, SQL_FILEINFO_ALTER2, NULL, 0, NULL) != SQLITE_OK) { + girara_warning("failed to update database table layout"); + } + } + priv->session = session; } @@ -299,21 +311,22 @@ sqlite_set_fileinfo(zathura_database_t* db, const char* file, zathura_sqldatabase_private_t* priv = ZATHURA_SQLDATABASE_GET_PRIVATE(db); static const char SQL_FILEINFO_SET[] = - "REPLACE INTO fileinfo (file, page, offset, scale, rotation, pages_per_row, position_x, position_y) VALUES (?, ?, ?, ?, ?, ?, ?, ?);"; + "REPLACE INTO fileinfo (file, page, offset, scale, rotation, pages_per_row, first_page_column, position_x, position_y) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);"; sqlite3_stmt* stmt = prepare_statement(priv->session, SQL_FILEINFO_SET); if (stmt == NULL) { return false; } - if (sqlite3_bind_text(stmt, 1, file, -1, NULL) != SQLITE_OK || - sqlite3_bind_int(stmt, 2, file_info->current_page) != SQLITE_OK || - sqlite3_bind_int(stmt, 3, file_info->page_offset) != SQLITE_OK || - sqlite3_bind_double(stmt, 4, file_info->scale) != SQLITE_OK || - sqlite3_bind_int(stmt, 5, file_info->rotation) != SQLITE_OK || - sqlite3_bind_int(stmt, 6, file_info->pages_per_row) != SQLITE_OK || - sqlite3_bind_double(stmt, 7, file_info->position_x) != SQLITE_OK || - sqlite3_bind_double(stmt, 8, file_info->position_y) != SQLITE_OK) { + if (sqlite3_bind_text(stmt, 1, file, -1, NULL) != SQLITE_OK || + sqlite3_bind_int(stmt, 2, file_info->current_page) != SQLITE_OK || + sqlite3_bind_int(stmt, 3, file_info->page_offset) != SQLITE_OK || + sqlite3_bind_double(stmt, 4, file_info->scale) != SQLITE_OK || + sqlite3_bind_int(stmt, 5, file_info->rotation) != SQLITE_OK || + sqlite3_bind_int(stmt, 6, file_info->pages_per_row) != SQLITE_OK || + sqlite3_bind_int(stmt, 7, file_info->first_page_column) != SQLITE_OK || + sqlite3_bind_double(stmt, 8, file_info->position_x) != SQLITE_OK || + sqlite3_bind_double(stmt, 9, file_info->position_y) != SQLITE_OK) { sqlite3_finalize(stmt); girara_error("Failed to bind arguments."); return false; @@ -336,7 +349,7 @@ sqlite_get_fileinfo(zathura_database_t* db, const char* file, zathura_sqldatabase_private_t* priv = ZATHURA_SQLDATABASE_GET_PRIVATE(db); static const char SQL_FILEINFO_GET[] = - "SELECT page, offset, scale, rotation, pages_per_row, position_x, position_y FROM fileinfo WHERE file = ?;"; + "SELECT page, offset, scale, rotation, pages_per_row, first_page_column, position_x, position_y FROM fileinfo WHERE file = ?;"; sqlite3_stmt* stmt = prepare_statement(priv->session, SQL_FILEINFO_GET); if (stmt == NULL) { @@ -355,13 +368,14 @@ sqlite_get_fileinfo(zathura_database_t* db, const char* file, return false; } - file_info->current_page = sqlite3_column_int(stmt, 0); - file_info->page_offset = sqlite3_column_int(stmt, 1); - file_info->scale = sqlite3_column_double(stmt, 2); - file_info->rotation = sqlite3_column_int(stmt, 3); - file_info->pages_per_row = sqlite3_column_int(stmt, 4); - file_info->position_x = sqlite3_column_double(stmt, 5); - file_info->position_y = sqlite3_column_double(stmt, 6); + file_info->current_page = sqlite3_column_int(stmt, 0); + file_info->page_offset = sqlite3_column_int(stmt, 1); + file_info->scale = sqlite3_column_double(stmt, 2); + file_info->rotation = sqlite3_column_int(stmt, 3); + file_info->pages_per_row = sqlite3_column_int(stmt, 4); + file_info->first_page_column = sqlite3_column_int(stmt, 5); + file_info->position_x = sqlite3_column_double(stmt, 6); + file_info->position_y = sqlite3_column_double(stmt, 7); sqlite3_finalize(stmt); diff --git a/database.h b/database.h index d2cd624..5161b35 100644 --- a/database.h +++ b/database.h @@ -15,6 +15,7 @@ typedef struct zathura_fileinfo_s { double scale; unsigned int rotation; unsigned int pages_per_row; + unsigned int first_page_column; double position_x; double position_y; } zathura_fileinfo_t; diff --git a/document.c b/document.c index 474d4b5..1dc6637 100644 --- a/document.c +++ b/document.c @@ -121,12 +121,13 @@ zathura_document_open(zathura_plugin_manager_t* plugin_manager, const char* document->adjust_mode = ZATHURA_ADJUST_NONE; /* open document */ - if (plugin->functions.document_open == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + if (functions->document_open == NULL) { girara_error("plugin has no open function\n"); goto error_free; } - zathura_error_t int_error = plugin->functions.document_open(document); + zathura_error_t int_error = functions->document_open(document); if (int_error != ZATHURA_ERROR_OK) { if (error != NULL) { *error = int_error; @@ -186,10 +187,11 @@ zathura_document_free(zathura_document_t* document) /* free document */ zathura_error_t error = ZATHURA_ERROR_OK; - if (document->plugin->functions.document_free == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin); + if (functions->document_free == NULL) { error = ZATHURA_ERROR_NOT_IMPLEMENTED; } else { - error = document->plugin->functions.document_free(document, document->data); + error = functions->document_free(document, document->data); } if (document->file_path != NULL) { @@ -395,11 +397,12 @@ zathura_document_save_as(zathura_document_t* document, const char* path) return ZATHURA_ERROR_UNKNOWN; } - if (document->plugin->functions.document_save_as == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin); + if (functions->document_save_as == NULL) { return ZATHURA_ERROR_NOT_IMPLEMENTED; } - return document->plugin->functions.document_save_as(document, document->data, path); + return functions->document_save_as(document, document->data, path); } girara_tree_node_t* @@ -412,14 +415,15 @@ zathura_document_index_generate(zathura_document_t* document, zathura_error_t* e return NULL; } - if (document->plugin->functions.document_index_generate == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin); + if (functions->document_index_generate == NULL) { if (error != NULL) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } return NULL; } - return document->plugin->functions.document_index_generate(document, document->data, error); + return functions->document_index_generate(document, document->data, error); } girara_list_t* @@ -432,14 +436,15 @@ zathura_document_attachments_get(zathura_document_t* document, zathura_error_t* return NULL; } - if (document->plugin->functions.document_attachments_get == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin); + if (functions->document_attachments_get == NULL) { if (error != NULL) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } return NULL; } - return document->plugin->functions.document_attachments_get(document, document->data, error); + return functions->document_attachments_get(document, document->data, error); } zathura_error_t @@ -449,11 +454,12 @@ zathura_document_attachment_save(zathura_document_t* document, const char* attac return ZATHURA_ERROR_INVALID_ARGUMENTS; } - if (document->plugin->functions.document_attachment_save == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin); + if (functions->document_attachment_save == NULL) { return ZATHURA_ERROR_NOT_IMPLEMENTED; } - return document->plugin->functions.document_attachment_save(document, document->data, attachment, file); + return functions->document_attachment_save(document, document->data, attachment, file); } girara_list_t* @@ -466,14 +472,15 @@ zathura_document_get_information(zathura_document_t* document, zathura_error_t* return NULL; } - if (document->plugin->functions.document_get_information == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(document->plugin); + if (functions->document_get_information == NULL) { if (error != NULL) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } return NULL; } - girara_list_t* result = document->plugin->functions.document_get_information(document, document->data, error); + girara_list_t* result = functions->document_get_information(document, document->data, error); if (result != NULL) { girara_list_set_free_function(result, (girara_free_function_t) zathura_document_information_entry_free); } diff --git a/main.c b/main.c index 7c80083..86ea05b 100644 --- a/main.c +++ b/main.c @@ -1,34 +1,151 @@ /* See LICENSE file for license and copyright information */ #include +#include #include #include +#include #include #include "zathura.h" +#include "utils.h" /* main function */ -int main(int argc, char* argv[]) +int +main(int argc, char* argv[]) { + /* init locale */ setlocale(LC_ALL, ""); bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); + /* init gtk */ g_thread_init(NULL); gdk_threads_init(); gtk_init(&argc, &argv); - zathura_t* zathura = zathura_init(argc, argv); + /* create zathura session */ + zathura_t* zathura = zathura_create(); if (zathura == NULL) { - fprintf(stderr, "error: could not initialize zathura\n"); return -1; } + /* parse command line arguments */ + gchar* config_dir = NULL; + gchar* data_dir = NULL; + gchar* plugin_path = NULL; + gchar* loglevel = NULL; + gchar* password = NULL; + gchar* synctex_editor = NULL; + bool forkback = false; + bool print_version = false; + bool synctex = false; + +#if (GTK_MAJOR_VERSION == 3) + Window embed = 0; +#else + GdkNativeWindow embed = 0; +#endif + + GOptionEntry entries[] = { + { "reparent", 'e', 0, G_OPTION_ARG_INT, &embed, _("Reparents to window specified by xid"), "xid" }, + { "config-dir", 'c', 0, G_OPTION_ARG_FILENAME, &config_dir, _("Path to the config directory"), "path" }, + { "data-dir", 'd', 0, G_OPTION_ARG_FILENAME, &data_dir, _("Path to the data directory"), "path" }, + { "plugins-dir", 'p', 0, G_OPTION_ARG_STRING, &plugin_path, _("Path to the directories containing plugins"), "path" }, + { "fork", '\0',0, G_OPTION_ARG_NONE, &forkback, _("Fork into the background"), NULL }, + { "password", 'w', 0, G_OPTION_ARG_STRING, &password, _("Document password"), "password" }, + { "debug", 'l', 0, G_OPTION_ARG_STRING, &loglevel, _("Log level (debug, info, warning, error)"), "level" }, + { "version", 'v', 0, G_OPTION_ARG_NONE, &print_version, _("Print version information"), NULL }, + { "synctex", 's', 0, G_OPTION_ARG_NONE, &synctex, _("Enable synctex support"), NULL }, + { "synctex-editor-command", 'x', 0, G_OPTION_ARG_STRING, &synctex_editor, _("Synctex editor (forwarded to the synctex command)"), "cmd" }, + { NULL, '\0', 0, 0, NULL, NULL, NULL } + }; + + GOptionContext* context = g_option_context_new(" [file1] [file2] [...]"); + g_option_context_add_main_entries(context, entries, NULL); + + GError* error = NULL; + if (g_option_context_parse(context, &argc, &argv, &error) == false) { + girara_error("Error parsing command line arguments: %s\n", error->message); + g_option_context_free(context); + g_error_free(error); + + return -1; + } + g_option_context_free(context); + + /* Fork into the background if the user really wants to ... */ + if (forkback == true) { + int pid = fork(); + if (pid > 0) { /* parent */ + exit(0); + } else if (pid < 0) { /* error */ + girara_error("Couldn't fork."); + } + + setsid(); + } + + /* Set log level. */ + if (loglevel == NULL || g_strcmp0(loglevel, "info") == 0) { + girara_set_debug_level(GIRARA_INFO); + } else if (g_strcmp0(loglevel, "warning") == 0) { + girara_set_debug_level(GIRARA_WARNING); + } else if (g_strcmp0(loglevel, "error") == 0) { + girara_set_debug_level(GIRARA_ERROR); + } + + zathura_set_xid(zathura, embed); + zathura_set_config_dir(zathura, config_dir); + zathura_set_data_dir(zathura, data_dir); + zathura_set_plugin_dir(zathura, plugin_path); + zathura_set_synctex_editor_command(zathura, synctex_editor); + zathura_set_argv(zathura, argv); + + /* Init zathura */ + if(zathura_init(zathura) == false) { + girara_error("Could not initialize zathura."); + zathura_free(zathura); + return -1; + } + + /* Enable/Disable synctex support */ + zathura_set_syntex(zathura, synctex); + + /* Print version */ + if (print_version == true) { + char* string = zathura_get_version_string(zathura, false); + if (string != NULL) { + fprintf(stdout, "%s\n", string); + } + zathura_free(zathura); + + return 0; + } + + /* open document if passed */ + if (argc > 1) { + document_open_idle(zathura, argv[1], password); + + /* open additional files */ + for (int i = 2; i < argc; i++) { + char* new_argv[] = { + *(zathura->global.arguments), + argv[i], + NULL + }; + + g_spawn_async(NULL, new_argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); + } + } + + /* run zathura */ gdk_threads_enter(); gtk_main(); gdk_threads_leave(); + /* free zathura */ zathura_free(zathura); return 0; diff --git a/marks.c b/marks.c index 1e65259..84e67f2 100644 --- a/marks.c +++ b/marks.c @@ -237,7 +237,7 @@ mark_evaluate(zathura_t* zathura, int key) if (mark != NULL && mark->key == key) { double old_scale = zathura_document_get_scale(zathura->document); zathura_document_set_scale(zathura->document, mark->scale); - readjust_view_after_zooming(zathura, old_scale); + readjust_view_after_zooming(zathura, old_scale, true); render_all(zathura); position_set_delayed(zathura, mark->position_x, mark->position_y); diff --git a/page-widget.c b/page-widget.c index 4734ff8..2f1f530 100644 --- a/page-widget.c +++ b/page-widget.c @@ -13,6 +13,7 @@ #include "render.h" #include "utils.h" #include "shortcuts.h" +#include "synctex.h" G_DEFINE_TYPE(ZathuraPage, zathura_page_widget, GTK_TYPE_DRAWING_AREA) @@ -385,7 +386,7 @@ zathura_page_widget_draw(GtkWidget* widget, cairo_t* cairo) /* draw position */ GdkColor color = priv->zathura->ui.colors.highlight_color; - cairo_set_source_rgba(cairo, color.red, color.green, color.blue, transparency); + cairo_set_source_rgba(cairo, color.red/65535.0, color.green/65535.0, color.blue/65535.0, transparency); cairo_rectangle(cairo, rectangle.x1, rectangle.y1, (rectangle.x2 - rectangle.x1), (rectangle.y2 - rectangle.y1)); cairo_fill(cairo); @@ -410,10 +411,10 @@ zathura_page_widget_draw(GtkWidget* widget, cairo_t* cairo) /* draw position */ if (idx == priv->search.current) { GdkColor color = priv->zathura->ui.colors.highlight_color_active; - cairo_set_source_rgba(cairo, color.red, color.green, color.blue, transparency); + cairo_set_source_rgba(cairo, color.red/65535.0, color.green/65535.0, color.blue/65535.0, transparency); } else { GdkColor color = priv->zathura->ui.colors.highlight_color; - cairo_set_source_rgba(cairo, color.red, color.green, color.blue, transparency); + cairo_set_source_rgba(cairo, color.red/65535.0, color.green/65535.0, color.blue/65535.0, transparency); } cairo_rectangle(cairo, rectangle.x1, rectangle.y1, (rectangle.x2 - rectangle.x1), (rectangle.y2 - rectangle.y1)); @@ -424,7 +425,7 @@ zathura_page_widget_draw(GtkWidget* widget, cairo_t* cairo) /* draw selection */ if (priv->mouse.selection.y2 != -1 && priv->mouse.selection.x2 != -1) { GdkColor color = priv->zathura->ui.colors.highlight_color; - cairo_set_source_rgba(cairo, color.red, color.green, color.blue, transparency); + cairo_set_source_rgba(cairo, color.red/65535.0, color.green/65535.0, color.blue/65535.0, transparency); cairo_rectangle(cairo, priv->mouse.selection.x1, priv->mouse.selection.y1, (priv->mouse.selection.x2 - priv->mouse.selection.x1), (priv->mouse.selection.y2 - priv->mouse.selection.y1)); cairo_fill(cairo); @@ -433,9 +434,9 @@ zathura_page_widget_draw(GtkWidget* widget, cairo_t* cairo) /* set background color */ if (priv->zathura->global.recolor == true) { GdkColor color = priv->zathura->ui.colors.recolor_light_color; - cairo_set_source_rgb(cairo, color.red, color.green, color.blue); + cairo_set_source_rgb(cairo, color.red/65535.0, color.green/65535.0, color.blue/65535.0); } else { - cairo_set_source_rgb(cairo, 255, 255, 255); + cairo_set_source_rgb(cairo, 1, 1, 1); } cairo_rectangle(cairo, 0, 0, page_width, page_height); cairo_fill(cairo); @@ -447,12 +448,12 @@ zathura_page_widget_draw(GtkWidget* widget, cairo_t* cairo) if (render_loading == true) { if (priv->zathura->global.recolor == true) { GdkColor color = priv->zathura->ui.colors.recolor_dark_color; - cairo_set_source_rgb(cairo, color.red, color.green, color.blue); + cairo_set_source_rgb(cairo, color.red/65535.0, color.green/65535.0, color.blue/65535.0); } else { cairo_set_source_rgb(cairo, 0, 0, 0); } - const char* text = "Loading..."; + const char* text = _("Loading..."); cairo_select_font_face(cairo, "Sans", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL); cairo_set_font_size(cairo, 16.0); cairo_text_extents_t extents; @@ -483,6 +484,7 @@ zathura_page_widget_update_surface(ZathuraPage* widget, cairo_surface_t* surface zathura_page_widget_private_t* priv = ZATHURA_PAGE_GET_PRIVATE(widget); g_static_mutex_lock(&(priv->lock)); if (priv->surface != NULL) { + cairo_surface_finish(priv->surface); cairo_surface_destroy(priv->surface); } priv->surface = surface; @@ -610,29 +612,41 @@ cb_zathura_page_widget_button_release_event(GtkWidget* widget, GdkEventButton* b } } else { redraw_rect(ZATHURA_PAGE(widget), &priv->mouse.selection); - zathura_rectangle_t tmp = priv->mouse.selection; - double scale = zathura_document_get_scale(document); - tmp.x1 /= scale; - tmp.x2 /= scale; - tmp.y1 /= scale; - tmp.y2 /= scale; + bool synctex = false; + girara_setting_get(priv->zathura->ui.session, "synctex", &synctex); - char* text = zathura_page_get_text(priv->page, tmp, NULL); - if (text != NULL) { - if (strlen(text) > 0) { - /* copy to clipboard */ - gtk_clipboard_set_text(gtk_clipboard_get(GDK_SELECTION_PRIMARY), text, -1); + if (synctex == true && button->state & GDK_CONTROL_MASK) { + /* synctex backwards sync */ + double scale = zathura_document_get_scale(document); + int x = button->x / scale, y = button->y / scale; + + synctex_edit(priv->zathura, priv->page, x, y); + } else { + zathura_rectangle_t tmp = priv->mouse.selection; + + double scale = zathura_document_get_scale(document); + tmp.x1 /= scale; + tmp.x2 /= scale; + tmp.y1 /= scale; + tmp.y2 /= scale; + + char* text = zathura_page_get_text(priv->page, tmp, NULL); + if (text != NULL) { + if (strlen(text) > 0) { + /* copy to clipboard */ + gtk_clipboard_set_text(gtk_clipboard_get(GDK_SELECTION_PRIMARY), text, -1); - if (priv->page != NULL && document != NULL && priv->zathura != NULL) { - char* stripped_text = g_strdelimit(g_strdup(text), "\n\t\r\n", ' '); - girara_notify(priv->zathura->ui.session, GIRARA_INFO, _("Copied selected text to clipboard: %s"), stripped_text); - g_free(stripped_text); + if (priv->page != NULL && document != NULL && priv->zathura != NULL) { + char* stripped_text = g_strdelimit(g_strdup(text), "\n\t\r\n", ' '); + girara_notify(priv->zathura->ui.session, GIRARA_INFO, _("Copied selected text to clipboard: %s"), stripped_text); + g_free(stripped_text); + } } - } - g_free(text); + g_free(text); + } } } @@ -844,6 +858,7 @@ zathura_page_widget_purge_unused(ZathuraPage* widget, gint64 threshold) const gint64 now = g_get_real_time(); if (now - priv->last_view >= threshold * G_USEC_PER_SEC) { + girara_debug("purge page %d from cache (unseen for %f seconds)", zathura_page_get_index(priv->page), ((double)now - priv->last_view) / G_USEC_PER_SEC); zathura_page_widget_update_surface(widget, NULL); } } diff --git a/page-widget.h b/page-widget.h index 53c64c5..fe0b67a 100644 --- a/page-widget.h +++ b/page-widget.h @@ -17,11 +17,13 @@ typedef struct zathura_page_widget_s ZathuraPage; typedef struct zathura_page_widget_class_s ZathuraPageClass; -struct zathura_page_widget_s { +struct zathura_page_widget_s +{ GtkDrawingArea parent; }; -struct zathura_page_widget_class_s { +struct zathura_page_widget_class_s +{ GtkDrawingAreaClass parent_class; }; @@ -33,10 +35,10 @@ struct zathura_page_widget_class_s { (G_TYPE_CHECK_CLASS_CAST ((obj), ZATHURA_TYPE_PAGE, ZathuraPageClass)) #define ZATHURA_IS_PAGE(obj) \ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ZATHURA_TYPE_PAGE)) -#define ZATHURA_IS_PAGE_WDIGET_CLASS(obj) \ +#define ZATHURA_IS_PAGE_CLASS(obj) \ (G_TYPE_CHECK_CLASS_TYPE ((obj), ZATHURA_TYPE_PAGE)) #define ZATHURA_PAGE_GET_CLASS \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), ZATHURA_TYPE_PAGE, ZathuraPageclass)) + (G_TYPE_INSTANCE_GET_CLASS ((obj), ZATHURA_TYPE_PAGE, ZathuraPageClass)) /** * Returns the type of the page view widget. diff --git a/page.c b/page.c index ff70a10..d31af46 100644 --- a/page.c +++ b/page.c @@ -39,14 +39,16 @@ zathura_page_new(zathura_document_t* document, unsigned int index, zathura_error /* init plugin */ zathura_plugin_t* plugin = zathura_document_get_plugin(document); - if (plugin->functions.page_init == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + + if (functions->page_init == NULL) { if (error != NULL) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } goto error_ret; } - zathura_error_t ret = plugin->functions.page_init(page); + zathura_error_t ret = functions->page_init(page); if (ret != ZATHURA_ERROR_OK) { if (error != NULL) { *error = ret; @@ -80,11 +82,12 @@ zathura_page_free(zathura_page_t* page) } zathura_plugin_t* plugin = zathura_document_get_plugin(page->document); - if (plugin->functions.page_clear == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + if (functions->page_clear == NULL) { return ZATHURA_ERROR_NOT_IMPLEMENTED; } - zathura_error_t error = plugin->functions.page_clear(page, page->data); + zathura_error_t error = functions->page_clear(page, page->data); g_free(page); @@ -202,14 +205,15 @@ zathura_page_search_text(zathura_page_t* page, const char* text, zathura_error_t } zathura_plugin_t* plugin = zathura_document_get_plugin(page->document); - if (plugin->functions.page_search_text == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + if (functions->page_search_text == NULL) { if (error != NULL) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } return NULL; } - return plugin->functions.page_search_text(page, page->data, text, error); + return functions->page_search_text(page, page->data, text, error); } girara_list_t* @@ -223,14 +227,15 @@ zathura_page_links_get(zathura_page_t* page, zathura_error_t* error) } zathura_plugin_t* plugin = zathura_document_get_plugin(page->document); - if (plugin->functions.page_links_get == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + if (functions->page_links_get == NULL) { if (error != NULL) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } return NULL; } - return plugin->functions.page_links_get(page, page->data, error); + return functions->page_links_get(page, page->data, error); } zathura_error_t @@ -250,14 +255,15 @@ zathura_page_form_fields_get(zathura_page_t* page, zathura_error_t* error) } zathura_plugin_t* plugin = zathura_document_get_plugin(page->document); - if (plugin->functions.page_form_fields_get == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + if (functions->page_form_fields_get == NULL) { if (error != NULL) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } return NULL; } - return plugin->functions.page_form_fields_get(page, page->data, error); + return functions->page_form_fields_get(page, page->data, error); } zathura_error_t @@ -277,14 +283,15 @@ zathura_page_images_get(zathura_page_t* page, zathura_error_t* error) } zathura_plugin_t* plugin = zathura_document_get_plugin(page->document); - if (plugin->functions.page_images_get == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + if (functions->page_images_get == NULL) { if (error != NULL) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } return NULL; } - return plugin->functions.page_images_get(page, page->data, error); + return functions->page_images_get(page, page->data, error); } cairo_surface_t* @@ -298,14 +305,15 @@ zathura_page_image_get_cairo(zathura_page_t* page, zathura_image_t* image, zathu } zathura_plugin_t* plugin = zathura_document_get_plugin(page->document); - if (plugin->functions.page_image_get_cairo == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + if (functions->page_image_get_cairo == NULL) { if (error != NULL) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } return NULL; } - return plugin->functions.page_image_get_cairo(page, page->data, image, error); + return functions->page_image_get_cairo(page, page->data, image, error); } char* zathura_page_get_text(zathura_page_t* page, zathura_rectangle_t rectangle, zathura_error_t* error) @@ -318,14 +326,15 @@ char* zathura_page_get_text(zathura_page_t* page, zathura_rectangle_t rectangle, } zathura_plugin_t* plugin = zathura_document_get_plugin(page->document); - if (plugin->functions.page_get_text == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + if (functions->page_get_text == NULL) { if (error) { *error = ZATHURA_ERROR_NOT_IMPLEMENTED; } return NULL; } - return plugin->functions.page_get_text(page, page->data, rectangle, error); + return functions->page_get_text(page, page->data, rectangle, error); } zathura_error_t @@ -336,9 +345,10 @@ zathura_page_render(zathura_page_t* page, cairo_t* cairo, bool printing) } zathura_plugin_t* plugin = zathura_document_get_plugin(page->document); - if (plugin->functions.page_render_cairo == NULL) { + zathura_plugin_functions_t* functions = zathura_plugin_get_functions(plugin); + if (functions->page_render_cairo == NULL) { return ZATHURA_ERROR_NOT_IMPLEMENTED; } - return plugin->functions.page_render_cairo(page, page->data, cairo, printing); + return functions->page_render_cairo(page, page->data, cairo, printing); } diff --git a/plugin-api.h b/plugin-api.h index 95946c4..4043129 100644 --- a/plugin-api.h +++ b/plugin-api.h @@ -27,6 +27,14 @@ typedef void (*zathura_plugin_register_function_t)(zathura_plugin_functions_t* f void zathura_plugin_set_register_functions_function(zathura_plugin_t* plugin, zathura_plugin_register_function_t register_function); +/** + * Sets the name of the plugin + * + * @param plugin The plugin + * @param name The name of the plugin + */ +void zathura_plugin_set_name(zathura_plugin_t* plugin, const char* name); + /** * Sets the functions register function of the plugin * @@ -58,6 +66,7 @@ void zathura_plugin_add_mimetype(zathura_plugin_t* plugin, const char* mime_type return; \ } \ zathura_plugin_set_register_functions_function(plugin, register_functions); \ + zathura_plugin_set_name(plugin, plugin_name); \ static const char* mime_types[] = mimetypes; \ for (size_t s = 0; s != sizeof(mime_types) / sizeof(const char*); ++s) { \ zathura_plugin_add_mimetype(plugin, mime_types[s]); \ diff --git a/plugin.c b/plugin.c index 3197bb5..870b796 100644 --- a/plugin.c +++ b/plugin.c @@ -11,7 +11,28 @@ #include #include -typedef unsigned int (*zathura_plugin_version_t)(void); +/** + * Document plugin structure + */ +struct zathura_plugin_s +{ + girara_list_t* content_types; /**< List of supported content types */ + zathura_plugin_register_function_t register_function; /**< Document open function */ + zathura_plugin_functions_t functions; /**< Document functions */ + GModule* handle; /**< DLL handle */ + char* name; /**< Name of the plugin */ + char* path; /**< Path to the plugin */ + zathura_plugin_version_t version; /**< Version information */ +}; + +/** + * Plugin mapping + */ +typedef struct zathura_type_plugin_mapping_s +{ + const gchar* type; /**< Plugin type */ + zathura_plugin_t* plugin; /**< Mapped plugin */ +} zathura_type_plugin_mapping_t; /** * Plugin manager @@ -23,6 +44,11 @@ struct zathura_plugin_manager_s girara_list_t* type_plugin_mapping; /**< List of type -> plugin mappings */ }; +typedef void (*zathura_plugin_register_service_t)(zathura_plugin_t*); +typedef unsigned int (*zathura_plugin_api_version_t)(void); +typedef unsigned int (*zathura_plugin_abi_version_t)(void); +typedef unsigned int (*zathura_plugin_version_function_t)(void); + static bool register_plugin(zathura_plugin_manager_t* plugin_manager, zathura_plugin_t* plugin); static bool plugin_mapping_new(zathura_plugin_manager_t* plugin_manager, const gchar* type, zathura_plugin_t* plugin); static void zathura_plugin_free(zathura_plugin_t* plugin); @@ -149,11 +175,13 @@ zathura_plugin_manager_load(zathura_plugin_manager_t* plugin_manager) if (plugin->register_function == NULL) { girara_error("plugin has no document functions register function"); g_free(path); + g_free(plugin); g_module_close(handle); continue; } plugin->register_function(&(plugin->functions)); + plugin->path = path; bool ret = register_plugin(plugin_manager, plugin); if (ret == false) { @@ -162,16 +190,19 @@ zathura_plugin_manager_load(zathura_plugin_manager_t* plugin_manager) } else { girara_info("successfully loaded plugin %s", path); - zathura_plugin_version_t major = NULL, minor = NULL, rev = NULL; - g_module_symbol(handle, PLUGIN_VERSION_MAJOR_FUNCTION, (gpointer*) &major); - g_module_symbol(handle, PLUGIN_VERSION_MINOR_FUNCTION, (gpointer*) &minor); - g_module_symbol(handle, PLUGIN_VERSION_REVISION_FUNCTION, (gpointer*) &rev); - if (major != NULL && minor != NULL && rev != NULL) { - girara_debug("plugin '%s': version %u.%u.%u", path, major(), minor(), rev()); + zathura_plugin_version_function_t plugin_major = NULL, plugin_minor = NULL, plugin_rev = NULL; + g_module_symbol(handle, PLUGIN_VERSION_MAJOR_FUNCTION, (gpointer*) &plugin_major); + g_module_symbol(handle, PLUGIN_VERSION_MINOR_FUNCTION, (gpointer*) &plugin_minor); + g_module_symbol(handle, PLUGIN_VERSION_REVISION_FUNCTION, (gpointer*) &plugin_rev); + if (plugin_major != NULL && plugin_minor != NULL && plugin_rev != NULL) { + plugin->version.major = plugin_major(); + plugin->version.minor = plugin_minor(); + plugin->version.rev = plugin_rev(); + girara_debug("plugin '%s': version %u.%u.%u", path, + plugin->version.major, plugin->version.minor, + plugin->version.rev); } } - - g_free(path); } g_dir_close(dir); GIRARA_LIST_FOREACH_END(zathura->plugins.path, char*, iter, plugindir); @@ -195,6 +226,16 @@ zathura_plugin_manager_get_plugin(zathura_plugin_manager_t* plugin_manager, cons return plugin; } +girara_list_t* +zathura_plugin_manager_get_plugins(zathura_plugin_manager_t* plugin_manager) +{ + if (plugin_manager == NULL || plugin_manager->plugins == NULL) { + return NULL; + } + + return plugin_manager->plugins; +} + void zathura_plugin_manager_free(zathura_plugin_manager_t* plugin_manager) { @@ -285,8 +326,17 @@ zathura_plugin_free(zathura_plugin_t* plugin) return; } + if (plugin->name != NULL) { + g_free(plugin->name); + } + + if (plugin->path != NULL) { + g_free(plugin->path); + } + g_module_close(plugin->handle); girara_list_free(plugin->content_types); + g_free(plugin); } @@ -310,3 +360,52 @@ zathura_plugin_add_mimetype(zathura_plugin_t* plugin, const char* mime_type) girara_list_append(plugin->content_types, g_content_type_from_mime_type(mime_type)); } + +zathura_plugin_functions_t* +zathura_plugin_get_functions(zathura_plugin_t* plugin) +{ + if (plugin != NULL) { + return &(plugin->functions); + } else { + return NULL; + } +} + +void +zathura_plugin_set_name(zathura_plugin_t* plugin, const char* name) +{ + if (plugin != NULL && name != NULL) { + plugin->name = g_strdup(name); + } +} + +char* +zathura_plugin_get_name(zathura_plugin_t* plugin) +{ + if (plugin != NULL) { + return plugin->name; + } else { + return NULL; + } +} + +char* +zathura_plugin_get_path(zathura_plugin_t* plugin) +{ + if (plugin != NULL) { + return plugin->path; + } else { + return NULL; + } +} + +zathura_plugin_version_t +zathura_plugin_get_version(zathura_plugin_t* plugin) +{ + if (plugin != NULL) { + return plugin->version; + } + + zathura_plugin_version_t version = { 0 }; + return version; +} diff --git a/plugin.h b/plugin.h index abc08cc..9512a0a 100644 --- a/plugin.h +++ b/plugin.h @@ -18,16 +18,11 @@ #define PLUGIN_VERSION_MINOR_FUNCTION "zathura_plugin_version_minor" #define PLUGIN_VERSION_REVISION_FUNCTION "zathura_plugin_version_revision" -/** - * Document plugin structure - */ -struct zathura_plugin_s -{ - girara_list_t* content_types; /**< List of supported content types */ - zathura_plugin_register_function_t register_function; /**< Document open function */ - zathura_plugin_functions_t functions; /**< Document functions */ - GModule* handle; /**< DLL handle */ -}; +typedef struct zathura_plugin_version_s { + unsigned int major; /**< Major */ + unsigned int minor; /**< Minor */ + unsigned int rev; /**< Revision */ +} zathura_plugin_version_t; /** * Creates a new instance of the plugin manager @@ -36,6 +31,13 @@ struct zathura_plugin_s */ zathura_plugin_manager_t* zathura_plugin_manager_new(); +/** + * Frees the plugin manager + * + * @param plugin_manager + */ +void zathura_plugin_manager_free(zathura_plugin_manager_t* plugin_manager); + /** * Adds a plugin directory to the plugin manager * @@ -61,41 +63,43 @@ void zathura_plugin_manager_load(zathura_plugin_manager_t* plugin_manager); zathura_plugin_t* zathura_plugin_manager_get_plugin(zathura_plugin_manager_t* plugin_manager, const char* type); /** - * Frees the plugin manager + * Returns a list with the plugin objects * - * @param plugin_manager + * @param plugin_manager The plugin manager + * @return List of plugins or NULL */ -void zathura_plugin_manager_free(zathura_plugin_manager_t* plugin_manager); +girara_list_t* zathura_plugin_manager_get_plugins(zathura_plugin_manager_t* plugin_manager); /** - * Plugin mapping + * Returns the plugin functions + * + * @param plugin The plugin + * @return The plugin functions */ -typedef struct zathura_type_plugin_mapping_s -{ - const gchar* type; /**< Plugin type */ - zathura_plugin_t* plugin; /**< Mapped plugin */ -} zathura_type_plugin_mapping_t; +zathura_plugin_functions_t* zathura_plugin_get_functions(zathura_plugin_t* plugin); /** - * Function prototype that is called to register a document plugin + * Returns the name of the plugin * - * @param The document plugin + * @param plugin The plugin + * @return The name of the plugin or NULL */ -typedef void (*zathura_plugin_register_service_t)(zathura_plugin_t*); +char* zathura_plugin_get_name(zathura_plugin_t* plugin); /** - * Function prototype that is called to get the plugin's API version. + * Returns the path to the plugin * - * @return plugin's API version + * @param plugin The plugin + * @return The path of the plugin or NULL */ -typedef unsigned int (*zathura_plugin_api_version_t)(); +char* zathura_plugin_get_path(zathura_plugin_t* plugin); /** - * Function prototype that is called to get the ABI version the plugin is built - * against. + * Returns the version information of the plugin * - * @return plugin's ABI version + * @param plugin The plugin + * @return The version information of the plugin */ -typedef unsigned int (*zathura_plugin_abi_version_t)(); +zathura_plugin_version_t zathura_plugin_get_version(zathura_plugin_t* plugin); #endif // PLUGIN_H diff --git a/po/Makefile b/po/Makefile index b3d5ef0..c1a2498 100644 --- a/po/Makefile +++ b/po/Makefile @@ -1,8 +1,12 @@ # See LICENSE file for license and copyright information PROJECT = zathura -CATALOGS = $(wildcard *.po) -MOS = $(patsubst %.po, %/LC_MESSAGES/${PROJECT}.mo, $(CATALOGS)) +GETTEXT_PACKAGE = $(PROJECT) +CATALOGS = $(wildcard *.po) +LINGUAS ?= $(patsubst %.po, %, $(CATALOGS)) +ALINGUAS = $(shell find $(patsubst %, %.po, $(LINGUAS)) 2>/dev/null) +MOS = $(patsubst %, %/LC_MESSAGES/${GETTEXT_PACKAGE}.mo, $(patsubst %.po, %, $(ALINGUAS))) + include ../config.mk include ../common.mk diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..6b94549 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,404 @@ +# zathura - language file (Czech) +# See LICENSE file for license and copyright information +# +msgid "" +msgstr "" +"Project-Id-Version: zathura\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" +"PO-Revision-Date: 2012-06-19 23:59+0200\n" +"Last-Translator: Martin Pelikan \n" +"Language-Team: pwmt.org \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../callbacks.c:204 +#, c-format +msgid "Invalid input '%s' given." +msgstr "Neplatný vstup: %s" + +#: ../callbacks.c:232 +#, c-format +msgid "Invalid index '%s' given." +msgstr "Neplatný index: %s" + +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 +msgid "No document opened." +msgstr "Není otevřený žádný dokument." + +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 +msgid "Invalid number of arguments given." +msgstr "Špatný počet argumentů." + +#: ../commands.c:49 +#, c-format +msgid "Bookmark successfuly updated: %s" +msgstr "Záložka úspěšně aktualizována: %s" + +#: ../commands.c:55 +#, c-format +msgid "Could not create bookmark: %s" +msgstr "Nemůžu vytvořit záložku: %s" + +#: ../commands.c:59 +#, c-format +msgid "Bookmark successfuly created: %s" +msgstr "Záložka úspěšně vytvořena: %s" + +#: ../commands.c:82 +#, c-format +msgid "Removed bookmark: %s" +msgstr "Záložka smazána: %s" + +#: ../commands.c:84 +#, c-format +msgid "Failed to remove bookmark: %s" +msgstr "Nem¿¿u smazat zálo¿ku: %s" + +#: ../commands.c:110 +#, c-format +msgid "No such bookmark: %s" +msgstr "Záložka neexistuje: %s" + +#: ../commands.c:161 ../commands.c:183 +msgid "No information available." +msgstr "Nejsou dostupné žádné informace." + +#: ../commands.c:221 +msgid "Too many arguments." +msgstr "Příliš mnoho argumentů." + +#: ../commands.c:230 +msgid "No arguments given." +msgstr "Nezadali jste argumenty." + +#: ../commands.c:289 ../commands.c:315 +msgid "Document saved." +msgstr "Dokument uložen." + +#: ../commands.c:291 ../commands.c:317 +msgid "Failed to save document." +msgstr "Nepovedlo se uložit dokument." + +#: ../commands.c:294 ../commands.c:320 +msgid "Invalid number of arguments." +msgstr "Špatný počet argumentů." + +#: ../commands.c:424 +#, c-format +msgid "Couldn't write attachment '%s' to '%s'." +msgstr "Nepovedlo se zapsat p¿ílohu '%s' do '%s'." + +#: ../commands.c:426 +#, c-format +msgid "Wrote attachment '%s' to '%s'." +msgstr "Příloha '%s' zapsána do '%s'." + +#: ../commands.c:470 +#, c-format +msgid "Wrote image '%s' to '%s'." +msgstr "Obrázek '%s' zapsán do '%s'." + +#: ../commands.c:472 +#, c-format +msgid "Couldn't write image '%s' to '%s'." +msgstr "Nepovedlo se zapsat obrázek '%s' do '%s'." + +#: ../commands.c:479 +#, c-format +msgid "Unknown image '%s'." +msgstr "Neznámý obrázek '%s'." + +#: ../commands.c:483 +#, c-format +msgid "Unknown attachment or image '%s'." +msgstr "Neznámá příloha nebo obrázek '%s'." + +#: ../commands.c:534 +msgid "Argument must be a number." +msgstr "Argumentem musí být číslo." + +#: ../completion.c:250 +#, c-format +msgid "Page %d" +msgstr "Strana %d" + +#: ../completion.c:293 +msgid "Attachments" +msgstr "Přílohy" + +#. add images +#: ../completion.c:324 +msgid "Images" +msgstr "Obrázky" + +#. zathura settings +#: ../config.c:105 +msgid "Database backend" +msgstr "Databázový backend" + +#: ../config.c:107 +msgid "Zoom step" +msgstr "Zoom step" + +#: ../config.c:109 +msgid "Padding between pages" +msgstr "Mezery mezi stránkami" + +#: ../config.c:111 +msgid "Number of pages per row" +msgstr "Počet stránek na řádek" + +#: ../config.c:113 +msgid "Column of the first page" +msgstr "" + +#: ../config.c:115 +msgid "Scroll step" +msgstr "Scroll step" + +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "" + +#: ../config.c:119 +msgid "Zoom minimum" +msgstr "Oddálit" + +#: ../config.c:121 +msgid "Zoom maximum" +msgstr "Přiblížit" + +#: ../config.c:123 +msgid "Life time (in seconds) of a hidden page" +msgstr "Délka života skryté stránky v sekundách" + +#: ../config.c:124 +msgid "Amount of seconds between each cache purge" +msgstr "Počet sekund mezi čištěními cache" + +#: ../config.c:126 +msgid "Recoloring (dark color)" +msgstr "Přebarvuji do tmava" + +#: ../config.c:128 +msgid "Recoloring (light color)" +msgstr "Přebarvuji do sv¿tla" + +#: ../config.c:130 +msgid "Color for highlighting" +msgstr "Barva zvýrazňovače" + +#: ../config.c:132 +msgid "Color for highlighting (active)" +msgstr "Barva zvýrazňovače (aktivní)" + +#: ../config.c:136 +msgid "Recolor pages" +msgstr "Přebarvit stránky" + +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 +msgid "Wrap scrolling" +msgstr "Scrollovat přes konce" + +#: ../config.c:142 +msgid "Advance number of pages per row" +msgstr "" + +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 +msgid "Transparency for highlighting" +msgstr "Průhlednost při zvýrazňování" + +#: ../config.c:150 +msgid "Render 'Loading ...'" +msgstr "Vypisovat 'Načítám ...'" + +#: ../config.c:151 +msgid "Adjust to when opening file" +msgstr "Přiblížení po otevření souboru" + +#: ../config.c:153 +msgid "Show hidden files and directories" +msgstr "Zobrazovat skryté soubory" + +#: ../config.c:155 +msgid "Show directories" +msgstr "Zobrazovat adresáře" + +#: ../config.c:157 +msgid "Always open on first page" +msgstr "Vždy otevírat na první straně" + +#: ../config.c:159 +msgid "Highlight search results" +msgstr "Zvýrazňovat výsledky hledání" + +#: ../config.c:161 +msgid "Clear search results on abort" +msgstr "Při abortu smazat výsledky hledání" + +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + +#. define default inputbar commands +#: ../config.c:293 +msgid "Add a bookmark" +msgstr "Přidat záložku" + +#: ../config.c:294 +msgid "Delete a bookmark" +msgstr "Smazat záložku" + +#: ../config.c:295 +msgid "List all bookmarks" +msgstr "Vypsat záložky" + +#: ../config.c:296 +msgid "Close current file" +msgstr "Zavřít tenhle soubor" + +#: ../config.c:297 +msgid "Show file information" +msgstr "Zobrazit informace o souboru" + +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 +msgid "Show help" +msgstr "Zobrazit nápovědu" + +#: ../config.c:300 +msgid "Open document" +msgstr "Otevřít dokument" + +#: ../config.c:301 +msgid "Close zathura" +msgstr "Zavřít zathuru" + +#: ../config.c:302 +msgid "Print document" +msgstr "Tisknout dokument" + +#: ../config.c:303 +msgid "Save document" +msgstr "Uložit dokument" + +#: ../config.c:304 +msgid "Save document (and force overwriting)" +msgstr "Uložit a přepsat dokument" + +#: ../config.c:305 +msgid "Save attachments" +msgstr "Uložit přílohy" + +#: ../config.c:306 +msgid "Set page offset" +msgstr "" + +#: ../config.c:307 +msgid "Mark current location within the document" +msgstr "Označit současnou pozici v dokumentu" + +#: ../config.c:308 +msgid "Delete the specified marks" +msgstr "Smazat vybrané značky" + +#: ../config.c:309 +msgid "Don't highlight current search results" +msgstr "Nezvýrazňovat výsledky tohoto hledání" + +#: ../config.c:310 +msgid "Highlight current search results" +msgstr "Zvýrazňovat výsledky tohoto hledání" + +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Nepovedlo se spustit xdg-open." + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Cesta k souboru s nastavením" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Cesta k adresáři s daty" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Cesta k adresářům s pluginy" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Forknout se na pozadí" + +#: ../main.c:57 +msgid "Document password" +msgstr "Heslo" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Úroveň logování (debug, info, warning, error)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Zobrazit informace o souboru" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "Načítám ..." + +#: ../page-widget.c:643 +#, c-format +msgid "Copied selected text to clipboard: %s" +msgstr "Vybraný text zkopírován do schránky: %s" + +#: ../page-widget.c:741 +msgid "Copy image" +msgstr "Zkopíruj obrázek" + +#: ../page-widget.c:742 +msgid "Save image as" +msgstr "Ulož obrázek jako" + +#: ../shortcuts.c:825 +msgid "This document does not contain any index" +msgstr "Tenhle dokument neobsahuje žádné indexy" + +#: ../zathura.c:189 ../zathura.c:843 +msgid "[No name]" +msgstr "[Nepojmenovaný]" diff --git a/po/de.po b/po/de.po index 2383bc1..ddc3c2c 100644 --- a/po/de.po +++ b/po/de.po @@ -5,10 +5,10 @@ msgid "" msgstr "" "Project-Id-Version: zathura\n" -"Report-Msgid-Bugs-To: http://bt.pwmt.org/\n" -"POT-Creation-Date: 2012-05-08 19:21+0200\n" -"PO-Revision-Date: 2012-04-03 15:25+0000\n" -"Last-Translator: Sebastian Ramacher \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" +"PO-Revision-Date: 2012-08-05 16:08+0100\n" +"Last-Translator: Sebastian Ramacher \n" "Language-Team: pwmt.org \n" "Language: de\n" "MIME-Version: 1.0\n" @@ -16,111 +16,111 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ../callbacks.c:175 +#: ../callbacks.c:204 #, c-format msgid "Invalid input '%s' given." msgstr "Ungültige Eingabe '%s' angegeben." -#: ../callbacks.c:203 +#: ../callbacks.c:232 #, c-format msgid "Invalid index '%s' given." msgstr "Ungültiger Index '%s' angegeben." -#: ../commands.c:33 ../commands.c:68 ../commands.c:95 ../commands.c:137 -#: ../commands.c:251 ../commands.c:281 ../commands.c:307 ../commands.c:396 -#: ../commands.c:496 ../shortcuts.c:440 ../shortcuts.c:891 +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 msgid "No document opened." msgstr "Kein Dokument geöffnet." -#: ../commands.c:39 ../commands.c:74 ../commands.c:101 ../commands.c:401 +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 msgid "Invalid number of arguments given." msgstr "Ungültige Anzahl an Argumenten angegeben." -#: ../commands.c:47 +#: ../commands.c:49 #, c-format msgid "Bookmark successfuly updated: %s" msgstr "Lesezeichen erfolgreich aktualisiert: %s." -#: ../commands.c:53 +#: ../commands.c:55 #, c-format msgid "Could not create bookmark: %s" msgstr "Konnte Lesezeichen nicht erstellen: %s" -#: ../commands.c:57 +#: ../commands.c:59 #, c-format msgid "Bookmark successfuly created: %s" msgstr "Lesezeichen erfolgreich erstellt: %s" -#: ../commands.c:80 +#: ../commands.c:82 #, c-format msgid "Removed bookmark: %s" msgstr "Lesezeichen entfernt: %s" -#: ../commands.c:82 +#: ../commands.c:84 #, c-format msgid "Failed to remove bookmark: %s" msgstr "Konnte Lesezeichen nicht entfernen: %s" -#: ../commands.c:108 +#: ../commands.c:110 #, c-format msgid "No such bookmark: %s" msgstr "Lesezeichen existiert nicht: %s" -#: ../commands.c:159 ../commands.c:181 +#: ../commands.c:161 ../commands.c:183 msgid "No information available." msgstr "Keine Information verfügbar." -#: ../commands.c:219 +#: ../commands.c:221 msgid "Too many arguments." msgstr "Zu viele Argumente angegeben." -#: ../commands.c:228 +#: ../commands.c:230 msgid "No arguments given." msgstr "Keine Argumente angegeben." -#: ../commands.c:287 ../commands.c:313 +#: ../commands.c:289 ../commands.c:315 msgid "Document saved." msgstr "Dokument gespeichert." -#: ../commands.c:289 ../commands.c:315 +#: ../commands.c:291 ../commands.c:317 msgid "Failed to save document." msgstr "Konnte Dokument nicht speichern." -#: ../commands.c:292 ../commands.c:318 +#: ../commands.c:294 ../commands.c:320 msgid "Invalid number of arguments." msgstr "Ungültige Anzahl an Argumenten." -#: ../commands.c:420 +#: ../commands.c:424 #, c-format msgid "Couldn't write attachment '%s' to '%s'." msgstr "Konnte Anhang '%s' nicht nach '%s' schreiben." -#: ../commands.c:422 +#: ../commands.c:426 #, c-format msgid "Wrote attachment '%s' to '%s'." msgstr "Anhang '%s' nach '%s' geschrieben." -#: ../commands.c:466 +#: ../commands.c:470 #, c-format msgid "Wrote image '%s' to '%s'." msgstr "Anhang '%s' nach '%s' geschrieben." -#: ../commands.c:468 +#: ../commands.c:472 #, c-format msgid "Couldn't write image '%s' to '%s'." msgstr "Konnte Anhang '%s' nicht nach '%s' schreiben." -#: ../commands.c:475 +#: ../commands.c:479 #, c-format msgid "Unknown image '%s'." -msgstr "" +msgstr "Unbekanntes Bild '%s'." -#: ../commands.c:479 +#: ../commands.c:483 #, c-format msgid "Unknown attachment or image '%s'." msgstr "Unbekannter Anhanng oder Bild '%s'." -#: ../commands.c:509 +#: ../commands.c:534 msgid "Argument must be a number." msgstr "Das Argument ist keine Zahl." @@ -139,221 +139,271 @@ msgid "Images" msgstr "Bilder" #. zathura settings -#: ../config.c:98 +#: ../config.c:105 msgid "Database backend" msgstr "Datenbank Backend" -#: ../config.c:100 +#: ../config.c:107 msgid "Zoom step" msgstr "Vergrößerungsstufe" -#: ../config.c:102 +#: ../config.c:109 msgid "Padding between pages" msgstr "Abstand zwischen den Seiten" -#: ../config.c:104 +#: ../config.c:111 msgid "Number of pages per row" msgstr "Anzahl der Seiten in einer Reihe" -#: ../config.c:106 +#: ../config.c:113 +msgid "Column of the first page" +msgstr "Spalte der ersten Seite" + +#: ../config.c:115 msgid "Scroll step" msgstr "Schrittgröße beim Scrollen" -#: ../config.c:108 +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "Horizontale Schrittgröße beim Scrollen" + +#: ../config.c:119 msgid "Zoom minimum" msgstr "Minimale Vergrößerungsstufe" -#: ../config.c:110 +#: ../config.c:121 msgid "Zoom maximum" msgstr "Maximale Vergrößerungsstufe" -#: ../config.c:112 +#: ../config.c:123 msgid "Life time (in seconds) of a hidden page" -msgstr "" +msgstr "Zeit (in Sekunden) bevor nicht sichtbare Seiten gelöscht werden" -#: ../config.c:113 +#: ../config.c:124 msgid "Amount of seconds between each cache purge" msgstr "" "Anzahl der Sekunden zwischen jeder Prüfung von nicht angezeigten Seiten" -#: ../config.c:115 +#: ../config.c:126 msgid "Recoloring (dark color)" msgstr "Neufärben (Dunkle Farbe)" -#: ../config.c:117 +#: ../config.c:128 msgid "Recoloring (light color)" msgstr "Neufärben (Helle Farbe)" -#: ../config.c:119 +#: ../config.c:130 msgid "Color for highlighting" msgstr "Farbe für eine Markierung" -#: ../config.c:121 +#: ../config.c:132 msgid "Color for highlighting (active)" msgstr "Farbe für die aktuelle Markierung" -#: ../config.c:125 +#: ../config.c:136 msgid "Recolor pages" msgstr "Färbe die Seiten ein" -#: ../config.c:127 +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" +"Behalte beim Neuzeichnen den ursprünglichen Hue-Wert bei und stimme nur die " +"Helligkeit ab" + +#: ../config.c:140 msgid "Wrap scrolling" msgstr "Scroll-Umbruch" -#: ../config.c:129 +#: ../config.c:142 msgid "Advance number of pages per row" msgstr "Gehe Anzahl der Seiten in einer Reihe weiter" -#: ../config.c:131 +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "Horizontal zentrierter Zoom" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "Zentriere Ergebnis horizontal" + +#: ../config.c:148 msgid "Transparency for highlighting" msgstr "Transparenz einer Markierung" -#: ../config.c:133 +#: ../config.c:150 msgid "Render 'Loading ...'" msgstr "Zeige 'Lädt...'-Text beim Zeichnen einer Seite" -#: ../config.c:134 +#: ../config.c:151 msgid "Adjust to when opening file" msgstr "Seite einpassen" -#: ../config.c:136 +#: ../config.c:153 msgid "Show hidden files and directories" msgstr "Zeige versteckte Dateien und Ordner an" -#: ../config.c:138 +#: ../config.c:155 msgid "Show directories" msgstr "Zeige Ordner an" -#: ../config.c:140 +#: ../config.c:157 msgid "Always open on first page" msgstr "Öffne Dokument immer auf der ersten Seite" -#: ../config.c:142 +#: ../config.c:159 msgid "Highlight search results" -msgstr "" +msgstr "Hebe Suchergebnisse hervor" -#: ../config.c:144 +#: ../config.c:161 msgid "Clear search results on abort" +msgstr "Lösche Suchergebnisse bei Abbruch" + +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "Verwende den Dateinamen der Datei im Fenstertitel" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" msgstr "" #. define default inputbar commands -#: ../config.c:266 +#: ../config.c:293 msgid "Add a bookmark" msgstr "Füge Lesezeichen hinzu" -#: ../config.c:267 +#: ../config.c:294 msgid "Delete a bookmark" msgstr "Lösche ein Lesezeichen" -#: ../config.c:268 +#: ../config.c:295 msgid "List all bookmarks" msgstr "Liste all Lesezeichen auf" -#: ../config.c:269 +#: ../config.c:296 msgid "Close current file" msgstr "Schließe das aktuelle Dokument" -#: ../config.c:270 +#: ../config.c:297 msgid "Show file information" msgstr "Zeige Dokumentinformationen an" -#: ../config.c:271 +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 msgid "Show help" msgstr "Zeige Hilfe an" -#: ../config.c:272 +#: ../config.c:300 msgid "Open document" msgstr "Öffne Dokument" -#: ../config.c:273 +#: ../config.c:301 msgid "Close zathura" msgstr "Beende zathura" -#: ../config.c:274 +#: ../config.c:302 msgid "Print document" msgstr "Drucke Dokument" -#: ../config.c:275 +#: ../config.c:303 msgid "Save document" msgstr "Speichere Dokument" -#: ../config.c:276 +#: ../config.c:304 msgid "Save document (and force overwriting)" msgstr "Speichere Dokument (und überschreibe bestehende)" -#: ../config.c:277 +#: ../config.c:305 msgid "Save attachments" msgstr "Speichere Anhänge" -#: ../config.c:278 +#: ../config.c:306 msgid "Set page offset" msgstr "Setze den Seitenabstand" -#: ../config.c:279 +#: ../config.c:307 msgid "Mark current location within the document" -msgstr "" +msgstr "Markiere aktuelle Position im Doukument" -#: ../config.c:280 +#: ../config.c:308 msgid "Delete the specified marks" -msgstr "" +msgstr "Lösche angegebene Markierung" -#: ../config.c:281 +#: ../config.c:309 msgid "Don't highlight current search results" -msgstr "" +msgstr "Hebe aktuelle Suchergebnisse nicht hervor" -#: ../config.c:282 +#: ../config.c:310 msgid "Highlight current search results" -msgstr "" +msgstr "Hebe aktuelle Suchergebnisse hervor" -#: ../page-widget.c:611 +#: ../config.c:311 +msgid "Show version information" +msgstr "Zeige Versionsinformationen an" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Konnte xdg-open nicht ausführen." + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "Reparentiert zathura an das Fenster mit der xid" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Pfad zum Konfigurationsverzeichnis" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Pfad zum Datenverzeichnis" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Pfad zum Pluginverzeichnis" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Forkt den Prozess in den Hintergrund" + +#: ../main.c:57 +msgid "Document password" +msgstr "Dokument Passwort" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Log-Stufe (debug, info, warning, error)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Zeige Versionsinformationen an" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "Synctex Editor (wird an synctex weitergeleitet)" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "Lädt..." + +#: ../page-widget.c:643 #, c-format msgid "Copied selected text to clipboard: %s" msgstr "Der gewählte Text wurde in die Zwischenablage kopiert: %s" -#: ../page-widget.c:708 +#: ../page-widget.c:741 msgid "Copy image" msgstr "Bild kopieren" -#: ../page-widget.c:709 +#: ../page-widget.c:742 msgid "Save image as" msgstr "Bild speichern als" -#: ../shortcuts.c:797 +#: ../shortcuts.c:825 msgid "This document does not contain any index" msgstr "Dieses Dokument beinhaltet kein Inhaltsverzeichnis." -#: ../utils.c:346 -msgid "Failed to run xdg-open." -msgstr "Konnte xdg-open nicht ausführen." - -#: ../zathura.c:73 -msgid "Reparents to window specified by xid" -msgstr "Reparentiert zathura an das Fenster mit der xid" - -#: ../zathura.c:74 -msgid "Path to the config directory" -msgstr "Pfad zum Konfigurationsverzeichnis" - -#: ../zathura.c:75 -msgid "Path to the data directory" -msgstr "Pfad zum Datenverzeichnis" - -#: ../zathura.c:76 -msgid "Path to the directories containing plugins" -msgstr "Pfad zum Pluginverzeichnis" - -#: ../zathura.c:77 -msgid "Fork into the background" -msgstr "Forkt den Prozess in den Hintergrund" - -#: ../zathura.c:78 -msgid "Document password" -msgstr "Dokument Passwort" - -#: ../zathura.c:79 -msgid "Log level (debug, info, warning, error)" -msgstr "Log-Stufe (debug, info, warning, error)" - -#: ../zathura.c:251 ../zathura.c:799 +#: ../zathura.c:189 ../zathura.c:843 msgid "[No name]" msgstr "[Kein Name]" diff --git a/po/eo.po b/po/eo.po index 6f8c39f..9b91157 100644 --- a/po/eo.po +++ b/po/eo.po @@ -2,132 +2,133 @@ # See LICENSE file for license and copyright information # # Translators: +# , 2012. msgid "" msgstr "" "Project-Id-Version: zathura\n" "Report-Msgid-Bugs-To: http://bt.pwmt.org/\n" -"POT-Creation-Date: 2012-05-08 19:21+0200\n" -"PO-Revision-Date: 2012-04-21 14:04+0000\n" -"Last-Translator: Sebastian Ramacher \n" -"Language-Team: LANGUAGE \n" -"Language: eo\n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" +"PO-Revision-Date: 2012-08-09 13:21+0000\n" +"Last-Translator: norbux \n" +"Language-Team: Esperanto (http://www.transifex.com/projects/p/zathura/language/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ../callbacks.c:175 +#: ../callbacks.c:204 #, c-format msgid "Invalid input '%s' given." msgstr "Nevalida enigo '%s' uzata." -#: ../callbacks.c:203 +#: ../callbacks.c:232 #, c-format msgid "Invalid index '%s' given." msgstr "Nevalida indekso '%s' uzata." -#: ../commands.c:33 ../commands.c:68 ../commands.c:95 ../commands.c:137 -#: ../commands.c:251 ../commands.c:281 ../commands.c:307 ../commands.c:396 -#: ../commands.c:496 ../shortcuts.c:440 ../shortcuts.c:891 +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 msgid "No document opened." msgstr "Neniu dokumento malfermita." -#: ../commands.c:39 ../commands.c:74 ../commands.c:101 ../commands.c:401 +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 msgid "Invalid number of arguments given." msgstr "Nevalida nombro da argumentoj uzata." -#: ../commands.c:47 +#: ../commands.c:49 #, c-format msgid "Bookmark successfuly updated: %s" msgstr "Paĝosigno sukcese aktualigita: %s" -#: ../commands.c:53 +#: ../commands.c:55 #, c-format msgid "Could not create bookmark: %s" msgstr "Neeble krei paĝosignon: %s" -#: ../commands.c:57 +#: ../commands.c:59 #, c-format msgid "Bookmark successfuly created: %s" msgstr "Paĝosigno sukcese kreita: %s" -#: ../commands.c:80 +#: ../commands.c:82 #, c-format msgid "Removed bookmark: %s" msgstr "Paĝosigno forigita: %s" -#: ../commands.c:82 +#: ../commands.c:84 #, c-format msgid "Failed to remove bookmark: %s" msgstr "Neeble forigi paĝosignon: %s" -#: ../commands.c:108 +#: ../commands.c:110 #, c-format msgid "No such bookmark: %s" msgstr "Neniu paĝosigno: %s" -#: ../commands.c:159 ../commands.c:181 +#: ../commands.c:161 ../commands.c:183 msgid "No information available." msgstr "Neniu informacio disponebla." -#: ../commands.c:219 +#: ../commands.c:221 msgid "Too many arguments." msgstr "Tro multe da argumentoj." -#: ../commands.c:228 +#: ../commands.c:230 msgid "No arguments given." msgstr "Neniuj argumentoj uzata." -#: ../commands.c:287 ../commands.c:313 +#: ../commands.c:289 ../commands.c:315 msgid "Document saved." msgstr "Dokumento konservita." -#: ../commands.c:289 ../commands.c:315 +#: ../commands.c:291 ../commands.c:317 msgid "Failed to save document." msgstr "Neeble konservi dokumenton." -#: ../commands.c:292 ../commands.c:318 +#: ../commands.c:294 ../commands.c:320 msgid "Invalid number of arguments." msgstr "Nevalida nombro da argumentoj." -#: ../commands.c:420 +#: ../commands.c:424 #, c-format msgid "Couldn't write attachment '%s' to '%s'." msgstr "Neeble skribi kunsendaĵon '%s' en '%s'." -#: ../commands.c:422 +#: ../commands.c:426 #, c-format msgid "Wrote attachment '%s' to '%s'." msgstr "Skribis kunsendaĵon '%s' en '%s'." -#: ../commands.c:466 +#: ../commands.c:470 #, c-format msgid "Wrote image '%s' to '%s'." msgstr "Skribis kunsendaĵon '%s' en '%s'." -#: ../commands.c:468 +#: ../commands.c:472 #, c-format msgid "Couldn't write image '%s' to '%s'." msgstr "Neeble skribi kunsendaĵon '%s' en '%s'." -#: ../commands.c:475 +#: ../commands.c:479 #, c-format msgid "Unknown image '%s'." -msgstr "" +msgstr "Nekonata bildo '%s'." -#: ../commands.c:479 +#: ../commands.c:483 #, c-format msgid "Unknown attachment or image '%s'." msgstr "" -#: ../commands.c:509 +#: ../commands.c:534 msgid "Argument must be a number." msgstr "Argumento devas esti nombro." #: ../completion.c:250 #, c-format msgid "Page %d" -msgstr "" +msgstr "Paĝo %d" #: ../completion.c:293 msgid "Attachments" @@ -136,223 +137,271 @@ msgstr "Konservu kunsendaĵojn" #. add images #: ../completion.c:324 msgid "Images" -msgstr "" +msgstr "Bildoj" #. zathura settings -#: ../config.c:98 +#: ../config.c:105 msgid "Database backend" msgstr "" -#: ../config.c:100 +#: ../config.c:107 msgid "Zoom step" msgstr "Zompaŝo" -#: ../config.c:102 +#: ../config.c:109 msgid "Padding between pages" msgstr "Interpaĝa plenigo" -#: ../config.c:104 +#: ../config.c:111 msgid "Number of pages per row" msgstr "Nombro da paĝoj po vico" -#: ../config.c:106 +#: ../config.c:113 +msgid "Column of the first page" +msgstr "" + +#: ../config.c:115 msgid "Scroll step" msgstr "Rulumpaŝo" -#: ../config.c:108 +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "" + +#: ../config.c:119 msgid "Zoom minimum" msgstr "Mimimuma zomo" -#: ../config.c:110 +#: ../config.c:121 msgid "Zoom maximum" msgstr "Maksimuma zomo" -#: ../config.c:112 +#: ../config.c:123 msgid "Life time (in seconds) of a hidden page" msgstr "Vivdaŭro (sekunda) de kaŝita paĝo" -#: ../config.c:113 +#: ../config.c:124 msgid "Amount of seconds between each cache purge" msgstr "Nombro da sekundoj inter repurigo de kaŝmemoro" -#: ../config.c:115 +#: ../config.c:126 msgid "Recoloring (dark color)" msgstr "Rekolorigo (malhela koloro)" -#: ../config.c:117 +#: ../config.c:128 msgid "Recoloring (light color)" msgstr "Rekolorigo (hela koloro)" -#: ../config.c:119 +#: ../config.c:130 msgid "Color for highlighting" msgstr "Koloro por fonlumo" -#: ../config.c:121 +#: ../config.c:132 msgid "Color for highlighting (active)" msgstr "Koloro por fonlumo (aktiva)" -#: ../config.c:125 +#: ../config.c:136 msgid "Recolor pages" msgstr "Rekoloru paĝojn" -#: ../config.c:127 +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 msgid "Wrap scrolling" msgstr "Ĉirkaŭflua rulumado" -#: ../config.c:129 +#: ../config.c:142 msgid "Advance number of pages per row" msgstr "" -#: ../config.c:131 +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 msgid "Transparency for highlighting" msgstr "Travidebleco por fonlumo" -#: ../config.c:133 +#: ../config.c:150 msgid "Render 'Loading ...'" msgstr "Bildigu 'Ŝargado ...'" -#: ../config.c:134 +#: ../config.c:151 msgid "Adjust to when opening file" msgstr "Adaptaĵo ĉe malfermo de dosiero" -#: ../config.c:136 +#: ../config.c:153 msgid "Show hidden files and directories" msgstr "Montru kaŝitajn dosierojn kaj -ujojn" -#: ../config.c:138 +#: ../config.c:155 msgid "Show directories" msgstr "Montru dosierujojn" -#: ../config.c:140 +#: ../config.c:157 msgid "Always open on first page" msgstr "Ĉiam malfermu ĉe unua paĝo" -#: ../config.c:142 +#: ../config.c:159 msgid "Highlight search results" msgstr "" -#: ../config.c:144 +#: ../config.c:161 msgid "Clear search results on abort" msgstr "" +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + #. define default inputbar commands -#: ../config.c:266 +#: ../config.c:293 msgid "Add a bookmark" msgstr "Aldonu paĝosignon" -#: ../config.c:267 +#: ../config.c:294 msgid "Delete a bookmark" msgstr "Forigu paĝosignon" -#: ../config.c:268 +#: ../config.c:295 msgid "List all bookmarks" msgstr "Listigu ĉiujn paĝosignojn" -#: ../config.c:269 +#: ../config.c:296 msgid "Close current file" msgstr "Fermu nunan dosieron" -#: ../config.c:270 +#: ../config.c:297 msgid "Show file information" msgstr "Montru dosiera informacio" -#: ../config.c:271 +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 msgid "Show help" msgstr "Montru helpon" -#: ../config.c:272 +#: ../config.c:300 msgid "Open document" msgstr "Malfermu dokumenton" -#: ../config.c:273 +#: ../config.c:301 msgid "Close zathura" msgstr "Fermu zathura" -#: ../config.c:274 +#: ../config.c:302 msgid "Print document" msgstr "Presu dokumenton" -#: ../config.c:275 +#: ../config.c:303 msgid "Save document" msgstr "Konservu dokumenton" -#: ../config.c:276 +#: ../config.c:304 msgid "Save document (and force overwriting)" msgstr "Konservu dokumenton (deviga anstataŭo)" -#: ../config.c:277 +#: ../config.c:305 msgid "Save attachments" msgstr "Konservu kunsendaĵojn" -#: ../config.c:278 +#: ../config.c:306 msgid "Set page offset" msgstr "Agordu paĝdelokado" -#: ../config.c:279 +#: ../config.c:307 msgid "Mark current location within the document" msgstr "" -#: ../config.c:280 +#: ../config.c:308 msgid "Delete the specified marks" msgstr "" -#: ../config.c:281 +#: ../config.c:309 msgid "Don't highlight current search results" msgstr "" -#: ../config.c:282 +#: ../config.c:310 msgid "Highlight current search results" msgstr "" -#: ../page-widget.c:611 +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Fiaskis iro de xdg-open" + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Vojo al la agorda dosierujo" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Vojo al la datuma dosierujo" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Vojoj al dosierujoj enhavantaj kromaĵojn" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "" + +#: ../main.c:57 +msgid "Document password" +msgstr "" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Nivelo de ĵurnalo (debug, info, warning, error)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Montru dosiera informacio" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "Ŝargado ..." + +#: ../page-widget.c:643 #, c-format msgid "Copied selected text to clipboard: %s" msgstr "Selektita teksto estas kopiita en la poŝo: %s" -#: ../page-widget.c:708 +#: ../page-widget.c:741 msgid "Copy image" msgstr "Kopiu bildon" -#: ../page-widget.c:709 +#: ../page-widget.c:742 msgid "Save image as" -msgstr "" +msgstr "Savi bildojn kiel" -#: ../shortcuts.c:797 +#: ../shortcuts.c:825 msgid "This document does not contain any index" msgstr "Ĉi-tiu dokumento enhavas neniam indekson." -#: ../utils.c:346 -msgid "Failed to run xdg-open." -msgstr "Fiaskis iro de xdg-open" - -#: ../zathura.c:73 -msgid "Reparents to window specified by xid" -msgstr "" - -#: ../zathura.c:74 -msgid "Path to the config directory" -msgstr "Vojo al la agorda dosierujo" - -#: ../zathura.c:75 -msgid "Path to the data directory" -msgstr "Vojo al la datuma dosierujo" - -#: ../zathura.c:76 -msgid "Path to the directories containing plugins" -msgstr "Vojoj al dosierujoj enhavantaj kromaĵojn" - -#: ../zathura.c:77 -msgid "Fork into the background" -msgstr "" - -#: ../zathura.c:78 -msgid "Document password" -msgstr "" - -#: ../zathura.c:79 -msgid "Log level (debug, info, warning, error)" -msgstr "Nivelo de ĵurnalo (debug, info, warning, error)" - -#: ../zathura.c:251 ../zathura.c:799 +#: ../zathura.c:189 ../zathura.c:843 msgid "[No name]" msgstr "[Neniu nomo]" diff --git a/po/es.po b/po/es.po index 3570d88..a841636 100644 --- a/po/es.po +++ b/po/es.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: zathura\n" -"Report-Msgid-Bugs-To: http://bt.pwmt.org/\n" -"POT-Creation-Date: 2012-05-08 19:21+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" "PO-Revision-Date: 2012-04-03 15:25+0000\n" "Last-Translator: Moritz Lipp \n" "Language-Team: Spanish (Castilian) (http://www.transifex.net/projects/p/" @@ -17,111 +17,111 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ../callbacks.c:175 +#: ../callbacks.c:204 #, c-format msgid "Invalid input '%s' given." msgstr "Entrada inválida: '%s'." -#: ../callbacks.c:203 +#: ../callbacks.c:232 #, c-format msgid "Invalid index '%s' given." msgstr "Índice invalido: '%s'." -#: ../commands.c:33 ../commands.c:68 ../commands.c:95 ../commands.c:137 -#: ../commands.c:251 ../commands.c:281 ../commands.c:307 ../commands.c:396 -#: ../commands.c:496 ../shortcuts.c:440 ../shortcuts.c:891 +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 msgid "No document opened." msgstr "Ningún documento abierto." -#: ../commands.c:39 ../commands.c:74 ../commands.c:101 ../commands.c:401 +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 msgid "Invalid number of arguments given." msgstr "Número de argumentos inválido." -#: ../commands.c:47 +#: ../commands.c:49 #, c-format msgid "Bookmark successfuly updated: %s" msgstr "Favorito actualizado con éxitosamente: %s" -#: ../commands.c:53 +#: ../commands.c:55 #, c-format msgid "Could not create bookmark: %s" msgstr "Error al crear favorito: %s" -#: ../commands.c:57 +#: ../commands.c:59 #, c-format msgid "Bookmark successfuly created: %s" msgstr "Favorito creado con éxitosamente: %s" -#: ../commands.c:80 +#: ../commands.c:82 #, c-format msgid "Removed bookmark: %s" msgstr "Favorito eliminado: %s" -#: ../commands.c:82 +#: ../commands.c:84 #, c-format msgid "Failed to remove bookmark: %s" msgstr "Error al eliminar el favorito: %s" -#: ../commands.c:108 +#: ../commands.c:110 #, c-format msgid "No such bookmark: %s" msgstr "No existe el favorito: %s" -#: ../commands.c:159 ../commands.c:181 +#: ../commands.c:161 ../commands.c:183 msgid "No information available." msgstr "No hay información disponible." -#: ../commands.c:219 +#: ../commands.c:221 msgid "Too many arguments." msgstr "Demasiados argumentos." -#: ../commands.c:228 +#: ../commands.c:230 msgid "No arguments given." msgstr "Ningún argumento recibido." -#: ../commands.c:287 ../commands.c:313 +#: ../commands.c:289 ../commands.c:315 msgid "Document saved." msgstr "Documento guardado." -#: ../commands.c:289 ../commands.c:315 +#: ../commands.c:291 ../commands.c:317 msgid "Failed to save document." msgstr "Error al guardar el documento." -#: ../commands.c:292 ../commands.c:318 +#: ../commands.c:294 ../commands.c:320 msgid "Invalid number of arguments." msgstr "Número de argumentos inválido." -#: ../commands.c:420 +#: ../commands.c:424 #, c-format msgid "Couldn't write attachment '%s' to '%s'." msgstr "No se pudo escribir el fichero adjunto '%s' a '%s'." -#: ../commands.c:422 +#: ../commands.c:426 #, c-format msgid "Wrote attachment '%s' to '%s'." msgstr "Escrito fichero adjunto '%s' a '%s'." -#: ../commands.c:466 +#: ../commands.c:470 #, c-format msgid "Wrote image '%s' to '%s'." msgstr "Escrito fichero adjunto '%s' a '%s'." -#: ../commands.c:468 +#: ../commands.c:472 #, c-format msgid "Couldn't write image '%s' to '%s'." msgstr "No se pudo escribir el fichero adjunto '%s' a '%s'." -#: ../commands.c:475 +#: ../commands.c:479 #, c-format msgid "Unknown image '%s'." msgstr "" -#: ../commands.c:479 +#: ../commands.c:483 #, c-format msgid "Unknown attachment or image '%s'." msgstr "" -#: ../commands.c:509 +#: ../commands.c:534 msgid "Argument must be a number." msgstr "El argumento ha de ser un número." @@ -140,221 +140,269 @@ msgid "Images" msgstr "" #. zathura settings -#: ../config.c:98 +#: ../config.c:105 msgid "Database backend" msgstr "Base de datos" -#: ../config.c:100 +#: ../config.c:107 msgid "Zoom step" msgstr "Unidad de zoom" -#: ../config.c:102 +#: ../config.c:109 msgid "Padding between pages" msgstr "Separación entre páginas" -#: ../config.c:104 +#: ../config.c:111 msgid "Number of pages per row" msgstr "Número de páginas por fila" -#: ../config.c:106 +#: ../config.c:113 +msgid "Column of the first page" +msgstr "" + +#: ../config.c:115 msgid "Scroll step" msgstr "Unidad de desplazamiento" -#: ../config.c:108 +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "" + +#: ../config.c:119 msgid "Zoom minimum" msgstr "Zoom mínimo" -#: ../config.c:110 +#: ../config.c:121 msgid "Zoom maximum" msgstr "Zoom máximo" -#: ../config.c:112 +#: ../config.c:123 msgid "Life time (in seconds) of a hidden page" msgstr "" -#: ../config.c:113 +#: ../config.c:124 msgid "Amount of seconds between each cache purge" msgstr "" "Cantidad de segundos entre las comprobaciones de las páginas invisibles" -#: ../config.c:115 +#: ../config.c:126 msgid "Recoloring (dark color)" msgstr "Recoloreado (color oscuro)" -#: ../config.c:117 +#: ../config.c:128 msgid "Recoloring (light color)" msgstr "Recoloreado (color claro)" -#: ../config.c:119 +#: ../config.c:130 msgid "Color for highlighting" msgstr "Color para destacar" -#: ../config.c:121 +#: ../config.c:132 msgid "Color for highlighting (active)" msgstr "Color para destacar (activo)" -#: ../config.c:125 +#: ../config.c:136 msgid "Recolor pages" msgstr "Recolorear páginas" -#: ../config.c:127 +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 msgid "Wrap scrolling" msgstr "Navegación/Scroll cíclica/o" -#: ../config.c:129 +#: ../config.c:142 msgid "Advance number of pages per row" msgstr "" -#: ../config.c:131 +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 msgid "Transparency for highlighting" msgstr "Transparencia para el destacado" -#: ../config.c:133 +#: ../config.c:150 msgid "Render 'Loading ...'" msgstr "Renderizado 'Cargando ...'" -#: ../config.c:134 +#: ../config.c:151 msgid "Adjust to when opening file" msgstr "Ajustarse al abrir un fichero" -#: ../config.c:136 +#: ../config.c:153 msgid "Show hidden files and directories" msgstr "Mostrar directorios y ficheros ocultos" -#: ../config.c:138 +#: ../config.c:155 msgid "Show directories" msgstr "Mostrar directorios" -#: ../config.c:140 +#: ../config.c:157 msgid "Always open on first page" msgstr "Abrir siempre la primera página" -#: ../config.c:142 +#: ../config.c:159 msgid "Highlight search results" msgstr "" -#: ../config.c:144 +#: ../config.c:161 msgid "Clear search results on abort" msgstr "" +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + #. define default inputbar commands -#: ../config.c:266 +#: ../config.c:293 msgid "Add a bookmark" msgstr "Añadir Favorito" -#: ../config.c:267 +#: ../config.c:294 msgid "Delete a bookmark" msgstr "Eliminar Favorito" -#: ../config.c:268 +#: ../config.c:295 msgid "List all bookmarks" msgstr "Listar favoritos" -#: ../config.c:269 +#: ../config.c:296 msgid "Close current file" msgstr "Cerrar fichero actual" -#: ../config.c:270 +#: ../config.c:297 msgid "Show file information" msgstr "Mostrar información del fichero" -#: ../config.c:271 +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 msgid "Show help" msgstr "Mostrar ayuda" -#: ../config.c:272 +#: ../config.c:300 msgid "Open document" msgstr "Abrir documento" -#: ../config.c:273 +#: ../config.c:301 msgid "Close zathura" msgstr "Salir de zathura" -#: ../config.c:274 +#: ../config.c:302 msgid "Print document" msgstr "Imprimir documento" -#: ../config.c:275 +#: ../config.c:303 msgid "Save document" msgstr "Guardar documento" -#: ../config.c:276 +#: ../config.c:304 msgid "Save document (and force overwriting)" msgstr "Guardar documento (y sobreescribir)" -#: ../config.c:277 +#: ../config.c:305 msgid "Save attachments" msgstr "Guardar ficheros adjuntos" -#: ../config.c:278 +#: ../config.c:306 msgid "Set page offset" msgstr "Asignar el desplazamiento de página" -#: ../config.c:279 +#: ../config.c:307 msgid "Mark current location within the document" msgstr "" -#: ../config.c:280 +#: ../config.c:308 msgid "Delete the specified marks" msgstr "" -#: ../config.c:281 +#: ../config.c:309 msgid "Don't highlight current search results" msgstr "" -#: ../config.c:282 +#: ../config.c:310 msgid "Highlight current search results" msgstr "" -#: ../page-widget.c:611 +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Error al tratar de ejecutar xdg-open" + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "Reasignar a la ventana especificada por xid" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Ruta al directorio de configuración" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Ruta para el directorio de datos" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Ruta a los directorios que contienen los plugins" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Fork, ejecutándose en background" + +#: ../main.c:57 +msgid "Document password" +msgstr "" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Nivel de log (debug, info, warning, error)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Mostrar información del fichero" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "Cargando ..." + +#: ../page-widget.c:643 #, c-format msgid "Copied selected text to clipboard: %s" msgstr "Se ha copiado el texto seleccionado al portapapeles: %s" -#: ../page-widget.c:708 +#: ../page-widget.c:741 msgid "Copy image" msgstr "Copiar imagen" -#: ../page-widget.c:709 +#: ../page-widget.c:742 msgid "Save image as" msgstr "" -#: ../shortcuts.c:797 +#: ../shortcuts.c:825 msgid "This document does not contain any index" msgstr "Este documento no contiene ningún índice" -#: ../utils.c:346 -msgid "Failed to run xdg-open." -msgstr "Error al tratar de ejecutar xdg-open" - -#: ../zathura.c:73 -msgid "Reparents to window specified by xid" -msgstr "Reasignar a la ventana especificada por xid" - -#: ../zathura.c:74 -msgid "Path to the config directory" -msgstr "Ruta al directorio de configuración" - -#: ../zathura.c:75 -msgid "Path to the data directory" -msgstr "Ruta para el directorio de datos" - -#: ../zathura.c:76 -msgid "Path to the directories containing plugins" -msgstr "Ruta a los directorios que contienen los plugins" - -#: ../zathura.c:77 -msgid "Fork into the background" -msgstr "Fork, ejecutándose en background" - -#: ../zathura.c:78 -msgid "Document password" -msgstr "" - -#: ../zathura.c:79 -msgid "Log level (debug, info, warning, error)" -msgstr "Nivel de log (debug, info, warning, error)" - -#: ../zathura.c:251 ../zathura.c:799 +#: ../zathura.c:189 ../zathura.c:843 msgid "[No name]" msgstr "[Sin nombre]" diff --git a/po/es_CL.po b/po/es_CL.po index fc16889..f2a7f1e 100644 --- a/po/es_CL.po +++ b/po/es_CL.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: zathura\n" -"Report-Msgid-Bugs-To: http://bt.pwmt.org/\n" -"POT-Creation-Date: 2012-05-08 19:21+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" "PO-Revision-Date: 2012-04-03 15:26+0000\n" "Last-Translator: watsh1ken \n" "Language-Team: Spanish (Chile) (http://www.transifex.net/projects/p/zathura/" @@ -18,111 +18,111 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ../callbacks.c:175 +#: ../callbacks.c:204 #, c-format msgid "Invalid input '%s' given." msgstr "Entrada inválida: '%s'." -#: ../callbacks.c:203 +#: ../callbacks.c:232 #, c-format msgid "Invalid index '%s' given." msgstr "Índice invalido: '%s'." -#: ../commands.c:33 ../commands.c:68 ../commands.c:95 ../commands.c:137 -#: ../commands.c:251 ../commands.c:281 ../commands.c:307 ../commands.c:396 -#: ../commands.c:496 ../shortcuts.c:440 ../shortcuts.c:891 +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 msgid "No document opened." msgstr "Ningún documento abierto." -#: ../commands.c:39 ../commands.c:74 ../commands.c:101 ../commands.c:401 +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 msgid "Invalid number of arguments given." msgstr "Número de argumentos inválido." -#: ../commands.c:47 +#: ../commands.c:49 #, c-format msgid "Bookmark successfuly updated: %s" msgstr "Marcador actualizado exitosamente: %s" -#: ../commands.c:53 +#: ../commands.c:55 #, c-format msgid "Could not create bookmark: %s" msgstr "No se pudo crear marcador: %s" -#: ../commands.c:57 +#: ../commands.c:59 #, c-format msgid "Bookmark successfuly created: %s" msgstr "Marcador creado exitosamente: %s" -#: ../commands.c:80 +#: ../commands.c:82 #, c-format msgid "Removed bookmark: %s" msgstr "Marcador eliminado: %s" -#: ../commands.c:82 +#: ../commands.c:84 #, c-format msgid "Failed to remove bookmark: %s" msgstr "Error al eliminar marcador: %s" -#: ../commands.c:108 +#: ../commands.c:110 #, c-format msgid "No such bookmark: %s" msgstr "No existe marcador: %s" -#: ../commands.c:159 ../commands.c:181 +#: ../commands.c:161 ../commands.c:183 msgid "No information available." msgstr "No hay información disponible." -#: ../commands.c:219 +#: ../commands.c:221 msgid "Too many arguments." msgstr "Demasiados argumentos." -#: ../commands.c:228 +#: ../commands.c:230 msgid "No arguments given." msgstr "Ningún argumento recibido." -#: ../commands.c:287 ../commands.c:313 +#: ../commands.c:289 ../commands.c:315 msgid "Document saved." msgstr "Documento guardado." -#: ../commands.c:289 ../commands.c:315 +#: ../commands.c:291 ../commands.c:317 msgid "Failed to save document." msgstr "Error al guardar el documento." -#: ../commands.c:292 ../commands.c:318 +#: ../commands.c:294 ../commands.c:320 msgid "Invalid number of arguments." msgstr "Número de argumentos inválido." -#: ../commands.c:420 +#: ../commands.c:424 #, c-format msgid "Couldn't write attachment '%s' to '%s'." msgstr "No se pudo escribir el fichero adjunto '%s' a '%s'." -#: ../commands.c:422 +#: ../commands.c:426 #, c-format msgid "Wrote attachment '%s' to '%s'." msgstr "Fichero adjunto escrito '%s' a '%s'." -#: ../commands.c:466 +#: ../commands.c:470 #, c-format msgid "Wrote image '%s' to '%s'." msgstr "Fichero adjunto escrito '%s' a '%s'." -#: ../commands.c:468 +#: ../commands.c:472 #, c-format msgid "Couldn't write image '%s' to '%s'." msgstr "No se pudo escribir el fichero adjunto '%s' a '%s'." -#: ../commands.c:475 +#: ../commands.c:479 #, c-format msgid "Unknown image '%s'." msgstr "" -#: ../commands.c:479 +#: ../commands.c:483 #, c-format msgid "Unknown attachment or image '%s'." msgstr "" -#: ../commands.c:509 +#: ../commands.c:534 msgid "Argument must be a number." msgstr "El argumento debe ser un número." @@ -141,221 +141,269 @@ msgid "Images" msgstr "" #. zathura settings -#: ../config.c:98 +#: ../config.c:105 msgid "Database backend" msgstr "Fin de la base de datos." -#: ../config.c:100 +#: ../config.c:107 msgid "Zoom step" msgstr "Unidad de zoom" -#: ../config.c:102 +#: ../config.c:109 msgid "Padding between pages" msgstr "Separación entre páginas" -#: ../config.c:104 +#: ../config.c:111 msgid "Number of pages per row" msgstr "Numero de páginas por fila" -#: ../config.c:106 +#: ../config.c:113 +msgid "Column of the first page" +msgstr "" + +#: ../config.c:115 msgid "Scroll step" msgstr "Unidad de desplazamiento" -#: ../config.c:108 +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "" + +#: ../config.c:119 msgid "Zoom minimum" msgstr "Zoom mínimo" -#: ../config.c:110 +#: ../config.c:121 msgid "Zoom maximum" msgstr "Zoom máximo" -#: ../config.c:112 +#: ../config.c:123 msgid "Life time (in seconds) of a hidden page" msgstr "" -#: ../config.c:113 +#: ../config.c:124 msgid "Amount of seconds between each cache purge" msgstr "" "Cantidad de segundos entre las comprobaciones de las páginas invisibles" -#: ../config.c:115 +#: ../config.c:126 msgid "Recoloring (dark color)" msgstr "Recolorando (color oscuro)" -#: ../config.c:117 +#: ../config.c:128 msgid "Recoloring (light color)" msgstr "Recolorando (color claro)" -#: ../config.c:119 +#: ../config.c:130 msgid "Color for highlighting" msgstr "Color para destacar" -#: ../config.c:121 +#: ../config.c:132 msgid "Color for highlighting (active)" msgstr "Color para destacar (activo)" -#: ../config.c:125 +#: ../config.c:136 msgid "Recolor pages" msgstr "Recolorar páginas" -#: ../config.c:127 +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 msgid "Wrap scrolling" msgstr "Scroll cíclico" -#: ../config.c:129 +#: ../config.c:142 msgid "Advance number of pages per row" msgstr "" -#: ../config.c:131 +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 msgid "Transparency for highlighting" msgstr "Transparencia para lo destacado" -#: ../config.c:133 +#: ../config.c:150 msgid "Render 'Loading ...'" msgstr "Renderizando 'Cargando...'" -#: ../config.c:134 +#: ../config.c:151 msgid "Adjust to when opening file" msgstr "Ajustar al abrirse un archivo" -#: ../config.c:136 +#: ../config.c:153 msgid "Show hidden files and directories" msgstr "Mostrar archivos ocultos y directorios" -#: ../config.c:138 +#: ../config.c:155 msgid "Show directories" msgstr "Mostrar directorios" -#: ../config.c:140 +#: ../config.c:157 msgid "Always open on first page" msgstr "Siempre abrir en primera página" -#: ../config.c:142 +#: ../config.c:159 msgid "Highlight search results" msgstr "" -#: ../config.c:144 +#: ../config.c:161 msgid "Clear search results on abort" msgstr "" +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + #. define default inputbar commands -#: ../config.c:266 +#: ../config.c:293 msgid "Add a bookmark" msgstr "Agregar un marcador" -#: ../config.c:267 +#: ../config.c:294 msgid "Delete a bookmark" msgstr "Eliminar un marcador" -#: ../config.c:268 +#: ../config.c:295 msgid "List all bookmarks" msgstr "Listar todos los marcadores" -#: ../config.c:269 +#: ../config.c:296 msgid "Close current file" msgstr "Cerrar archivo actual" -#: ../config.c:270 +#: ../config.c:297 msgid "Show file information" msgstr "Mostrar información del archivo" -#: ../config.c:271 +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 msgid "Show help" msgstr "Mostrar ayuda" -#: ../config.c:272 +#: ../config.c:300 msgid "Open document" msgstr "Abrir documento" -#: ../config.c:273 +#: ../config.c:301 msgid "Close zathura" msgstr "Cerrar zathura" -#: ../config.c:274 +#: ../config.c:302 msgid "Print document" msgstr "Imprimir documento" -#: ../config.c:275 +#: ../config.c:303 msgid "Save document" msgstr "Guardar documento" -#: ../config.c:276 +#: ../config.c:304 msgid "Save document (and force overwriting)" msgstr "Guardar documento (y forzar sobreescritura)" -#: ../config.c:277 +#: ../config.c:305 msgid "Save attachments" msgstr "Guardar archivos adjuntos" -#: ../config.c:278 +#: ../config.c:306 msgid "Set page offset" msgstr "Asignar desplazamiento de la página" -#: ../config.c:279 +#: ../config.c:307 msgid "Mark current location within the document" msgstr "" -#: ../config.c:280 +#: ../config.c:308 msgid "Delete the specified marks" msgstr "" -#: ../config.c:281 +#: ../config.c:309 msgid "Don't highlight current search results" msgstr "" -#: ../config.c:282 +#: ../config.c:310 msgid "Highlight current search results" msgstr "" -#: ../page-widget.c:611 +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Error al ejecutar xdg-open." + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "Reasignar a la ventana especificada por xid" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Ruta al directorio de configuración" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Ruta al directorio de datos" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Ruta al directorio que contiene plugins" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Ejecución en background" + +#: ../main.c:57 +msgid "Document password" +msgstr "" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Nivel de log (debug, info, warning, error)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Mostrar información del archivo" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "Cargando..." + +#: ../page-widget.c:643 #, c-format msgid "Copied selected text to clipboard: %s" msgstr "Texto seleccionado copiado al portapapeles: %s" -#: ../page-widget.c:708 +#: ../page-widget.c:741 msgid "Copy image" msgstr "Copiar imagen" -#: ../page-widget.c:709 +#: ../page-widget.c:742 msgid "Save image as" msgstr "" -#: ../shortcuts.c:797 +#: ../shortcuts.c:825 msgid "This document does not contain any index" msgstr "Este document no contiene índice" -#: ../utils.c:346 -msgid "Failed to run xdg-open." -msgstr "Error al ejecutar xdg-open." - -#: ../zathura.c:73 -msgid "Reparents to window specified by xid" -msgstr "Reasignar a la ventana especificada por xid" - -#: ../zathura.c:74 -msgid "Path to the config directory" -msgstr "Ruta al directorio de configuración" - -#: ../zathura.c:75 -msgid "Path to the data directory" -msgstr "Ruta al directorio de datos" - -#: ../zathura.c:76 -msgid "Path to the directories containing plugins" -msgstr "Ruta al directorio que contiene plugins" - -#: ../zathura.c:77 -msgid "Fork into the background" -msgstr "Ejecución en background" - -#: ../zathura.c:78 -msgid "Document password" -msgstr "" - -#: ../zathura.c:79 -msgid "Log level (debug, info, warning, error)" -msgstr "Nivel de log (debug, info, warning, error)" - -#: ../zathura.c:251 ../zathura.c:799 +#: ../zathura.c:189 ../zathura.c:843 msgid "[No name]" msgstr "[Sin nombre]" diff --git a/po/et.po b/po/et.po index 3e66bb7..6651841 100644 --- a/po/et.po +++ b/po/et.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: zathura\n" -"Report-Msgid-Bugs-To: http://bt.pwmt.org/\n" -"POT-Creation-Date: 2012-05-08 19:21+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" "PO-Revision-Date: 2012-04-03 15:25+0000\n" "Last-Translator: Rivo Zängov \n" "Language-Team: Estonian (http://www.transifex.net/projects/p/zathura/" @@ -18,111 +18,111 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ../callbacks.c:175 +#: ../callbacks.c:204 #, c-format msgid "Invalid input '%s' given." msgstr "" -#: ../callbacks.c:203 +#: ../callbacks.c:232 #, c-format msgid "Invalid index '%s' given." msgstr "" -#: ../commands.c:33 ../commands.c:68 ../commands.c:95 ../commands.c:137 -#: ../commands.c:251 ../commands.c:281 ../commands.c:307 ../commands.c:396 -#: ../commands.c:496 ../shortcuts.c:440 ../shortcuts.c:891 +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 msgid "No document opened." msgstr "" -#: ../commands.c:39 ../commands.c:74 ../commands.c:101 ../commands.c:401 +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 msgid "Invalid number of arguments given." msgstr "" -#: ../commands.c:47 +#: ../commands.c:49 #, c-format msgid "Bookmark successfuly updated: %s" msgstr "" -#: ../commands.c:53 +#: ../commands.c:55 #, c-format msgid "Could not create bookmark: %s" msgstr "" -#: ../commands.c:57 +#: ../commands.c:59 #, c-format msgid "Bookmark successfuly created: %s" msgstr "" -#: ../commands.c:80 +#: ../commands.c:82 #, c-format msgid "Removed bookmark: %s" msgstr "" -#: ../commands.c:82 +#: ../commands.c:84 #, c-format msgid "Failed to remove bookmark: %s" msgstr "" -#: ../commands.c:108 +#: ../commands.c:110 #, c-format msgid "No such bookmark: %s" msgstr "" -#: ../commands.c:159 ../commands.c:181 +#: ../commands.c:161 ../commands.c:183 msgid "No information available." msgstr "" -#: ../commands.c:219 +#: ../commands.c:221 msgid "Too many arguments." msgstr "" -#: ../commands.c:228 +#: ../commands.c:230 msgid "No arguments given." msgstr "" -#: ../commands.c:287 ../commands.c:313 +#: ../commands.c:289 ../commands.c:315 msgid "Document saved." msgstr "" -#: ../commands.c:289 ../commands.c:315 +#: ../commands.c:291 ../commands.c:317 msgid "Failed to save document." msgstr "" -#: ../commands.c:292 ../commands.c:318 +#: ../commands.c:294 ../commands.c:320 msgid "Invalid number of arguments." msgstr "" -#: ../commands.c:420 +#: ../commands.c:424 #, c-format msgid "Couldn't write attachment '%s' to '%s'." msgstr "" -#: ../commands.c:422 +#: ../commands.c:426 #, c-format msgid "Wrote attachment '%s' to '%s'." msgstr "" -#: ../commands.c:466 +#: ../commands.c:470 #, c-format msgid "Wrote image '%s' to '%s'." msgstr "" -#: ../commands.c:468 +#: ../commands.c:472 #, c-format msgid "Couldn't write image '%s' to '%s'." msgstr "" -#: ../commands.c:475 +#: ../commands.c:479 #, c-format msgid "Unknown image '%s'." msgstr "" -#: ../commands.c:479 +#: ../commands.c:483 #, c-format msgid "Unknown attachment or image '%s'." msgstr "" -#: ../commands.c:509 +#: ../commands.c:534 msgid "Argument must be a number." msgstr "" @@ -141,220 +141,268 @@ msgid "Images" msgstr "" #. zathura settings -#: ../config.c:98 +#: ../config.c:105 msgid "Database backend" msgstr "" -#: ../config.c:100 +#: ../config.c:107 msgid "Zoom step" msgstr "" -#: ../config.c:102 +#: ../config.c:109 msgid "Padding between pages" msgstr "" -#: ../config.c:104 +#: ../config.c:111 msgid "Number of pages per row" msgstr "" -#: ../config.c:106 -msgid "Scroll step" -msgstr "" - -#: ../config.c:108 -msgid "Zoom minimum" -msgstr "" - -#: ../config.c:110 -msgid "Zoom maximum" -msgstr "" - -#: ../config.c:112 -msgid "Life time (in seconds) of a hidden page" -msgstr "" - #: ../config.c:113 -msgid "Amount of seconds between each cache purge" +msgid "Column of the first page" msgstr "" #: ../config.c:115 -msgid "Recoloring (dark color)" +msgid "Scroll step" msgstr "" #: ../config.c:117 -msgid "Recoloring (light color)" +msgid "Horizontal scroll step" msgstr "" #: ../config.c:119 +msgid "Zoom minimum" +msgstr "" + +#: ../config.c:121 +msgid "Zoom maximum" +msgstr "" + +#: ../config.c:123 +msgid "Life time (in seconds) of a hidden page" +msgstr "" + +#: ../config.c:124 +msgid "Amount of seconds between each cache purge" +msgstr "" + +#: ../config.c:126 +msgid "Recoloring (dark color)" +msgstr "" + +#: ../config.c:128 +msgid "Recoloring (light color)" +msgstr "" + +#: ../config.c:130 msgid "Color for highlighting" msgstr "Esiletõstmise värv" -#: ../config.c:121 +#: ../config.c:132 msgid "Color for highlighting (active)" msgstr "Esiletõstmise värv (aktiivne)" -#: ../config.c:125 +#: ../config.c:136 msgid "Recolor pages" msgstr "" -#: ../config.c:127 +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 msgid "Wrap scrolling" msgstr "" -#: ../config.c:129 +#: ../config.c:142 msgid "Advance number of pages per row" msgstr "" -#: ../config.c:131 +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 msgid "Transparency for highlighting" msgstr "" -#: ../config.c:133 +#: ../config.c:150 msgid "Render 'Loading ...'" msgstr "" -#: ../config.c:134 +#: ../config.c:151 msgid "Adjust to when opening file" msgstr "" -#: ../config.c:136 +#: ../config.c:153 msgid "Show hidden files and directories" msgstr "" -#: ../config.c:138 +#: ../config.c:155 msgid "Show directories" msgstr "Näita kaustasid" -#: ../config.c:140 +#: ../config.c:157 msgid "Always open on first page" msgstr "Ava alati esimene leht" -#: ../config.c:142 +#: ../config.c:159 msgid "Highlight search results" msgstr "" -#: ../config.c:144 +#: ../config.c:161 msgid "Clear search results on abort" msgstr "" +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + #. define default inputbar commands -#: ../config.c:266 +#: ../config.c:293 msgid "Add a bookmark" msgstr "Lisa järjehoidja" -#: ../config.c:267 +#: ../config.c:294 msgid "Delete a bookmark" msgstr "Kustuta järjehoidja" -#: ../config.c:268 +#: ../config.c:295 msgid "List all bookmarks" msgstr "Näita kõiki järjehoidjaid" -#: ../config.c:269 +#: ../config.c:296 msgid "Close current file" msgstr "Sulge praegune fail" -#: ../config.c:270 +#: ../config.c:297 msgid "Show file information" msgstr "Näita faili infot" -#: ../config.c:271 +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 msgid "Show help" msgstr "Näita abiinfot" -#: ../config.c:272 +#: ../config.c:300 msgid "Open document" msgstr "Ava dokument" -#: ../config.c:273 +#: ../config.c:301 msgid "Close zathura" msgstr "Sule zathura" -#: ../config.c:274 +#: ../config.c:302 msgid "Print document" msgstr "Prindi dokument" -#: ../config.c:275 +#: ../config.c:303 msgid "Save document" msgstr "Salvesta dokument" -#: ../config.c:276 +#: ../config.c:304 msgid "Save document (and force overwriting)" msgstr "" -#: ../config.c:277 +#: ../config.c:305 msgid "Save attachments" msgstr "Salvesta manused" -#: ../config.c:278 +#: ../config.c:306 msgid "Set page offset" msgstr "" -#: ../config.c:279 +#: ../config.c:307 msgid "Mark current location within the document" msgstr "" -#: ../config.c:280 +#: ../config.c:308 msgid "Delete the specified marks" msgstr "" -#: ../config.c:281 +#: ../config.c:309 msgid "Don't highlight current search results" msgstr "" -#: ../config.c:282 +#: ../config.c:310 msgid "Highlight current search results" msgstr "" -#: ../page-widget.c:611 +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "" + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "" + +#: ../main.c:57 +msgid "Document password" +msgstr "" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Näita faili infot" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "" + +#: ../page-widget.c:643 #, c-format msgid "Copied selected text to clipboard: %s" msgstr "" -#: ../page-widget.c:708 +#: ../page-widget.c:741 msgid "Copy image" msgstr "Kopeeri pilt" -#: ../page-widget.c:709 +#: ../page-widget.c:742 msgid "Save image as" msgstr "" -#: ../shortcuts.c:797 +#: ../shortcuts.c:825 msgid "This document does not contain any index" msgstr "" -#: ../utils.c:346 -msgid "Failed to run xdg-open." -msgstr "" - -#: ../zathura.c:73 -msgid "Reparents to window specified by xid" -msgstr "" - -#: ../zathura.c:74 -msgid "Path to the config directory" -msgstr "" - -#: ../zathura.c:75 -msgid "Path to the data directory" -msgstr "" - -#: ../zathura.c:76 -msgid "Path to the directories containing plugins" -msgstr "" - -#: ../zathura.c:77 -msgid "Fork into the background" -msgstr "" - -#: ../zathura.c:78 -msgid "Document password" -msgstr "" - -#: ../zathura.c:79 -msgid "Log level (debug, info, warning, error)" -msgstr "" - -#: ../zathura.c:251 ../zathura.c:799 +#: ../zathura.c:189 ../zathura.c:843 msgid "[No name]" msgstr "[Nime pole]" diff --git a/po/fr.po b/po/fr.po index 0cb6841..8cd0643 100644 --- a/po/fr.po +++ b/po/fr.po @@ -8,121 +8,121 @@ msgid "" msgstr "" "Project-Id-Version: zathura\n" "Report-Msgid-Bugs-To: http://bt.pwmt.org/\n" -"POT-Creation-Date: 2012-05-08 19:21+0200\n" -"PO-Revision-Date: 2012-06-06 00:02+0000\n" +"POT-Creation-Date: 2012-08-05 15:45+0200\n" +"PO-Revision-Date: 2012-08-07 22:54+0000\n" "Last-Translator: Stéphane Aulery \n" -"Language-Team: French (http://www.transifex.net/projects/p/zathura/language/fr/)\n" +"Language-Team: French (http://www.transifex.com/projects/p/zathura/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1)\n" -#: ../callbacks.c:175 +#: ../callbacks.c:204 #, c-format msgid "Invalid input '%s' given." msgstr "Entrée invalide : '%s'" -#: ../callbacks.c:203 +#: ../callbacks.c:232 #, c-format msgid "Invalid index '%s' given." msgstr "Index invalide : '%s'" -#: ../commands.c:33 ../commands.c:68 ../commands.c:95 ../commands.c:137 -#: ../commands.c:251 ../commands.c:281 ../commands.c:307 ../commands.c:396 -#: ../commands.c:496 ../shortcuts.c:440 ../shortcuts.c:891 +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 msgid "No document opened." msgstr "Aucun document ouvert." -#: ../commands.c:39 ../commands.c:74 ../commands.c:101 ../commands.c:401 +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 msgid "Invalid number of arguments given." msgstr "Nombre d'arguments invalide." -#: ../commands.c:47 +#: ../commands.c:49 #, c-format msgid "Bookmark successfuly updated: %s" msgstr "Marque page mis à jour avec succès : %s" -#: ../commands.c:53 +#: ../commands.c:55 #, c-format msgid "Could not create bookmark: %s" msgstr "Impossible de créer le marque page: %s" -#: ../commands.c:57 +#: ../commands.c:59 #, c-format msgid "Bookmark successfuly created: %s" msgstr "Marque page créé avec succès : %s" -#: ../commands.c:80 +#: ../commands.c:82 #, c-format msgid "Removed bookmark: %s" msgstr "Marque page supprimé : %s" -#: ../commands.c:82 +#: ../commands.c:84 #, c-format msgid "Failed to remove bookmark: %s" msgstr "Échec lors de la suppression du marque page : %s" -#: ../commands.c:108 +#: ../commands.c:110 #, c-format msgid "No such bookmark: %s" msgstr "Aucun marque page : %s" -#: ../commands.c:159 ../commands.c:181 +#: ../commands.c:161 ../commands.c:183 msgid "No information available." msgstr "Aucune information disponible." -#: ../commands.c:219 +#: ../commands.c:221 msgid "Too many arguments." msgstr "Trop d'arguments." -#: ../commands.c:228 +#: ../commands.c:230 msgid "No arguments given." msgstr "Aucun argument passé." -#: ../commands.c:287 ../commands.c:313 +#: ../commands.c:289 ../commands.c:315 msgid "Document saved." msgstr "Document enregistré." -#: ../commands.c:289 ../commands.c:315 +#: ../commands.c:291 ../commands.c:317 msgid "Failed to save document." msgstr "Échec lors de l'enregistrement du document." -#: ../commands.c:292 ../commands.c:318 +#: ../commands.c:294 ../commands.c:320 msgid "Invalid number of arguments." msgstr "Nombre d'arguments invalide." -#: ../commands.c:420 +#: ../commands.c:424 #, c-format msgid "Couldn't write attachment '%s' to '%s'." msgstr "Impossible d'écrire la pièce jointe '%s' dans '%s'." -#: ../commands.c:422 +#: ../commands.c:426 #, c-format msgid "Wrote attachment '%s' to '%s'." msgstr "Ecriture de la pièce jointe '%s' dans '%s'." -#: ../commands.c:466 +#: ../commands.c:470 #, c-format msgid "Wrote image '%s' to '%s'." msgstr "Écriture de l'image '%s' dans '%s'." -#: ../commands.c:468 +#: ../commands.c:472 #, c-format msgid "Couldn't write image '%s' to '%s'." msgstr "Impossible d'écrire l'image '%s' dans '%s'." -#: ../commands.c:475 +#: ../commands.c:479 #, c-format msgid "Unknown image '%s'." msgstr "Image '%s' inconnue" -#: ../commands.c:479 +#: ../commands.c:483 #, c-format msgid "Unknown attachment or image '%s'." msgstr "Pièce jointe ou image '%s' inconnue." -#: ../commands.c:509 +#: ../commands.c:534 msgid "Argument must be a number." msgstr "L'argument doit être un nombre." @@ -141,220 +141,270 @@ msgid "Images" msgstr "Images" #. zathura settings -#: ../config.c:98 +#: ../config.c:105 msgid "Database backend" msgstr "Gestionnaire de base de données" -#: ../config.c:100 +#: ../config.c:107 msgid "Zoom step" msgstr "Facteur de zoom" -#: ../config.c:102 +#: ../config.c:109 msgid "Padding between pages" msgstr "Espacement entre les pages" -#: ../config.c:104 +#: ../config.c:111 msgid "Number of pages per row" msgstr "Nombre de page par rangée" -#: ../config.c:106 +#: ../config.c:113 +msgid "Column of the first page" +msgstr "Colonne de la première page" + +#: ../config.c:115 msgid "Scroll step" msgstr "Facteur de défilement" -#: ../config.c:108 +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "Pas de défilement horizontal" + +#: ../config.c:119 msgid "Zoom minimum" msgstr "Zoom minimum" -#: ../config.c:110 +#: ../config.c:121 msgid "Zoom maximum" msgstr "Zoom maximum" -#: ../config.c:112 +#: ../config.c:123 msgid "Life time (in seconds) of a hidden page" msgstr "Durée de vie (en secondes) d'une page cachée" -#: ../config.c:113 +#: ../config.c:124 msgid "Amount of seconds between each cache purge" msgstr "Délai en secondes entre chaque purge du cache." -#: ../config.c:115 +#: ../config.c:126 msgid "Recoloring (dark color)" msgstr "Recolorisation (couleurs sombres)" -#: ../config.c:117 +#: ../config.c:128 msgid "Recoloring (light color)" msgstr "Recolorisation (couleurs claires)" -#: ../config.c:119 +#: ../config.c:130 msgid "Color for highlighting" msgstr "Couleur de surbrillance" -#: ../config.c:121 +#: ../config.c:132 msgid "Color for highlighting (active)" msgstr "Couleur de surbrillance (active)" -#: ../config.c:125 +#: ../config.c:136 msgid "Recolor pages" msgstr "Recoloriser les pages" -#: ../config.c:127 +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" +"Lors du recalibrage des couleurs garder la teinte d'origine et ajuster " +"seulement la luminosité" + +#: ../config.c:140 msgid "Wrap scrolling" msgstr "Défiler lors du renvoi à la ligne" -#: ../config.c:129 +#: ../config.c:142 msgid "Advance number of pages per row" msgstr "Augmenter le nombre de pages par rangée" -#: ../config.c:131 +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "Zoom centré horizontalement" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "Centrer le résultat horizontalement" + +#: ../config.c:148 msgid "Transparency for highlighting" msgstr "Transparence de la surbrillance" -#: ../config.c:133 +#: ../config.c:150 msgid "Render 'Loading ...'" msgstr "Rendu 'Chargement...'" -#: ../config.c:134 +#: ../config.c:151 msgid "Adjust to when opening file" msgstr "Ajuster à l'ouverture du fichier" -#: ../config.c:136 +#: ../config.c:153 msgid "Show hidden files and directories" msgstr "Montrer les fichiers et dossiers cachés" -#: ../config.c:138 +#: ../config.c:155 msgid "Show directories" msgstr "Montrer les dossiers" -#: ../config.c:140 +#: ../config.c:157 msgid "Always open on first page" msgstr "Toujours ouvrir à la première page" -#: ../config.c:142 +#: ../config.c:159 msgid "Highlight search results" msgstr "Surligner les résultats de la recherche" -#: ../config.c:144 +#: ../config.c:161 msgid "Clear search results on abort" msgstr "Effacer les résultats de recherche en cas d'abandon" +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "Utiliser le nom de base dans le titre de la fenêtre" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + #. define default inputbar commands -#: ../config.c:266 +#: ../config.c:293 msgid "Add a bookmark" msgstr "Ajouter un marque-page" -#: ../config.c:267 +#: ../config.c:294 msgid "Delete a bookmark" msgstr "Supprimer un marque-page" -#: ../config.c:268 +#: ../config.c:295 msgid "List all bookmarks" msgstr "Lister tous les marque-pages" -#: ../config.c:269 +#: ../config.c:296 msgid "Close current file" msgstr "Fermer le fichier actuel" -#: ../config.c:270 +#: ../config.c:297 msgid "Show file information" msgstr "Montrer les informations sur le fichier" -#: ../config.c:271 +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 msgid "Show help" msgstr "Afficher l'aide" -#: ../config.c:272 +#: ../config.c:300 msgid "Open document" msgstr "Ouvrir un document" -#: ../config.c:273 +#: ../config.c:301 msgid "Close zathura" msgstr "Quitter Zathura" -#: ../config.c:274 +#: ../config.c:302 msgid "Print document" msgstr "Imprimer un document" -#: ../config.c:275 +#: ../config.c:303 msgid "Save document" msgstr "Sauver un document" -#: ../config.c:276 +#: ../config.c:304 msgid "Save document (and force overwriting)" msgstr "Sauver un document (et forcer l'écrasement)" -#: ../config.c:277 +#: ../config.c:305 msgid "Save attachments" msgstr "Enregistrer les pièces jointes" -#: ../config.c:278 +#: ../config.c:306 msgid "Set page offset" msgstr "Régler le décalage de page" -#: ../config.c:279 +#: ../config.c:307 msgid "Mark current location within the document" msgstr "Marquer l'emplacement actuel dans le document" -#: ../config.c:280 +#: ../config.c:308 msgid "Delete the specified marks" msgstr "Supprimer les marques indiquées" -#: ../config.c:281 +#: ../config.c:309 msgid "Don't highlight current search results" msgstr "Ne pas surligner les résultats de la recherche actuelle" -#: ../config.c:282 +#: ../config.c:310 msgid "Highlight current search results" msgstr "Surligner les résultats de la recherche actuelle" -#: ../page-widget.c:611 +#: ../config.c:311 +msgid "Show version information" +msgstr "Afficher les informations de version " + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Échec lors du lancement de xdg-open" + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "Rattacher à la fenêtre spécifiée par xid" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Chemin vers le dossier de configuration" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Chemin vers le dossier de données" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Chemin vers le dossier de plugins" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Forker en arrière-plan" + +#: ../main.c:57 +msgid "Document password" +msgstr "Mot de passe du document" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Niveau d'affichage (debug, info, warning, error)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Afficher les informations de version " + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "Éditeur Synctex (transférer à la commande synctex)" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "Chargement..." + +#: ../page-widget.c:643 #, c-format msgid "Copied selected text to clipboard: %s" msgstr "Copie du texte sélectionné dans le presse-papiers : %s" -#: ../page-widget.c:708 +#: ../page-widget.c:741 msgid "Copy image" msgstr "Copier l'image" -#: ../page-widget.c:709 +#: ../page-widget.c:742 msgid "Save image as" msgstr "Enregistrer l'image sous" -#: ../shortcuts.c:797 +#: ../shortcuts.c:825 msgid "This document does not contain any index" msgstr "Ce document ne contient pas d'index" -#: ../utils.c:346 -msgid "Failed to run xdg-open." -msgstr "Échec lors du lancement de xdg-open" - -#: ../zathura.c:73 -msgid "Reparents to window specified by xid" -msgstr "Rattacher à la fenêtre spécifiée par xid" - -#: ../zathura.c:74 -msgid "Path to the config directory" -msgstr "Chemin vers le dossier de configuration" - -#: ../zathura.c:75 -msgid "Path to the data directory" -msgstr "Chemin vers le dossier de données" - -#: ../zathura.c:76 -msgid "Path to the directories containing plugins" -msgstr "Chemin vers le dossier de plugins" - -#: ../zathura.c:77 -msgid "Fork into the background" -msgstr "Forker en arrière-plan" - -#: ../zathura.c:78 -msgid "Document password" -msgstr "Mot de passe du document" - -#: ../zathura.c:79 -msgid "Log level (debug, info, warning, error)" -msgstr "Niveau d'affichage (debug, info, warning, error)" - -#: ../zathura.c:251 ../zathura.c:799 +#: ../zathura.c:189 ../zathura.c:843 msgid "[No name]" msgstr "[Sans nom]" diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..446e77b --- /dev/null +++ b/po/it.po @@ -0,0 +1,408 @@ +# zathura - language file (Italian) +# See LICENSE file for license and copyright information +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: zathura\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" +"PO-Revision-Date: 2012-06-20 14:58+0000\n" +"Last-Translator: Sebastian Ramacher \n" +"Language-Team: Italian (http://www.transifex.com/projects/p/zathura/language/" +"it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" + +#: ../callbacks.c:204 +#, c-format +msgid "Invalid input '%s' given." +msgstr "Input inserito '%s' non valido." + +#: ../callbacks.c:232 +#, c-format +msgid "Invalid index '%s' given." +msgstr "Indice inserito '%s' non valido." + +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 +msgid "No document opened." +msgstr "Nessun documento aperto." + +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 +msgid "Invalid number of arguments given." +msgstr "Numero di argomenti errato." + +#: ../commands.c:49 +#, c-format +msgid "Bookmark successfuly updated: %s" +msgstr "Segnalibro aggiornato con successo:%s" + +#: ../commands.c:55 +#, c-format +msgid "Could not create bookmark: %s" +msgstr "Impossibile creare il segnalibro:%s" + +#: ../commands.c:59 +#, c-format +msgid "Bookmark successfuly created: %s" +msgstr "Segnalibro creato con successo:%s" + +#: ../commands.c:82 +#, c-format +msgid "Removed bookmark: %s" +msgstr "Segnalibro rimosso:%s" + +#: ../commands.c:84 +#, c-format +msgid "Failed to remove bookmark: %s" +msgstr "Impossibile rimuovere il segnalibro:%s" + +#: ../commands.c:110 +#, c-format +msgid "No such bookmark: %s" +msgstr "Nessun segnalibro corrispondente:%s" + +#: ../commands.c:161 ../commands.c:183 +msgid "No information available." +msgstr "Nessun' informazione disponibile." + +#: ../commands.c:221 +msgid "Too many arguments." +msgstr "Numero di argomenti eccessivo." + +#: ../commands.c:230 +msgid "No arguments given." +msgstr "Nessun argomento specificato." + +#: ../commands.c:289 ../commands.c:315 +msgid "Document saved." +msgstr "Documento salvato." + +#: ../commands.c:291 ../commands.c:317 +msgid "Failed to save document." +msgstr "Impossibile salvare il documento." + +#: ../commands.c:294 ../commands.c:320 +msgid "Invalid number of arguments." +msgstr "Numero di argomenti non valido." + +#: ../commands.c:424 +#, c-format +msgid "Couldn't write attachment '%s' to '%s'." +msgstr "Impossibile salvare l' allegato '%s' in '%s'" + +#: ../commands.c:426 +#, c-format +msgid "Wrote attachment '%s' to '%s'." +msgstr "Allegato '%s' salvato in '%s'" + +#: ../commands.c:470 +#, c-format +msgid "Wrote image '%s' to '%s'." +msgstr "" + +#: ../commands.c:472 +#, c-format +msgid "Couldn't write image '%s' to '%s'." +msgstr "" + +#: ../commands.c:479 +#, c-format +msgid "Unknown image '%s'." +msgstr "" + +#: ../commands.c:483 +#, c-format +msgid "Unknown attachment or image '%s'." +msgstr "" + +#: ../commands.c:534 +msgid "Argument must be a number." +msgstr "L' argomento dev' essere un numero." + +#: ../completion.c:250 +#, c-format +msgid "Page %d" +msgstr "" + +#: ../completion.c:293 +msgid "Attachments" +msgstr "" + +#. add images +#: ../completion.c:324 +msgid "Images" +msgstr "" + +#. zathura settings +#: ../config.c:105 +msgid "Database backend" +msgstr "Backend del database" + +#: ../config.c:107 +msgid "Zoom step" +msgstr "" + +#: ../config.c:109 +msgid "Padding between pages" +msgstr "Spaziatura tra le pagine" + +#: ../config.c:111 +msgid "Number of pages per row" +msgstr "Numero di pagine per riga" + +#: ../config.c:113 +msgid "Column of the first page" +msgstr "" + +#: ../config.c:115 +msgid "Scroll step" +msgstr "" + +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "" + +#: ../config.c:119 +msgid "Zoom minimum" +msgstr "Zoom minimo" + +#: ../config.c:121 +msgid "Zoom maximum" +msgstr "Zoom massimo" + +#: ../config.c:123 +msgid "Life time (in seconds) of a hidden page" +msgstr "Durata (in secondi) di una pagina nascosta" + +#: ../config.c:124 +msgid "Amount of seconds between each cache purge" +msgstr "Tempo in secondi tra le invalidazioni della cache" + +#: ../config.c:126 +msgid "Recoloring (dark color)" +msgstr "" + +#: ../config.c:128 +msgid "Recoloring (light color)" +msgstr "" + +#: ../config.c:130 +msgid "Color for highlighting" +msgstr "" + +#: ../config.c:132 +msgid "Color for highlighting (active)" +msgstr "" + +#: ../config.c:136 +msgid "Recolor pages" +msgstr "Ricolora le pagine" + +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 +msgid "Wrap scrolling" +msgstr "Scrolling continuo" + +#: ../config.c:142 +msgid "Advance number of pages per row" +msgstr "" + +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 +msgid "Transparency for highlighting" +msgstr "" + +#: ../config.c:150 +msgid "Render 'Loading ...'" +msgstr "" + +#: ../config.c:151 +msgid "Adjust to when opening file" +msgstr "" + +#: ../config.c:153 +msgid "Show hidden files and directories" +msgstr "Mostra file e cartelle nascosti" + +#: ../config.c:155 +msgid "Show directories" +msgstr "Mostra cartelle" + +#: ../config.c:157 +msgid "Always open on first page" +msgstr "Apri sempre alla prima pagina" + +#: ../config.c:159 +msgid "Highlight search results" +msgstr "" + +#: ../config.c:161 +msgid "Clear search results on abort" +msgstr "" + +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + +#. define default inputbar commands +#: ../config.c:293 +msgid "Add a bookmark" +msgstr "Aggiungi un segnalibro" + +#: ../config.c:294 +msgid "Delete a bookmark" +msgstr "Elimina un segnalibro" + +#: ../config.c:295 +msgid "List all bookmarks" +msgstr "Mostra i segnalibri" + +#: ../config.c:296 +msgid "Close current file" +msgstr "Chiudi il file corrente" + +#: ../config.c:297 +msgid "Show file information" +msgstr "Mostra le informazioni sul file" + +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 +msgid "Show help" +msgstr "Mostra l' aiuto" + +#: ../config.c:300 +msgid "Open document" +msgstr "Apri un documento" + +#: ../config.c:301 +msgid "Close zathura" +msgstr "Chiudi zathura" + +#: ../config.c:302 +msgid "Print document" +msgstr "Stampa il documento" + +#: ../config.c:303 +msgid "Save document" +msgstr "Salva il documento" + +#: ../config.c:304 +msgid "Save document (and force overwriting)" +msgstr "Salva il documento (e sovrascrivi)" + +#: ../config.c:305 +msgid "Save attachments" +msgstr "Salva allegati" + +#: ../config.c:306 +msgid "Set page offset" +msgstr "Imposta l' offset della pagina" + +#: ../config.c:307 +msgid "Mark current location within the document" +msgstr "" + +#: ../config.c:308 +msgid "Delete the specified marks" +msgstr "" + +#: ../config.c:309 +msgid "Don't highlight current search results" +msgstr "" + +#: ../config.c:310 +msgid "Highlight current search results" +msgstr "" + +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Impossibile eseguire xdg-open." + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Percorso della directory della configurazione" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Percorso della directory dei dati" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Percorso della directory contenente i plugin" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Crea un processo separato" + +#: ../main.c:57 +msgid "Document password" +msgstr "" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Livello di log (debug, info, warning, error)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Mostra le informazioni sul file" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "" + +#: ../page-widget.c:643 +#, c-format +msgid "Copied selected text to clipboard: %s" +msgstr "La selezione è stato copiata negli appunti:%s" + +#: ../page-widget.c:741 +msgid "Copy image" +msgstr "Copia immagine" + +#: ../page-widget.c:742 +msgid "Save image as" +msgstr "" + +#: ../shortcuts.c:825 +msgid "This document does not contain any index" +msgstr "Questo documento non contiene l' indice" + +#: ../zathura.c:189 ../zathura.c:843 +msgid "[No name]" +msgstr "[Nessun nome]" diff --git a/po/pl.po b/po/pl.po index 831029e..fd69fd0 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: zathura\n" -"Report-Msgid-Bugs-To: http://bt.pwmt.org/\n" -"POT-Creation-Date: 2012-05-08 19:21+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" "PO-Revision-Date: 2012-04-03 16:07+0000\n" "Last-Translator: p \n" "Language-Team: Polish (http://www.transifex.net/projects/p/zathura/language/" @@ -19,118 +19,118 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2)\n" -#: ../callbacks.c:175 +#: ../callbacks.c:204 #, c-format msgid "Invalid input '%s' given." msgstr "Nieprawidłowy argument: %s" -#: ../callbacks.c:203 +#: ../callbacks.c:232 #, c-format msgid "Invalid index '%s' given." msgstr "Nieprawidłowy indeks: %s" -#: ../commands.c:33 ../commands.c:68 ../commands.c:95 ../commands.c:137 -#: ../commands.c:251 ../commands.c:281 ../commands.c:307 ../commands.c:396 -#: ../commands.c:496 ../shortcuts.c:440 ../shortcuts.c:891 +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 msgid "No document opened." msgstr "Nie otwarto żadnego pliku" -#: ../commands.c:39 ../commands.c:74 ../commands.c:101 ../commands.c:401 +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 msgid "Invalid number of arguments given." msgstr "Nieprawidłowa liczba parametrów polecenia" -#: ../commands.c:47 +#: ../commands.c:49 #, c-format msgid "Bookmark successfuly updated: %s" msgstr "Zaktualizowano zakładkę: %s" -#: ../commands.c:53 +#: ../commands.c:55 #, c-format msgid "Could not create bookmark: %s" msgstr "Nie można stworzyć zakładki: %s" -#: ../commands.c:57 +#: ../commands.c:59 #, c-format msgid "Bookmark successfuly created: %s" msgstr "Utworzono zakładkę: %s" -#: ../commands.c:80 +#: ../commands.c:82 #, c-format msgid "Removed bookmark: %s" msgstr "Usunięto zakładkę: %s" -#: ../commands.c:82 +#: ../commands.c:84 #, c-format msgid "Failed to remove bookmark: %s" msgstr "Nie można usunąć zakładki: %s" -#: ../commands.c:108 +#: ../commands.c:110 #, c-format msgid "No such bookmark: %s" msgstr "Nie znaleziono zakładki: %s" -#: ../commands.c:159 ../commands.c:181 +#: ../commands.c:161 ../commands.c:183 msgid "No information available." msgstr "Brak informacji o pliku" -#: ../commands.c:219 +#: ../commands.c:221 msgid "Too many arguments." msgstr "Za dużo parametrów polecenia" -#: ../commands.c:228 +#: ../commands.c:230 msgid "No arguments given." msgstr "Nie podano parametrów polecenia" -#: ../commands.c:287 ../commands.c:313 +#: ../commands.c:289 ../commands.c:315 msgid "Document saved." msgstr "Zapisano dokument" -#: ../commands.c:289 ../commands.c:315 +#: ../commands.c:291 ../commands.c:317 msgid "Failed to save document." msgstr "Błąd zapisu" -#: ../commands.c:292 ../commands.c:318 +#: ../commands.c:294 ../commands.c:320 msgid "Invalid number of arguments." msgstr "Niewłaściwa liczba parametrów polecenia" -#: ../commands.c:420 +#: ../commands.c:424 #, c-format msgid "Couldn't write attachment '%s' to '%s'." msgstr "Nie można dodać załącznika %s do pliku %s" -#: ../commands.c:422 +#: ../commands.c:426 #, c-format msgid "Wrote attachment '%s' to '%s'." msgstr "Zapisano załącznik %s do pliku %s" -#: ../commands.c:466 +#: ../commands.c:470 #, c-format msgid "Wrote image '%s' to '%s'." -msgstr "Zapisano załącznik %s do pliku %s" +msgstr "Zapisano obrazek %s do pliku %s" -#: ../commands.c:468 +#: ../commands.c:472 #, c-format msgid "Couldn't write image '%s' to '%s'." -msgstr "Nie można dodać załącznika %s do pliku %s" - -#: ../commands.c:475 -#, c-format -msgid "Unknown image '%s'." -msgstr "" +msgstr "Nie można dodać obrazka %s do pliku %s" #: ../commands.c:479 #, c-format -msgid "Unknown attachment or image '%s'." -msgstr "" +msgid "Unknown image '%s'." +msgstr "Nieznany obrazek '%s'." -#: ../commands.c:509 +#: ../commands.c:483 +#, c-format +msgid "Unknown attachment or image '%s'." +msgstr "Nieznany załącznik lub obrazek '%s'." + +#: ../commands.c:534 msgid "Argument must be a number." msgstr "Parametr polecenia musi być liczbą" #: ../completion.c:250 #, c-format msgid "Page %d" -msgstr "" +msgstr "Strona %d" #: ../completion.c:293 msgid "Attachments" @@ -139,223 +139,271 @@ msgstr "Zapisz załączniki" #. add images #: ../completion.c:324 msgid "Images" -msgstr "" +msgstr "Obrazki" #. zathura settings -#: ../config.c:98 +#: ../config.c:105 msgid "Database backend" msgstr "Baza danych" -#: ../config.c:100 +#: ../config.c:107 msgid "Zoom step" msgstr "Skok powiększenia" -#: ../config.c:102 +#: ../config.c:109 msgid "Padding between pages" msgstr "Odstęp pomiędzy stronami" -#: ../config.c:104 +#: ../config.c:111 msgid "Number of pages per row" msgstr "Liczba stron w wierszu" -#: ../config.c:106 +#: ../config.c:113 +msgid "Column of the first page" +msgstr "" + +#: ../config.c:115 msgid "Scroll step" msgstr "Skok przewijania" -#: ../config.c:108 +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "" + +#: ../config.c:119 msgid "Zoom minimum" msgstr "Minimalne powiększenie" -#: ../config.c:110 +#: ../config.c:121 msgid "Zoom maximum" msgstr "Maksymalne powiększenie" -#: ../config.c:112 +#: ../config.c:123 msgid "Life time (in seconds) of a hidden page" msgstr "Czas życia niewidocznej strony (w sekundach)" -#: ../config.c:113 +#: ../config.c:124 msgid "Amount of seconds between each cache purge" msgstr "Okres sprawdzania widoczności stron (w sekundach)" -#: ../config.c:115 +#: ../config.c:126 msgid "Recoloring (dark color)" msgstr "Ciemny kolor negatywu" -#: ../config.c:117 +#: ../config.c:128 msgid "Recoloring (light color)" msgstr "Jasny kolor negatywu" -#: ../config.c:119 +#: ../config.c:130 msgid "Color for highlighting" msgstr "Kolor wyróżnienia" -#: ../config.c:121 +#: ../config.c:132 msgid "Color for highlighting (active)" msgstr "Kolor wyróżnienia bieżącego elementu" -#: ../config.c:125 +#: ../config.c:136 msgid "Recolor pages" msgstr "Negatyw" -#: ../config.c:127 +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 msgid "Wrap scrolling" msgstr "Zawijanie dokumentu" -#: ../config.c:129 +#: ../config.c:142 msgid "Advance number of pages per row" +msgstr "Liczba stron w wierszu" + +#: ../config.c:144 +msgid "Horizontally centered zoom" msgstr "" -#: ../config.c:131 +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 msgid "Transparency for highlighting" msgstr "Przezroczystość wyróżnienia" -#: ../config.c:133 +#: ../config.c:150 msgid "Render 'Loading ...'" msgstr "Wyświetlaj: „Wczytywanie pliku...”" -#: ../config.c:134 +#: ../config.c:151 msgid "Adjust to when opening file" msgstr "Dopasowanie widoku pliku" -#: ../config.c:136 +#: ../config.c:153 msgid "Show hidden files and directories" msgstr "Wyświetl ukryte pliki i katalogi" -#: ../config.c:138 +#: ../config.c:155 msgid "Show directories" msgstr "Wyświetl katalogi" -#: ../config.c:140 +#: ../config.c:157 msgid "Always open on first page" msgstr "Zawsze otwieraj na pierwszej stronie" -#: ../config.c:142 +#: ../config.c:159 msgid "Highlight search results" +msgstr "Podświetl wyniki wyszukiwania" + +#: ../config.c:161 +msgid "Clear search results on abort" +msgstr "Wyczyść wyniki wyszukiwania po przerwaniu" + +#: ../config.c:163 +msgid "Use basename of the file in the window title" msgstr "" -#: ../config.c:144 -msgid "Clear search results on abort" +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" msgstr "" #. define default inputbar commands -#: ../config.c:266 +#: ../config.c:293 msgid "Add a bookmark" msgstr "Dodaj zakładkę" -#: ../config.c:267 +#: ../config.c:294 msgid "Delete a bookmark" msgstr "Usuń zakładkę" -#: ../config.c:268 +#: ../config.c:295 msgid "List all bookmarks" msgstr "Wyświetl zakładki" -#: ../config.c:269 +#: ../config.c:296 msgid "Close current file" msgstr "Zamknij plik" -#: ../config.c:270 +#: ../config.c:297 msgid "Show file information" msgstr "Wyświetl informacje o pliku" -#: ../config.c:271 +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 msgid "Show help" msgstr "Wyświetl pomoc" -#: ../config.c:272 +#: ../config.c:300 msgid "Open document" msgstr "Otwórz plik" -#: ../config.c:273 +#: ../config.c:301 msgid "Close zathura" msgstr "Zakończ" -#: ../config.c:274 +#: ../config.c:302 msgid "Print document" msgstr "Wydrukuj" -#: ../config.c:275 +#: ../config.c:303 msgid "Save document" msgstr "Zapisz" -#: ../config.c:276 +#: ../config.c:304 msgid "Save document (and force overwriting)" msgstr "Zapisz (nadpisując istniejący plik)" -#: ../config.c:277 +#: ../config.c:305 msgid "Save attachments" msgstr "Zapisz załączniki" -#: ../config.c:278 +#: ../config.c:306 msgid "Set page offset" msgstr "Ustaw przesunięcie numerów stron" -#: ../config.c:279 +#: ../config.c:307 msgid "Mark current location within the document" -msgstr "" +msgstr "Zaznacz aktualną pozycję w dokumencie" -#: ../config.c:280 +#: ../config.c:308 msgid "Delete the specified marks" -msgstr "" +msgstr "Skasuj określone zakładki" -#: ../config.c:281 +#: ../config.c:309 msgid "Don't highlight current search results" -msgstr "" +msgstr "Nie podświetlaj aktualnych wyników wyszukiwania " -#: ../config.c:282 +#: ../config.c:310 msgid "Highlight current search results" +msgstr "Podświetl aktualne wyniki wyszukiwania" + +#: ../config.c:311 +msgid "Show version information" +msgstr "Wyświetl informacje o wersji" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Wystąpił problem z uruchomieniem xdg-open" + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "Przypisz proces do rodzica o danym xid" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Ścieżka do katalogu konfiguracyjnego" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Ścieżka do katalogu danych" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Ścieżka do katalogu wtyczek" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Forkuj w tle" + +#: ../main.c:57 +msgid "Document password" +msgstr "Hasło dokumentu" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Szczegółowość komunikatów (debug, info, warning, error)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Wyświetl informacje o wersji" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" msgstr "" -#: ../page-widget.c:611 +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "Wczytywanie pliku..." + +#: ../page-widget.c:643 #, c-format msgid "Copied selected text to clipboard: %s" msgstr "Zaznaczony tekst skopiowano do schowka: %s" -#: ../page-widget.c:708 +#: ../page-widget.c:741 msgid "Copy image" msgstr "Skopiuj obrazek" -#: ../page-widget.c:709 +#: ../page-widget.c:742 msgid "Save image as" -msgstr "" +msgstr "Zapisz obrazek jako" -#: ../shortcuts.c:797 +#: ../shortcuts.c:825 msgid "This document does not contain any index" msgstr "Dokument nie zawiera indeksu" -#: ../utils.c:346 -msgid "Failed to run xdg-open." -msgstr "Wystąpił problem z uruchomieniem xdg-open" - -#: ../zathura.c:73 -msgid "Reparents to window specified by xid" -msgstr "Przypisz proces do rodzica o danym xid" - -#: ../zathura.c:74 -msgid "Path to the config directory" -msgstr "Ścieżka do katalogu konfiguracyjnego" - -#: ../zathura.c:75 -msgid "Path to the data directory" -msgstr "Ścieżka do katalogu danych" - -#: ../zathura.c:76 -msgid "Path to the directories containing plugins" -msgstr "Ścieżka do katalogu wtyczek" - -#: ../zathura.c:77 -msgid "Fork into the background" -msgstr "Forkuj w tle" - -#: ../zathura.c:78 -msgid "Document password" -msgstr "" - -#: ../zathura.c:79 -msgid "Log level (debug, info, warning, error)" -msgstr "Szczegółowość komunikatów (debug, info, warning, error)" - -#: ../zathura.c:251 ../zathura.c:799 +#: ../zathura.c:189 ../zathura.c:843 msgid "[No name]" msgstr "[bez nazwy]" diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..3183a67 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,409 @@ +# zathura - language file (Russian) +# See LICENSE file for license and copyright information +# +# Translators: +# Mikhail Krutov <>, 2012. +msgid "" +msgstr "" +"Project-Id-Version: zathura\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" +"PO-Revision-Date: 2012-06-20 14:58+0000\n" +"Last-Translator: Sebastian Ramacher \n" +"Language-Team: Russian (http://www.transifex.com/projects/p/zathura/language/" +"ru/)\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" + +#: ../callbacks.c:204 +#, c-format +msgid "Invalid input '%s' given." +msgstr "Неправильный ввод: %s" + +#: ../callbacks.c:232 +#, c-format +msgid "Invalid index '%s' given." +msgstr "Получен неверный индекс %s" + +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 +msgid "No document opened." +msgstr "Документ не открыт" + +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 +msgid "Invalid number of arguments given." +msgstr "Неверное число аргументов" + +#: ../commands.c:49 +#, c-format +msgid "Bookmark successfuly updated: %s" +msgstr "Закладка %s успешно обновлена" + +#: ../commands.c:55 +#, c-format +msgid "Could not create bookmark: %s" +msgstr "Не могу создать закладку %s" + +#: ../commands.c:59 +#, c-format +msgid "Bookmark successfuly created: %s" +msgstr "Закладка %s успешно создана" + +#: ../commands.c:82 +#, c-format +msgid "Removed bookmark: %s" +msgstr "Закладка %s удалена" + +#: ../commands.c:84 +#, c-format +msgid "Failed to remove bookmark: %s" +msgstr "Не удалось удалить закладку %s" + +#: ../commands.c:110 +#, c-format +msgid "No such bookmark: %s" +msgstr "Закладки %s не существует" + +#: ../commands.c:161 ../commands.c:183 +msgid "No information available." +msgstr "Нет доступной информации" + +#: ../commands.c:221 +msgid "Too many arguments." +msgstr "Слишком много аргументов" + +#: ../commands.c:230 +msgid "No arguments given." +msgstr "Отсутствуют аргументы" + +#: ../commands.c:289 ../commands.c:315 +msgid "Document saved." +msgstr "Документ сохранён" + +#: ../commands.c:291 ../commands.c:317 +msgid "Failed to save document." +msgstr "Не удалось сохранить документ" + +#: ../commands.c:294 ../commands.c:320 +msgid "Invalid number of arguments." +msgstr "Неверное количество аргументов" + +#: ../commands.c:424 +#, c-format +msgid "Couldn't write attachment '%s' to '%s'." +msgstr "Не могу сохранить приложенный файл %s в %s" + +#: ../commands.c:426 +#, c-format +msgid "Wrote attachment '%s' to '%s'." +msgstr "Файл %s сохранён в %s" + +#: ../commands.c:470 +#, c-format +msgid "Wrote image '%s' to '%s'." +msgstr "" + +#: ../commands.c:472 +#, c-format +msgid "Couldn't write image '%s' to '%s'." +msgstr "" + +#: ../commands.c:479 +#, c-format +msgid "Unknown image '%s'." +msgstr "" + +#: ../commands.c:483 +#, c-format +msgid "Unknown attachment or image '%s'." +msgstr "" + +#: ../commands.c:534 +msgid "Argument must be a number." +msgstr "Аргумент должен быть числом" + +#: ../completion.c:250 +#, c-format +msgid "Page %d" +msgstr "" + +#: ../completion.c:293 +msgid "Attachments" +msgstr "" + +#. add images +#: ../completion.c:324 +msgid "Images" +msgstr "" + +#. zathura settings +#: ../config.c:105 +msgid "Database backend" +msgstr "Бэкэнд базы данных" + +#: ../config.c:107 +msgid "Zoom step" +msgstr "Шаг увеличения" + +#: ../config.c:109 +msgid "Padding between pages" +msgstr "Разрыв между страницами" + +#: ../config.c:111 +msgid "Number of pages per row" +msgstr "Количество страниц в ряд" + +#: ../config.c:113 +msgid "Column of the first page" +msgstr "" + +#: ../config.c:115 +msgid "Scroll step" +msgstr "Шаг прокрутки" + +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "" + +#: ../config.c:119 +msgid "Zoom minimum" +msgstr "Минимальное увеличение" + +#: ../config.c:121 +msgid "Zoom maximum" +msgstr "Максимальное увеличение" + +#: ../config.c:123 +msgid "Life time (in seconds) of a hidden page" +msgstr "Время жизни (секунды) скрытой страницы" + +#: ../config.c:124 +msgid "Amount of seconds between each cache purge" +msgstr "Время (в секундах) между очисткой кэшей" + +#: ../config.c:126 +msgid "Recoloring (dark color)" +msgstr "Перекрашивание (тёмные тона)" + +#: ../config.c:128 +msgid "Recoloring (light color)" +msgstr "Перекрашивание (светлые тона)" + +#: ../config.c:130 +msgid "Color for highlighting" +msgstr "Цвет для подсветки" + +#: ../config.c:132 +msgid "Color for highlighting (active)" +msgstr "Цвет для подсветки (активной)" + +#: ../config.c:136 +msgid "Recolor pages" +msgstr "Перекрасить страницы" + +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 +msgid "Wrap scrolling" +msgstr "Плавная прокрутка" + +#: ../config.c:142 +msgid "Advance number of pages per row" +msgstr "Увеличить количество страниц в ряду" + +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 +msgid "Transparency for highlighting" +msgstr "Прозрачность подсветки" + +#: ../config.c:150 +msgid "Render 'Loading ...'" +msgstr "Рендер 'Загружается ...'" + +#: ../config.c:151 +msgid "Adjust to when opening file" +msgstr "" + +#: ../config.c:153 +msgid "Show hidden files and directories" +msgstr "Показывать скрытые файлы и директории" + +#: ../config.c:155 +msgid "Show directories" +msgstr "Показывать директории" + +#: ../config.c:157 +msgid "Always open on first page" +msgstr "Всегда открывать на первой странице" + +#: ../config.c:159 +msgid "Highlight search results" +msgstr "" + +#: ../config.c:161 +msgid "Clear search results on abort" +msgstr "" + +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + +#. define default inputbar commands +#: ../config.c:293 +msgid "Add a bookmark" +msgstr "Добавить закладку" + +#: ../config.c:294 +msgid "Delete a bookmark" +msgstr "Удалить закладку" + +#: ../config.c:295 +msgid "List all bookmarks" +msgstr "Показать все закладки" + +#: ../config.c:296 +msgid "Close current file" +msgstr "Закрыть текущий файл" + +#: ../config.c:297 +msgid "Show file information" +msgstr "Показать информацию о файле" + +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 +msgid "Show help" +msgstr "Помощь" + +#: ../config.c:300 +msgid "Open document" +msgstr "Открыть документ" + +#: ../config.c:301 +msgid "Close zathura" +msgstr "Выход" + +#: ../config.c:302 +msgid "Print document" +msgstr "Печать" + +#: ../config.c:303 +msgid "Save document" +msgstr "Сохранить документ" + +#: ../config.c:304 +msgid "Save document (and force overwriting)" +msgstr "Сохранить документ (с перезапиьсю)" + +#: ../config.c:305 +msgid "Save attachments" +msgstr "Сохранить прикреплённые файлы" + +#: ../config.c:306 +msgid "Set page offset" +msgstr "Сохранить смещение страницы" + +#: ../config.c:307 +msgid "Mark current location within the document" +msgstr "Пометить текущую позицию в документе" + +#: ../config.c:308 +msgid "Delete the specified marks" +msgstr "Удалить указанные пометки" + +#: ../config.c:309 +msgid "Don't highlight current search results" +msgstr "" + +#: ../config.c:310 +msgid "Highlight current search results" +msgstr "" + +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Не удалось запустить xdg-open" + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "Сменить материнское окно на окно, указанное в xid" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Путь к директории конфига" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Путь к директории с данными" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Путь к директории с плагинами" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Уйти в бэкграунд" + +#: ../main.c:57 +msgid "Document password" +msgstr "" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Уровень логирования (debug,info,warning,error)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Показать информацию о файле" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "" + +#: ../page-widget.c:643 +#, c-format +msgid "Copied selected text to clipboard: %s" +msgstr "Выделенный текст скопирован в буфер: %s" + +#: ../page-widget.c:741 +msgid "Copy image" +msgstr "Скопировать изображение" + +#: ../page-widget.c:742 +msgid "Save image as" +msgstr "" + +#: ../shortcuts.c:825 +msgid "This document does not contain any index" +msgstr "В документе нету индекса" + +#: ../zathura.c:189 ../zathura.c:843 +msgid "[No name]" +msgstr "[No name]" diff --git a/po/ta_IN.po b/po/ta_IN.po index 2c31acd..fa31ead 100644 --- a/po/ta_IN.po +++ b/po/ta_IN.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: zathura\n" -"Report-Msgid-Bugs-To: http://bt.pwmt.org/\n" -"POT-Creation-Date: 2012-05-08 19:21+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" "PO-Revision-Date: 2012-04-03 15:25+0000\n" "Last-Translator: mankand007 \n" "Language-Team: Tamil (India) (http://www.transifex.net/projects/p/zathura/" @@ -18,111 +18,111 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1)\n" -#: ../callbacks.c:175 +#: ../callbacks.c:204 #, c-format msgid "Invalid input '%s' given." msgstr "கொடுக்கப்பட்ட உள்ளீடு(input) '%s' தவறு" -#: ../callbacks.c:203 +#: ../callbacks.c:232 #, c-format msgid "Invalid index '%s' given." msgstr "கொடுக்கப்பட்ட index '%s' தவறு" -#: ../commands.c:33 ../commands.c:68 ../commands.c:95 ../commands.c:137 -#: ../commands.c:251 ../commands.c:281 ../commands.c:307 ../commands.c:396 -#: ../commands.c:496 ../shortcuts.c:440 ../shortcuts.c:891 +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 msgid "No document opened." msgstr "எந்தக் ஆவணமும் திறக்கப்படவில்லை" -#: ../commands.c:39 ../commands.c:74 ../commands.c:101 ../commands.c:401 +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 msgid "Invalid number of arguments given." msgstr "கொடுக்கப்பட்ட arguments-களின் எண்ணிக்கை தவறு" -#: ../commands.c:47 +#: ../commands.c:49 #, c-format msgid "Bookmark successfuly updated: %s" msgstr "Bookmark வெற்றிகரமாக நிகழ்நிலை(update) படுத்தப்பட்டது: %s" -#: ../commands.c:53 +#: ../commands.c:55 #, c-format msgid "Could not create bookmark: %s" msgstr "Bookmark-ஐ உருவாக்க முடியவில்லை: %s" -#: ../commands.c:57 +#: ../commands.c:59 #, c-format msgid "Bookmark successfuly created: %s" msgstr "Bookmark வெற்றிகரமாக உருவாக்கப்பட்டது: %s" -#: ../commands.c:80 +#: ../commands.c:82 #, c-format msgid "Removed bookmark: %s" msgstr "Bookmark அழிக்கப்பட்டது: %s" -#: ../commands.c:82 +#: ../commands.c:84 #, c-format msgid "Failed to remove bookmark: %s" msgstr "Bookmark-ஐ அழிக்க இயலவில்லை: %s" -#: ../commands.c:108 +#: ../commands.c:110 #, c-format msgid "No such bookmark: %s" msgstr "அந்தப் பெயரில் எந்த bookmark-ம் இல்லை: %s" -#: ../commands.c:159 ../commands.c:181 +#: ../commands.c:161 ../commands.c:183 msgid "No information available." msgstr "எந்தத் தகவலும் இல்லை" -#: ../commands.c:219 +#: ../commands.c:221 msgid "Too many arguments." msgstr "Argumentகளின் எண்ணிக்கை மிகவும் அதிகம்" -#: ../commands.c:228 +#: ../commands.c:230 msgid "No arguments given." msgstr "எந்த argument-ம் தரப்படவில்லை" -#: ../commands.c:287 ../commands.c:313 +#: ../commands.c:289 ../commands.c:315 msgid "Document saved." msgstr "கோப்பு சேமிக்கப்பட்டது" -#: ../commands.c:289 ../commands.c:315 +#: ../commands.c:291 ../commands.c:317 msgid "Failed to save document." msgstr "ஆவணத்தை சேமிக்க இயலவில்லை" -#: ../commands.c:292 ../commands.c:318 +#: ../commands.c:294 ../commands.c:320 msgid "Invalid number of arguments." msgstr "கொடுக்கப்பட்ட argument-களின் எண்ணிக்கை தவறு" -#: ../commands.c:420 +#: ../commands.c:424 #, c-format msgid "Couldn't write attachment '%s' to '%s'." msgstr "" -#: ../commands.c:422 +#: ../commands.c:426 #, c-format msgid "Wrote attachment '%s' to '%s'." msgstr "" -#: ../commands.c:466 +#: ../commands.c:470 #, c-format msgid "Wrote image '%s' to '%s'." msgstr "" -#: ../commands.c:468 +#: ../commands.c:472 #, c-format msgid "Couldn't write image '%s' to '%s'." msgstr "" -#: ../commands.c:475 +#: ../commands.c:479 #, c-format msgid "Unknown image '%s'." msgstr "" -#: ../commands.c:479 +#: ../commands.c:483 #, c-format msgid "Unknown attachment or image '%s'." msgstr "" -#: ../commands.c:509 +#: ../commands.c:534 msgid "Argument must be a number." msgstr "Argument ஒரு எண்ணாக இருக்க வேண்டும்" @@ -141,220 +141,268 @@ msgid "Images" msgstr "" #. zathura settings -#: ../config.c:98 +#: ../config.c:105 msgid "Database backend" msgstr "" -#: ../config.c:100 +#: ../config.c:107 msgid "Zoom step" msgstr "Zoom அமைப்பு" -#: ../config.c:102 +#: ../config.c:109 msgid "Padding between pages" msgstr "இரு பக்கங்களுக்கிடையில் உள்ள நிரப்பல்(padding)" -#: ../config.c:104 +#: ../config.c:111 msgid "Number of pages per row" msgstr "ஒரு வரிசையில் எத்தனை பக்கங்களைக் காட்ட வேண்டும்" -#: ../config.c:106 -msgid "Scroll step" -msgstr "திரை உருளல்(scroll) அளவு" - -#: ../config.c:108 -msgid "Zoom minimum" -msgstr "முடிந்தவரை சிறியதாகக் காட்டு" - -#: ../config.c:110 -msgid "Zoom maximum" -msgstr "முடிந்தவரை பெரிதாகக் காட்டு" - -#: ../config.c:112 -msgid "Life time (in seconds) of a hidden page" -msgstr "" - #: ../config.c:113 -msgid "Amount of seconds between each cache purge" +msgid "Column of the first page" msgstr "" #: ../config.c:115 -msgid "Recoloring (dark color)" -msgstr "" +msgid "Scroll step" +msgstr "திரை உருளல்(scroll) அளவு" #: ../config.c:117 -msgid "Recoloring (light color)" +msgid "Horizontal scroll step" msgstr "" #: ../config.c:119 +msgid "Zoom minimum" +msgstr "முடிந்தவரை சிறியதாகக் காட்டு" + +#: ../config.c:121 +msgid "Zoom maximum" +msgstr "முடிந்தவரை பெரிதாகக் காட்டு" + +#: ../config.c:123 +msgid "Life time (in seconds) of a hidden page" +msgstr "" + +#: ../config.c:124 +msgid "Amount of seconds between each cache purge" +msgstr "" + +#: ../config.c:126 +msgid "Recoloring (dark color)" +msgstr "" + +#: ../config.c:128 +msgid "Recoloring (light color)" +msgstr "" + +#: ../config.c:130 msgid "Color for highlighting" msgstr "" -#: ../config.c:121 +#: ../config.c:132 msgid "Color for highlighting (active)" msgstr "" -#: ../config.c:125 +#: ../config.c:136 msgid "Recolor pages" msgstr "" -#: ../config.c:127 -msgid "Wrap scrolling" -msgstr "" - -#: ../config.c:129 -msgid "Advance number of pages per row" -msgstr "" - -#: ../config.c:131 -msgid "Transparency for highlighting" -msgstr "" - -#: ../config.c:133 -msgid "Render 'Loading ...'" -msgstr "" - -#: ../config.c:134 -msgid "Adjust to when opening file" -msgstr "" - -#: ../config.c:136 -msgid "Show hidden files and directories" -msgstr "" - #: ../config.c:138 -msgid "Show directories" +msgid "When recoloring keep original hue and adjust lightness only" msgstr "" #: ../config.c:140 -msgid "Always open on first page" +msgid "Wrap scrolling" msgstr "" #: ../config.c:142 -msgid "Highlight search results" +msgid "Advance number of pages per row" msgstr "" #: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 +msgid "Transparency for highlighting" +msgstr "" + +#: ../config.c:150 +msgid "Render 'Loading ...'" +msgstr "" + +#: ../config.c:151 +msgid "Adjust to when opening file" +msgstr "" + +#: ../config.c:153 +msgid "Show hidden files and directories" +msgstr "" + +#: ../config.c:155 +msgid "Show directories" +msgstr "" + +#: ../config.c:157 +msgid "Always open on first page" +msgstr "" + +#: ../config.c:159 +msgid "Highlight search results" +msgstr "" + +#: ../config.c:161 msgid "Clear search results on abort" msgstr "" +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + #. define default inputbar commands -#: ../config.c:266 +#: ../config.c:293 msgid "Add a bookmark" msgstr "புதிய bookmark உருவாக்கு" -#: ../config.c:267 +#: ../config.c:294 msgid "Delete a bookmark" msgstr "Bookmark-ஐ அழித்துவிடு" -#: ../config.c:268 +#: ../config.c:295 msgid "List all bookmarks" msgstr "அனைத்து bookmark-களையும் பட்டியலிடு" -#: ../config.c:269 +#: ../config.c:296 msgid "Close current file" msgstr "" -#: ../config.c:270 +#: ../config.c:297 msgid "Show file information" msgstr "ஆவணம் பற்றிய தகவல்களைக் காட்டு" -#: ../config.c:271 +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 msgid "Show help" msgstr "உதவியைக் காட்டு" -#: ../config.c:272 +#: ../config.c:300 msgid "Open document" msgstr "ஒரு ஆவணத்தைத் திற" -#: ../config.c:273 +#: ../config.c:301 msgid "Close zathura" msgstr "zathura-வை விட்டு வெளியேறு" -#: ../config.c:274 +#: ../config.c:302 msgid "Print document" msgstr "ஆவணத்தை அச்சிடு" -#: ../config.c:275 +#: ../config.c:303 msgid "Save document" msgstr "ஆவணத்தை சேமிக்கவும்" -#: ../config.c:276 +#: ../config.c:304 msgid "Save document (and force overwriting)" msgstr "" -#: ../config.c:277 +#: ../config.c:305 msgid "Save attachments" msgstr "இணைப்புகளைச் சேமிக்கவும்" -#: ../config.c:278 +#: ../config.c:306 msgid "Set page offset" msgstr "" -#: ../config.c:279 +#: ../config.c:307 msgid "Mark current location within the document" msgstr "" -#: ../config.c:280 +#: ../config.c:308 msgid "Delete the specified marks" msgstr "" -#: ../config.c:281 +#: ../config.c:309 msgid "Don't highlight current search results" msgstr "" -#: ../config.c:282 +#: ../config.c:310 msgid "Highlight current search results" msgstr "" -#: ../page-widget.c:611 +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "xdg-open-ஐ இயக்க முடியவில்லை" + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "" + +#: ../main.c:57 +msgid "Document password" +msgstr "" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "" + +#: ../main.c:59 +msgid "Print version information" +msgstr "ஆவணம் பற்றிய தகவல்களைக் காட்டு" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "" + +#: ../page-widget.c:643 #, c-format msgid "Copied selected text to clipboard: %s" msgstr "" -#: ../page-widget.c:708 +#: ../page-widget.c:741 msgid "Copy image" msgstr "படத்தை ஒரு பிரதியெடு" -#: ../page-widget.c:709 +#: ../page-widget.c:742 msgid "Save image as" msgstr "" -#: ../shortcuts.c:797 +#: ../shortcuts.c:825 msgid "This document does not contain any index" msgstr "இந்த ஆவணத்தில் எந்த index-ம் இல்லை" -#: ../utils.c:346 -msgid "Failed to run xdg-open." -msgstr "xdg-open-ஐ இயக்க முடியவில்லை" - -#: ../zathura.c:73 -msgid "Reparents to window specified by xid" -msgstr "" - -#: ../zathura.c:74 -msgid "Path to the config directory" -msgstr "" - -#: ../zathura.c:75 -msgid "Path to the data directory" -msgstr "" - -#: ../zathura.c:76 -msgid "Path to the directories containing plugins" -msgstr "" - -#: ../zathura.c:77 -msgid "Fork into the background" -msgstr "" - -#: ../zathura.c:78 -msgid "Document password" -msgstr "" - -#: ../zathura.c:79 -msgid "Log level (debug, info, warning, error)" -msgstr "" - -#: ../zathura.c:251 ../zathura.c:799 +#: ../zathura.c:189 ../zathura.c:843 msgid "[No name]" msgstr "பெயரற்ற ஆவணம்" diff --git a/po/tr.po b/po/tr.po index d5f33f3..092445a 100644 --- a/po/tr.po +++ b/po/tr.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: zathura\n" -"Report-Msgid-Bugs-To: http://bt.pwmt.org/\n" -"POT-Creation-Date: 2012-05-08 19:21+0200\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" "PO-Revision-Date: 2012-05-01 20:38+0000\n" "Last-Translator: hsngrms \n" "Language-Team: Turkish (http://www.transifex.net/projects/p/zathura/language/" @@ -19,111 +19,111 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0\n" -#: ../callbacks.c:175 +#: ../callbacks.c:204 #, c-format msgid "Invalid input '%s' given." msgstr "Hatalı girdi '%s'" -#: ../callbacks.c:203 +#: ../callbacks.c:232 #, c-format msgid "Invalid index '%s' given." msgstr "Hatalı dizin '%s'" -#: ../commands.c:33 ../commands.c:68 ../commands.c:95 ../commands.c:137 -#: ../commands.c:251 ../commands.c:281 ../commands.c:307 ../commands.c:396 -#: ../commands.c:496 ../shortcuts.c:440 ../shortcuts.c:891 +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 msgid "No document opened." msgstr "Açık belge yok." -#: ../commands.c:39 ../commands.c:74 ../commands.c:101 ../commands.c:401 +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 msgid "Invalid number of arguments given." msgstr "Yanlış sayıda argüman" -#: ../commands.c:47 +#: ../commands.c:49 #, c-format msgid "Bookmark successfuly updated: %s" msgstr "Yer imi başarıyla güncellendi: %s" -#: ../commands.c:53 +#: ../commands.c:55 #, c-format msgid "Could not create bookmark: %s" msgstr "Yer imi yaratılamadı: %s" -#: ../commands.c:57 +#: ../commands.c:59 #, c-format msgid "Bookmark successfuly created: %s" msgstr "Yer imi yaratıldı: %s" -#: ../commands.c:80 +#: ../commands.c:82 #, c-format msgid "Removed bookmark: %s" msgstr "Yer imi silindi: %s" -#: ../commands.c:82 +#: ../commands.c:84 #, c-format msgid "Failed to remove bookmark: %s" msgstr "Yer imi silinemedi: %s" -#: ../commands.c:108 +#: ../commands.c:110 #, c-format msgid "No such bookmark: %s" msgstr "Böyle bir yer imi yok: %s" -#: ../commands.c:159 ../commands.c:181 +#: ../commands.c:161 ../commands.c:183 msgid "No information available." msgstr "Bilgi mevcut değil." -#: ../commands.c:219 +#: ../commands.c:221 msgid "Too many arguments." msgstr "Çok fazla sayıda argüman." -#: ../commands.c:228 +#: ../commands.c:230 msgid "No arguments given." msgstr "Argüman verilmedi." -#: ../commands.c:287 ../commands.c:313 +#: ../commands.c:289 ../commands.c:315 msgid "Document saved." msgstr "Belge kaydedildi." -#: ../commands.c:289 ../commands.c:315 +#: ../commands.c:291 ../commands.c:317 msgid "Failed to save document." msgstr "Belge kaydedilemedi." -#: ../commands.c:292 ../commands.c:318 +#: ../commands.c:294 ../commands.c:320 msgid "Invalid number of arguments." msgstr "Yanlış sayıda argüman." -#: ../commands.c:420 +#: ../commands.c:424 #, c-format msgid "Couldn't write attachment '%s' to '%s'." msgstr "'%s' eki '%s' konumuna yazılamadı." -#: ../commands.c:422 +#: ../commands.c:426 #, c-format msgid "Wrote attachment '%s' to '%s'." msgstr "'%s' eki '%s' konumuna yazıldı." -#: ../commands.c:466 +#: ../commands.c:470 #, c-format msgid "Wrote image '%s' to '%s'." msgstr "'%s' eki '%s' konumuna yazıldı." -#: ../commands.c:468 +#: ../commands.c:472 #, c-format msgid "Couldn't write image '%s' to '%s'." msgstr "'%s' eki '%s' konumuna yazılamadı." -#: ../commands.c:475 +#: ../commands.c:479 #, c-format msgid "Unknown image '%s'." msgstr "" -#: ../commands.c:479 +#: ../commands.c:483 #, c-format msgid "Unknown attachment or image '%s'." msgstr "" -#: ../commands.c:509 +#: ../commands.c:534 msgid "Argument must be a number." msgstr "Argüman bir sayı olmalı." @@ -142,220 +142,268 @@ msgid "Images" msgstr "" #. zathura settings -#: ../config.c:98 +#: ../config.c:105 msgid "Database backend" msgstr "Veritabanı arkayüzü" -#: ../config.c:100 +#: ../config.c:107 msgid "Zoom step" msgstr "Yakınlaşma/uzaklaşma aralığı" -#: ../config.c:102 +#: ../config.c:109 msgid "Padding between pages" msgstr "Sayfalar arasındaki boşluk" -#: ../config.c:104 +#: ../config.c:111 msgid "Number of pages per row" msgstr "Satır başına sayfa sayısı" -#: ../config.c:106 +#: ../config.c:113 +msgid "Column of the first page" +msgstr "" + +#: ../config.c:115 msgid "Scroll step" msgstr "Kaydırma aralığı" -#: ../config.c:108 +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "" + +#: ../config.c:119 msgid "Zoom minimum" msgstr "En fazla uzaklaşma" -#: ../config.c:110 +#: ../config.c:121 msgid "Zoom maximum" msgstr "En fazla yakınlaşma" -#: ../config.c:112 +#: ../config.c:123 msgid "Life time (in seconds) of a hidden page" msgstr "Gizli pencerenin açık kalma süresi (saniye)" -#: ../config.c:113 +#: ../config.c:124 msgid "Amount of seconds between each cache purge" msgstr "Önbellek temizliği yapılma sıklığı, saniye cinsinden" -#: ../config.c:115 +#: ../config.c:126 msgid "Recoloring (dark color)" msgstr "Renk değişimi (koyu renk)" -#: ../config.c:117 +#: ../config.c:128 msgid "Recoloring (light color)" msgstr "Renk değişimi (açık renk)" -#: ../config.c:119 +#: ../config.c:130 msgid "Color for highlighting" msgstr "İşaretleme rengi" -#: ../config.c:121 +#: ../config.c:132 msgid "Color for highlighting (active)" msgstr "İşaretleme rengi (etkin)" -#: ../config.c:125 +#: ../config.c:136 msgid "Recolor pages" msgstr "Sayga rengini değiştir" -#: ../config.c:127 +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 msgid "Wrap scrolling" msgstr "Kaydırmayı sarmala" -#: ../config.c:129 +#: ../config.c:142 msgid "Advance number of pages per row" msgstr "Satır başına sayfa sayısı" -#: ../config.c:131 +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 msgid "Transparency for highlighting" msgstr "Ön plana çıkarmak için saydamlaştır" -#: ../config.c:133 +#: ../config.c:150 msgid "Render 'Loading ...'" msgstr "'Yüklüyor ...' yazısını göster" -#: ../config.c:134 +#: ../config.c:151 msgid "Adjust to when opening file" msgstr "Dosya açarken ayarla" -#: ../config.c:136 +#: ../config.c:153 msgid "Show hidden files and directories" msgstr "Gizli dosyaları ve dizinleri göster" -#: ../config.c:138 +#: ../config.c:155 msgid "Show directories" msgstr "Dizinleri göster" -#: ../config.c:140 +#: ../config.c:157 msgid "Always open on first page" msgstr "Her zaman ilk sayfayı aç" -#: ../config.c:142 +#: ../config.c:159 msgid "Highlight search results" msgstr "" -#: ../config.c:144 +#: ../config.c:161 msgid "Clear search results on abort" msgstr "" +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + #. define default inputbar commands -#: ../config.c:266 +#: ../config.c:293 msgid "Add a bookmark" msgstr "Yer imi ekle" -#: ../config.c:267 +#: ../config.c:294 msgid "Delete a bookmark" msgstr "Yer imi sil" -#: ../config.c:268 +#: ../config.c:295 msgid "List all bookmarks" msgstr "Yer imlerini listele" -#: ../config.c:269 +#: ../config.c:296 msgid "Close current file" msgstr "Geçerli dosyayı kapat" -#: ../config.c:270 +#: ../config.c:297 msgid "Show file information" msgstr "Dosya bilgisi göster" -#: ../config.c:271 +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 msgid "Show help" msgstr "Yardım bilgisi göster" -#: ../config.c:272 +#: ../config.c:300 msgid "Open document" msgstr "Belge aç" -#: ../config.c:273 +#: ../config.c:301 msgid "Close zathura" msgstr "Zathura'yı kapat" -#: ../config.c:274 +#: ../config.c:302 msgid "Print document" msgstr "Belge yazdır" -#: ../config.c:275 +#: ../config.c:303 msgid "Save document" msgstr "Belgeyi kaydet" -#: ../config.c:276 +#: ../config.c:304 msgid "Save document (and force overwriting)" msgstr "Belgeyi kaydet (ve sormadan üzerine yaz)" -#: ../config.c:277 +#: ../config.c:305 msgid "Save attachments" msgstr "Ekleri kaydet" -#: ../config.c:278 +#: ../config.c:306 msgid "Set page offset" msgstr "Sayfa derinliğini ayarla" -#: ../config.c:279 +#: ../config.c:307 msgid "Mark current location within the document" msgstr "Bu belgede bu konumu işaretle" -#: ../config.c:280 +#: ../config.c:308 msgid "Delete the specified marks" msgstr "Seçilen işaretlemeleri sil" -#: ../config.c:281 +#: ../config.c:309 msgid "Don't highlight current search results" msgstr "" -#: ../config.c:282 +#: ../config.c:310 msgid "Highlight current search results" msgstr "" -#: ../page-widget.c:611 +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "xdg-open çalıştırılamadı" + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "Xid tarafından belirlendiği gibi bir üst seviye pencereye bağlı" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Ayar dizini adresi" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Veri dizini adresi" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Eklentileri içeren dizinin adresi" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Arka planda işlemden çocuk oluştur" + +#: ../main.c:57 +msgid "Document password" +msgstr "" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Kayıt seviyesi (hata ayıklama, bilgi, uyarı, hata)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Dosya bilgisi göster" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "Yüklüyor ..." + +#: ../page-widget.c:643 #, c-format msgid "Copied selected text to clipboard: %s" msgstr "Seçili metin panoya kopyalandı: %s" -#: ../page-widget.c:708 +#: ../page-widget.c:741 msgid "Copy image" msgstr "Resim kopyala" -#: ../page-widget.c:709 +#: ../page-widget.c:742 msgid "Save image as" msgstr "" -#: ../shortcuts.c:797 +#: ../shortcuts.c:825 msgid "This document does not contain any index" msgstr "Bu belge fihrist içermiyor" -#: ../utils.c:346 -msgid "Failed to run xdg-open." -msgstr "xdg-open çalıştırılamadı" - -#: ../zathura.c:73 -msgid "Reparents to window specified by xid" -msgstr "Xid tarafından belirlendiği gibi bir üst seviye pencereye bağlı" - -#: ../zathura.c:74 -msgid "Path to the config directory" -msgstr "Ayar dizini adresi" - -#: ../zathura.c:75 -msgid "Path to the data directory" -msgstr "Veri dizini adresi" - -#: ../zathura.c:76 -msgid "Path to the directories containing plugins" -msgstr "Eklentileri içeren dizinin adresi" - -#: ../zathura.c:77 -msgid "Fork into the background" -msgstr "Arka planda işlemden çocuk oluştur" - -#: ../zathura.c:78 -msgid "Document password" -msgstr "" - -#: ../zathura.c:79 -msgid "Log level (debug, info, warning, error)" -msgstr "Kayıt seviyesi (hata ayıklama, bilgi, uyarı, hata)" - -#: ../zathura.c:251 ../zathura.c:799 +#: ../zathura.c:189 ../zathura.c:843 msgid "[No name]" msgstr "[İsimsiz]" diff --git a/po/uk_UA.po b/po/uk_UA.po new file mode 100644 index 0000000..7fbbbaa --- /dev/null +++ b/po/uk_UA.po @@ -0,0 +1,409 @@ +# zathura - language file (Ukrainian (Ukrain)) +# See LICENSE file for license and copyright information +# +# Translators: +# , 2012. +msgid "" +msgstr "" +"Project-Id-Version: zathura\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2012-08-30 19:46+0200\n" +"PO-Revision-Date: 2012-06-20 14:58+0000\n" +"Last-Translator: Sebastian Ramacher \n" +"Language-Team: Ukrainian (Ukraine) (http://www.transifex.com/projects/p/" +"zathura/language/uk_UA/)\n" +"Language: uk_UA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" + +#: ../callbacks.c:204 +#, c-format +msgid "Invalid input '%s' given." +msgstr "Вказано невірний аргумент: %s." + +#: ../callbacks.c:232 +#, c-format +msgid "Invalid index '%s' given." +msgstr "Вказано невірний індекс: %s" + +#: ../commands.c:35 ../commands.c:70 ../commands.c:97 ../commands.c:139 +#: ../commands.c:253 ../commands.c:283 ../commands.c:309 ../commands.c:400 +#: ../commands.c:521 ../shortcuts.c:454 ../shortcuts.c:919 +msgid "No document opened." +msgstr "Документ не відкрито." + +#: ../commands.c:41 ../commands.c:76 ../commands.c:103 ../commands.c:405 +msgid "Invalid number of arguments given." +msgstr "Вказана невірна кількість аргументів." + +#: ../commands.c:49 +#, c-format +msgid "Bookmark successfuly updated: %s" +msgstr "Закладку вдало поновлено: %s" + +#: ../commands.c:55 +#, c-format +msgid "Could not create bookmark: %s" +msgstr "Не можу створити закладку: %s" + +#: ../commands.c:59 +#, c-format +msgid "Bookmark successfuly created: %s" +msgstr "Закладку створено вдало: %s" + +#: ../commands.c:82 +#, c-format +msgid "Removed bookmark: %s" +msgstr "Закладку видалено: %s" + +#: ../commands.c:84 +#, c-format +msgid "Failed to remove bookmark: %s" +msgstr "Видалення закладки невдалося: %s" + +#: ../commands.c:110 +#, c-format +msgid "No such bookmark: %s" +msgstr "Такої закладки немає: %s" + +#: ../commands.c:161 ../commands.c:183 +msgid "No information available." +msgstr "Інформація недоступна." + +#: ../commands.c:221 +msgid "Too many arguments." +msgstr "Забагато аргументів." + +#: ../commands.c:230 +msgid "No arguments given." +msgstr "Жодного аргументу не вказано." + +#: ../commands.c:289 ../commands.c:315 +msgid "Document saved." +msgstr "Документ збережено." + +#: ../commands.c:291 ../commands.c:317 +msgid "Failed to save document." +msgstr "Документ не вдалося зберегти." + +#: ../commands.c:294 ../commands.c:320 +msgid "Invalid number of arguments." +msgstr "Невірна кількість аргументів." + +#: ../commands.c:424 +#, c-format +msgid "Couldn't write attachment '%s' to '%s'." +msgstr "Неможливо записати прикріплення '%s' до '%s'." + +#: ../commands.c:426 +#, c-format +msgid "Wrote attachment '%s' to '%s'." +msgstr "Прикріплення записано %s до %s." + +#: ../commands.c:470 +#, c-format +msgid "Wrote image '%s' to '%s'." +msgstr "" + +#: ../commands.c:472 +#, c-format +msgid "Couldn't write image '%s' to '%s'." +msgstr "" + +#: ../commands.c:479 +#, c-format +msgid "Unknown image '%s'." +msgstr "" + +#: ../commands.c:483 +#, c-format +msgid "Unknown attachment or image '%s'." +msgstr "" + +#: ../commands.c:534 +msgid "Argument must be a number." +msgstr "Аргумент повинен бути цифрою." + +#: ../completion.c:250 +#, c-format +msgid "Page %d" +msgstr "" + +#: ../completion.c:293 +msgid "Attachments" +msgstr "" + +#. add images +#: ../completion.c:324 +msgid "Images" +msgstr "" + +#. zathura settings +#: ../config.c:105 +msgid "Database backend" +msgstr "Буфер бази" + +#: ../config.c:107 +msgid "Zoom step" +msgstr "Збільшення" + +#: ../config.c:109 +msgid "Padding between pages" +msgstr "Заповнення між сторінками" + +#: ../config.c:111 +msgid "Number of pages per row" +msgstr "Кількість сторінок в одному рядку" + +#: ../config.c:113 +msgid "Column of the first page" +msgstr "" + +#: ../config.c:115 +msgid "Scroll step" +msgstr "Прокручування" + +#: ../config.c:117 +msgid "Horizontal scroll step" +msgstr "" + +#: ../config.c:119 +msgid "Zoom minimum" +msgstr "Максимальне зменшення" + +#: ../config.c:121 +msgid "Zoom maximum" +msgstr "Максимальне збільшення" + +#: ../config.c:123 +msgid "Life time (in seconds) of a hidden page" +msgstr "Час (у сек) схованої сторінки" + +#: ../config.c:124 +msgid "Amount of seconds between each cache purge" +msgstr "Кількість секунд між кожним очищенням кешу" + +#: ../config.c:126 +msgid "Recoloring (dark color)" +msgstr "Перефарбування (темний колір)" + +#: ../config.c:128 +msgid "Recoloring (light color)" +msgstr "Перефарбування (світлий колір)" + +#: ../config.c:130 +msgid "Color for highlighting" +msgstr "Колір для виділення" + +#: ../config.c:132 +msgid "Color for highlighting (active)" +msgstr "Колір для виділення (активний)" + +#: ../config.c:136 +msgid "Recolor pages" +msgstr "Змінити кольори" + +#: ../config.c:138 +msgid "When recoloring keep original hue and adjust lightness only" +msgstr "" + +#: ../config.c:140 +msgid "Wrap scrolling" +msgstr "Плавне прокручування" + +#: ../config.c:142 +msgid "Advance number of pages per row" +msgstr "" + +#: ../config.c:144 +msgid "Horizontally centered zoom" +msgstr "" + +#: ../config.c:146 +msgid "Center result horizontally" +msgstr "" + +#: ../config.c:148 +msgid "Transparency for highlighting" +msgstr "Прозорість для виділення" + +#: ../config.c:150 +msgid "Render 'Loading ...'" +msgstr "Рендер 'Завантажується ...'" + +#: ../config.c:151 +msgid "Adjust to when opening file" +msgstr "Підлаштовутись при відкритті файлу" + +#: ../config.c:153 +msgid "Show hidden files and directories" +msgstr "Показати приховані файли та директорії" + +#: ../config.c:155 +msgid "Show directories" +msgstr "Показати диреторії" + +#: ../config.c:157 +msgid "Always open on first page" +msgstr "Завжди відкривати на першій сторінці" + +#: ../config.c:159 +msgid "Highlight search results" +msgstr "" + +#: ../config.c:161 +msgid "Clear search results on abort" +msgstr "" + +#: ../config.c:163 +msgid "Use basename of the file in the window title" +msgstr "" + +#: ../config.c:165 ../main.c:60 +msgid "Enable synctex support" +msgstr "" + +#. define default inputbar commands +#: ../config.c:293 +msgid "Add a bookmark" +msgstr "Додати закладку" + +#: ../config.c:294 +msgid "Delete a bookmark" +msgstr "Вилучити закладку" + +#: ../config.c:295 +msgid "List all bookmarks" +msgstr "Дивитись усі закладки" + +#: ../config.c:296 +msgid "Close current file" +msgstr "Закрити документ" + +#: ../config.c:297 +msgid "Show file information" +msgstr "Показати інформацію файлу" + +#: ../config.c:298 +msgid "Execute a command" +msgstr "" + +#: ../config.c:299 +msgid "Show help" +msgstr "Показати довідку" + +#: ../config.c:300 +msgid "Open document" +msgstr "Відкрити документ" + +#: ../config.c:301 +msgid "Close zathura" +msgstr "Вийти із zathura" + +#: ../config.c:302 +msgid "Print document" +msgstr "Друкувати документ" + +#: ../config.c:303 +msgid "Save document" +msgstr "Зберегти документ" + +#: ../config.c:304 +msgid "Save document (and force overwriting)" +msgstr "Зберегти документ (форсувати перезапис)" + +#: ../config.c:305 +msgid "Save attachments" +msgstr "Зберегти прикріплення" + +#: ../config.c:306 +msgid "Set page offset" +msgstr "Встановити зміщення сторінки" + +#: ../config.c:307 +msgid "Mark current location within the document" +msgstr "" + +#: ../config.c:308 +msgid "Delete the specified marks" +msgstr "" + +#: ../config.c:309 +msgid "Don't highlight current search results" +msgstr "" + +#: ../config.c:310 +msgid "Highlight current search results" +msgstr "" + +#: ../config.c:311 +msgid "Show version information" +msgstr "" + +#: ../links.c:162 ../links.c:219 +msgid "Failed to run xdg-open." +msgstr "Запуск xdg-open не вдався." + +#: ../main.c:52 +msgid "Reparents to window specified by xid" +msgstr "Вертатися до вікна, вказаного xid" + +#: ../main.c:53 +msgid "Path to the config directory" +msgstr "Шлях до теки конфігурації" + +#: ../main.c:54 +msgid "Path to the data directory" +msgstr "Шлях до теки з даними" + +#: ../main.c:55 +msgid "Path to the directories containing plugins" +msgstr "Шлях до теки з плаґінами" + +#: ../main.c:56 +msgid "Fork into the background" +msgstr "Працювати у фоні" + +#: ../main.c:57 +msgid "Document password" +msgstr "" + +#: ../main.c:58 +msgid "Log level (debug, info, warning, error)" +msgstr "Рівень логування (налагодження, інфо, застереження, помилка)" + +#: ../main.c:59 +msgid "Print version information" +msgstr "Показати інформацію файлу" + +#: ../main.c:61 +msgid "Synctex editor (forwarded to the synctex command)" +msgstr "" + +#: ../page-widget.c:456 +msgid "Loading..." +msgstr "" + +#: ../page-widget.c:643 +#, c-format +msgid "Copied selected text to clipboard: %s" +msgstr "Вибраний текст скопійовано до буферу: %s" + +#: ../page-widget.c:741 +msgid "Copy image" +msgstr "Копіювати картинку" + +#: ../page-widget.c:742 +msgid "Save image as" +msgstr "" + +#: ../shortcuts.c:825 +msgid "This document does not contain any index" +msgstr "Індекс відсутній в цьому документі" + +#: ../zathura.c:189 ../zathura.c:843 +msgid "[No name]" +msgstr "[Без назви]" diff --git a/print.c b/print.c index 867382d..f404738 100644 --- a/print.c +++ b/print.c @@ -41,7 +41,7 @@ print(zathura_t* zathura) /* print operation signals */ g_signal_connect(print_operation, "draw-page", G_CALLBACK(cb_print_draw_page), zathura); g_signal_connect(print_operation, "end-print", G_CALLBACK(cb_print_end), zathura); - g_signal_connect(print_operation, "request_page_setup", G_CALLBACK(cb_print_request_page_setup), zathura); + g_signal_connect(print_operation, "request-page-setup", G_CALLBACK(cb_print_request_page_setup), zathura); /* print */ GtkPrintOperationResult result = gtk_print_operation_run(print_operation, diff --git a/render.c b/render.c index 77a9f97..65f5b4b 100644 --- a/render.c +++ b/render.c @@ -21,6 +21,7 @@ struct render_thread_s { GThreadPool* pool; /**< Pool of threads */ GStaticMutex mutex; /**< Render lock */ + bool about_to_close; /**< Render thread is to be freed */ }; static void @@ -32,7 +33,7 @@ render_job(void* data, void* user_data) return; } - girara_debug("rendring page %d ...", zathura_page_get_index(page)); + girara_debug("rendering page %d ...", zathura_page_get_index(page)); if (render(zathura, page) != true) { girara_error("Rendering failed (page %d)\n", zathura_page_get_index(page)); } @@ -49,6 +50,7 @@ render_init(zathura_t* zathura) goto error_free; } + render_thread->about_to_close = false; g_thread_pool_set_sort_function(render_thread->pool, render_thread_sort, zathura); g_static_mutex_init(&render_thread->mutex); @@ -67,6 +69,7 @@ render_free(render_thread_t* render_thread) return; } + render_thread->about_to_close = true; if (render_thread->pool) { g_thread_pool_free(render_thread->pool, TRUE, TRUE); } @@ -78,7 +81,7 @@ render_free(render_thread_t* render_thread) bool render_page(render_thread_t* render_thread, zathura_page_t* page) { - if (render_thread == NULL || page == NULL || render_thread->pool == NULL) { + if (render_thread == NULL || page == NULL || render_thread->pool == NULL || render_thread->about_to_close == true) { return false; } @@ -86,10 +89,63 @@ render_page(render_thread_t* render_thread, zathura_page_t* page) return true; } +static void +color2double(GdkColor* col, double* v) +{ + v[0] = (double) col->red / 65535.; + v[1] = (double) col->green / 65535.; + v[2] = (double) col->blue / 65535.; +} + +/* Returns the maximum possible saturation for given h and l. + Assumes that l is in the interval l1, l2 and corrects the value to + force u=0 on l1 and l2 */ +static double +colorumax(double* h, double l, double l1, double l2) +{ + double u, uu, v, vv, lv; + if (h[0] == 0 && h[1] == 0 && h[2] == 0) { + return 0; + } + + lv = (l - l1)/(l2 - l1); /* Remap l to the whole interval 0,1 */ + u = v = 1000000; + for (int k = 0; k < 3; k++) { + if (h[k] > 0) { + uu = fabs((1-l)/h[k]); + vv = fabs((1-lv)/h[k]); + + if (uu < u) { + u = uu; + } + if (vv < v) { + v = vv; + } + } else if (h[k] < 0) { + uu = fabs(l/h[k]); + vv = fabs(lv/h[k]); + + if (uu < u) { + u = uu; + } + if (vv < v) { + v = vv; + } + } + } + + /* rescale v according to the length of the interval [l1, l2] */ + v = fabs(l2 - l1) * v; + + /* forces the returned value to be 0 on l1 and l2, trying not to distort colors too much */ + return fmin(u, v); +} + + static bool render(zathura_t* zathura, zathura_page_t* page) { - if (zathura == NULL || page == NULL) { + if (zathura == NULL || page == NULL || zathura->sync.render_thread->about_to_close == true) { return false; } @@ -139,43 +195,81 @@ render(zathura_t* zathura, zathura_page_t* page) unsigned char* image = cairo_image_surface_get_data(surface); /* recolor */ + /* uses a representation of a rgb color as follows: + - a lightness scalar (between 0,1), which is a weighted average of r, g, b, + - a hue vector, which indicates a radian direction from the grey axis, inside the equal lightness plane. + - a saturation scalar between 0,1. It is 0 when grey, 1 when the color is in the boundary of the rgb cube. + */ if (zathura->global.recolor == true) { - /* recolor code based on qimageblitz library flatten() function - (http://sourceforge.net/projects/qimageblitz/) */ + /* RGB weights for computing lightness. Must sum to one */ + double a[] = {0.30, 0.59, 0.11}; - int r1 = zathura->ui.colors.recolor_dark_color.red / 257; - int g1 = zathura->ui.colors.recolor_dark_color.green / 257; - int b1 = zathura->ui.colors.recolor_dark_color.blue / 257; - int r2 = zathura->ui.colors.recolor_light_color.red / 257; - int g2 = zathura->ui.colors.recolor_light_color.green / 257; - int b2 = zathura->ui.colors.recolor_light_color.blue / 257; + double l1, l2, l, s, u, t; + double h[3]; + double rgb1[3], rgb2[3], rgb[3]; - int min = 0x00; - int max = 0xFF; - int mean = 0x00; + color2double(&zathura->ui.colors.recolor_dark_color, rgb1); + color2double(&zathura->ui.colors.recolor_light_color, rgb2); - float sr = ((float) r2 - r1) / (max - min); - float sg = ((float) g2 - g1) / (max - min); - float sb = ((float) b2 - b1) / (max - min); + l1 = (a[0]*rgb1[0] + a[1]*rgb1[1] + a[2]*rgb1[2]); + l2 = (a[0]*rgb2[0] + a[1]*rgb2[1] + a[2]*rgb2[2]); for (unsigned int y = 0; y < page_height; y++) { unsigned char* data = image + y * rowstride; for (unsigned int x = 0; x < page_width; x++) { - mean = (data[0] + data[1] + data[2]) / 3; - data[2] = sr * (mean - min) + r1 + 0.5; - data[1] = sg * (mean - min) + g1 + 0.5; - data[0] = sb * (mean - min) + b1 + 0.5; + /* Careful. data color components blue, green, red. */ + rgb[0] = (double) data[2] / 256.; + rgb[1] = (double) data[1] / 256.; + rgb[2] = (double) data[0] / 256.; + + /* compute h, s, l data */ + l = a[0]*rgb[0] + a[1]*rgb[1] + a[2]*rgb[2]; + + h[0] = rgb[0] - l; + h[1] = rgb[1] - l; + h[2] = rgb[2] - l; + + /* u is the maximum possible saturation for given h and l. s is a rescaled saturation between 0 and 1 */ + u = colorumax(h, l, 0, 1); + if (u == 0) { + s = 0; + } else { + s = 1/u; + } + + /* Interpolates lightness between light and dark colors. white goes to light, and black goes to dark. */ + t = l; + l = t * (l2 - l1) + l1; + + if (zathura->global.recolor_keep_hue == true) { + /* adjusting lightness keeping hue of current color. white and black go to grays of same ligtness + as light and dark colors. */ + u = colorumax(h, l, l1, l2); + data[2] = (unsigned char)round(255.*(l + s*u * h[0])); + data[1] = (unsigned char)round(255.*(l + s*u * h[1])); + data[0] = (unsigned char)round(255.*(l + s*u * h[2])); + } else { + /* Linear interpolation between dark and light with color ligtness as a parameter */ + data[2] = (unsigned char)round(255.*(t * (rgb2[0] - rgb1[0]) + rgb1[0])); + data[1] = (unsigned char)round(255.*(t * (rgb2[1] - rgb1[1]) + rgb1[1])); + data[0] = (unsigned char)round(255.*(t * (rgb2[2] - rgb1[2]) + rgb1[2])); + } + data += 4; } } } - /* update the widget */ - gdk_threads_enter(); - GtkWidget* widget = zathura_page_get_widget(zathura, page); - zathura_page_widget_update_surface(ZATHURA_PAGE(widget), surface); - gdk_threads_leave(); + if (zathura->sync.render_thread->about_to_close == false) { + /* update the widget */ + gdk_threads_enter(); + GtkWidget* widget = zathura_page_get_widget(zathura, page); + zathura_page_widget_update_surface(ZATHURA_PAGE(widget), surface); + gdk_threads_leave(); + } else { + cairo_surface_destroy(surface); + } return true; } @@ -220,9 +314,9 @@ render_thread_sort(gconstpointer a, gconstpointer b, gpointer data) g_object_get(zathura->pages[page_a_index], "last-view", &last_view_a, NULL); g_object_get(zathura->pages[page_b_index], "last-view", &last_view_b, NULL); - if (last_view_a > last_view_b) { + if (last_view_a < last_view_b) { return -1; - } else if (last_view_b > last_view_a) { + } else if (last_view_a > last_view_b) { return 1; } diff --git a/shortcuts.c b/shortcuts.c index 0e9c91c..ecd72c5 100644 --- a/shortcuts.c +++ b/shortcuts.c @@ -62,6 +62,9 @@ sc_adjust_window(girara_session_t* session, girara_argument_t* argument, unsigned int pages_per_row = 1; girara_setting_get(session, "pages-per-row", &pages_per_row); + unsigned int first_page_column = 1; + girara_setting_get(session, "first-page-column", &first_page_column); + if (zathura->ui.page_widget == NULL || zathura->document == NULL) { goto error_ret; } @@ -76,8 +79,13 @@ sc_adjust_window(girara_session_t* session, girara_argument_t* argument, /* get window size */ GtkAllocation allocation; gtk_widget_get_allocation(session->gtk.view, &allocation); - gint width = allocation.width; - gint height = allocation.height; + double width = allocation.width; + double height = allocation.height; + + /* scrollbar spacing */ + gint spacing; + gtk_widget_style_get(session->gtk.view, "scrollbar_spacing", &spacing, NULL); + width -= spacing; /* correct view size */ if (gtk_widget_get_visible(GTK_WIDGET(session->gtk.inputbar)) == true) { @@ -119,6 +127,13 @@ sc_adjust_window(girara_session_t* session, girara_argument_t* argument, } unsigned int rotation = zathura_document_get_rotation(zathura->document); + double page_ratio = max_height / total_width; + double window_ratio = height / width; + + if (rotation == 90 || rotation == 270) { + page_ratio = max_width / total_height; + } + switch (argument->n) { case ZATHURA_ADJUST_WIDTH: if (rotation == 0 || rotation == 180) { @@ -128,27 +143,26 @@ sc_adjust_window(girara_session_t* session, girara_argument_t* argument, } break; case ZATHURA_ADJUST_BESTFIT: - if (total_width < total_height) { - if (rotation == 0 || rotation == 180) { - zathura_document_set_scale(zathura->document, height / max_height); - } else { - zathura_document_set_scale(zathura->document, width / total_height); - } - } else { - if (rotation == 0 || rotation == 180) { + if (rotation == 0 || rotation == 180) { + if (page_ratio < window_ratio) { zathura_document_set_scale(zathura->document, width / total_width); } else { - zathura_document_set_scale(zathura->document, height / total_width); + zathura_document_set_scale(zathura->document, height / max_height); + } + } else { + if (page_ratio < window_ratio) { + zathura_document_set_scale(zathura->document, width / total_height); + } else { + zathura_document_set_scale(zathura->document, height / max_width); } } - break; default: goto error_ret; } /* keep position */ - readjust_view_after_zooming(zathura, old_zoom); + readjust_view_after_zooming(zathura, old_zoom, false); /* re-render all pages */ render_all(zathura); @@ -334,7 +348,7 @@ sc_mouse_scroll(girara_session_t* session, girara_argument_t* argument, girara_e break; case GIRARA_EVENT_MOTION_NOTIFY: x_adj = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(session->gtk.view)); - y_adj =gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(session->gtk.view)); + y_adj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(session->gtk.view)); if (x_adj == NULL || y_adj == NULL) { return false; @@ -534,7 +548,6 @@ sc_scroll(girara_session_t* session, girara_argument_t* argument, adjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(session->gtk.view)); } - gdouble view_size = gtk_adjustment_get_page_size(adjustment); gdouble value = gtk_adjustment_get_value(adjustment); gdouble max = gtk_adjustment_get_upper(adjustment) - view_size; @@ -542,6 +555,11 @@ sc_scroll(girara_session_t* session, girara_argument_t* argument, float scroll_step = 40; girara_setting_get(session, "scroll-step", &scroll_step); + float scroll_hstep = -1; + girara_setting_get(session, "scroll-hstep", &scroll_hstep); + if (scroll_hstep < 0) { + scroll_hstep = scroll_step; + } int padding = 1; girara_setting_get(session, "page-padding", &padding); @@ -565,10 +583,14 @@ sc_scroll(girara_session_t* session, girara_argument_t* argument, new_value = value + ((view_size + padding) / 2); break; case LEFT: + new_value = value - scroll_hstep; + break; case UP: new_value = value - scroll_step; break; case RIGHT: + new_value = value + scroll_hstep; + break; case DOWN: new_value = value + scroll_step; break; @@ -660,12 +682,16 @@ sc_search(girara_session_t* session, girara_argument_t* argument, page_calculate_offset(zathura, target_page, &offset); GtkAdjustment* view_vadjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(zathura->ui.session->gtk.view)); - GtkAdjustment* view_hadjustment = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(zathura->ui.session->gtk.view)); - - int x = offset.x - gtk_adjustment_get_page_size(view_hadjustment) / 2 + rectangle.x1; int y = offset.y - gtk_adjustment_get_page_size(view_vadjustment) / 2 + rectangle.y1; - set_adjustment(view_hadjustment, x); set_adjustment(view_vadjustment, y); + + bool search_hadjust = true; + girara_setting_get(session, "search-hadjust", &search_hadjust); + if (search_hadjust == true) { + GtkAdjustment* view_hadjustment = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(zathura->ui.session->gtk.view)); + int x = offset.x - gtk_adjustment_get_page_size(view_hadjustment) / 2 + rectangle.x1; + set_adjustment(view_hadjustment, x); + } } return false; @@ -702,7 +728,9 @@ sc_navigate_index(girara_session_t* session, girara_argument_t* argument, switch(argument->n) { case UP: if (gtk_tree_path_prev(path) == FALSE) { - is_valid_path = gtk_tree_path_up(path); + /* For some reason gtk_tree_path_up returns TRUE although we're not + * moving anywhere. */ + is_valid_path = gtk_tree_path_up(path) && (gtk_tree_path_get_depth(path) > 0); } else { /* row above */ while(gtk_tree_view_row_expanded(tree_view, path)) { gtk_tree_model_get_iter(model, &iter, path); @@ -894,12 +922,16 @@ sc_toggle_fullscreen(girara_session_t* session, girara_argument_t* static bool fullscreen = false; static int pages_per_row = 1; + static int first_page_column = 1; static double zoom = 1.0; if (fullscreen == true) { /* reset pages per row */ girara_setting_set(session, "pages-per-row", &pages_per_row); + /* reset first page column */ + girara_setting_set(session, "first-page-column", &first_page_column); + /* show status bar */ gtk_widget_show(GTK_WIDGET(session->gtk.statusbar)); @@ -914,6 +946,9 @@ sc_toggle_fullscreen(girara_session_t* session, girara_argument_t* /* backup pages per row */ girara_setting_get(session, "pages-per-row", &pages_per_row); + /* backup first page column */ + girara_setting_get(session, "first-page-column", &first_page_column); + /* set single view */ int int_value = 1; girara_setting_set(session, "pages-per-row", &int_value); @@ -969,8 +1004,8 @@ sc_zoom(girara_session_t* session, girara_argument_t* argument, girara_event_t* int value = 1; girara_setting_get(zathura->ui.session, "zoom-step", &value); - t = (t == 0) ? 1 : t; - float zoom_step = value / 100.0f * t; + int nt = (t == 0) ? 1 : t; + float zoom_step = value / 100.0f * nt; float old_zoom = zathura_document_get_scale(zathura->document); /* specify new zoom value */ @@ -979,9 +1014,13 @@ sc_zoom(girara_session_t* session, girara_argument_t* argument, girara_event_t* } else if (argument->n == ZOOM_OUT) { zathura_document_set_scale(zathura->document, old_zoom - zoom_step); } else if (argument->n == ZOOM_SPECIFIC) { - zathura_document_set_scale(zathura->document, t / 100.0f); + if (t == 0) { + zathura_document_set_scale(zathura->document, 1.0f); + } else { + zathura_document_set_scale(zathura->document, t / 100.0f); + } } else { - zathura_document_set_scale(zathura->document, 1.0); + zathura_document_set_scale(zathura->document, 1.0f); } /* zoom limitations */ @@ -1001,7 +1040,7 @@ sc_zoom(girara_session_t* session, girara_argument_t* argument, girara_event_t* } /* keep position */ - readjust_view_after_zooming(zathura, old_zoom); + readjust_view_after_zooming(zathura, old_zoom, true); render_all(zathura); diff --git a/synctex.c b/synctex.c new file mode 100644 index 0000000..9a9c91f --- /dev/null +++ b/synctex.c @@ -0,0 +1,31 @@ +/* See LICENSE file for license and copyright information */ + +#include "synctex.h" + +#include "zathura.h" +#include "page.h" +#include "document.h" + +#include + +void +synctex_edit(zathura_t* zathura, zathura_page_t* page, int x, int y) +{ + zathura_document_t* doc = zathura_page_get_document(page); + const char *filename = zathura_document_get_path(doc); + int pageIdx = zathura_page_get_index(page); + + char *buffer = g_strdup_printf("%d:%d:%d:%s", pageIdx+1, x, y, filename); + if (buffer == NULL) + return; + + if (zathura->synctex.editor) { + char* argv[] = {"synctex", "edit", "-o", buffer, "-x", zathura->synctex.editor, NULL}; + g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); + } else { + char* argv[] = {"synctex", "edit", "-o", buffer, NULL}; + g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); + } + + g_free(buffer); +} diff --git a/synctex.h b/synctex.h new file mode 100644 index 0000000..1514117 --- /dev/null +++ b/synctex.h @@ -0,0 +1,10 @@ +/* See LICENSE file for license and copyright information */ + +#ifndef SYNCTEX_H +#define SYNCTEX_H + +#include "types.h" + +void synctex_edit(zathura_t* zathura, zathura_page_t* page, int x, int y); + +#endif diff --git a/tests/test_session.c b/tests/test_session.c index a4656f7..88b54cb 100644 --- a/tests/test_session.c +++ b/tests/test_session.c @@ -5,8 +5,9 @@ #include "../zathura.h" START_TEST(test_create) { - zathura_t* zathura = zathura_init(0, NULL); + zathura_t* zathura = zathura_create(); fail_unless(zathura != NULL, "Could not create session", NULL); + fail_unless(zathura_init(zathura) == true, "Could not initialize session", NULL); zathura_free(zathura); } END_TEST diff --git a/utils.c b/utils.c index 135861f..dc765c3 100644 --- a/utils.c +++ b/utils.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include "links.h" @@ -156,7 +157,7 @@ document_index_build(GtkTreeModel* model, GtkTreeIter* parent, gchar* description = NULL; if (type == ZATHURA_LINK_GOTO_DEST) { - description = g_strdup_printf("Page %d", target.page_number); + description = g_strdup_printf("Page %d", target.page_number + 1); } else { description = g_strdup(target.value); } @@ -312,7 +313,8 @@ zathura_page_get_widget(zathura_t* zathura, zathura_page_t* page) } void -readjust_view_after_zooming(zathura_t *zathura, float old_zoom) { +readjust_view_after_zooming(zathura_t *zathura, float old_zoom, bool delay) +{ if (zathura == NULL || zathura->document == NULL) { return; } @@ -325,7 +327,18 @@ readjust_view_after_zooming(zathura_t *zathura, float old_zoom) { gdouble valx = gtk_adjustment_get_value(hadjustment) / old_zoom * scale; gdouble valy = gtk_adjustment_get_value(vadjustment) / old_zoom * scale; - position_set_delayed(zathura, valx, valy); + bool zoom_center = false; + girara_setting_get(zathura->ui.session, "zoom-center", &zoom_center); + if (zoom_center) { + valx += gtk_adjustment_get_page_size(hadjustment) * (scale / old_zoom - 1) / 2; + } + + if (delay == true) { + position_set_delayed(zathura, valx, valy); + } else { + set_adjustment(vadjustment, valx); + set_adjustment(vadjustment, valy); + } } void @@ -340,3 +353,85 @@ document_draw_search_results(zathura_t* zathura, bool value) g_object_set(zathura->pages[page_id], "draw-search-results", (value == true) ? TRUE : FALSE, NULL); } } + +char* +zathura_get_version_string(zathura_t* zathura, bool markup) +{ + if (zathura == NULL) { + return NULL; + } + + GString* string = g_string_new(NULL); + + /* zathura version */ + char* zathura_version = g_strdup_printf("zathura %d.%d.%d", ZATHURA_VERSION_MAJOR, ZATHURA_VERSION_MINOR, ZATHURA_VERSION_REV); + g_string_append(string, zathura_version); + g_free(zathura_version); + + char* format = (markup == true) ? "\n(plugin) %s (%d.%d.%d) (%s)" : "\n(plugin) %s (%d.%d.%d) (%s)"; + + /* plugin information */ + girara_list_t* plugins = zathura_plugin_manager_get_plugins(zathura->plugins.manager); + if (plugins != NULL) { + GIRARA_LIST_FOREACH(plugins, zathura_plugin_t*, iter, plugin) + char* name = zathura_plugin_get_name(plugin); + zathura_plugin_version_t version = zathura_plugin_get_version(plugin); + char* text = g_strdup_printf(format, + (name == NULL) ? "-" : name, + version.major, + version.minor, + version.rev, + zathura_plugin_get_path(plugin) + ); + g_string_append(string, text); + g_free(text); + GIRARA_LIST_FOREACH_END(plugins, zathura_plugin_t*, iter, plugin); + } + + char* version = string->str; + g_string_free(string, FALSE); + + return version; +} + +char* +replace_substring(const char* string, const char* old, const char* new) +{ + if (string == NULL || old == NULL || new == NULL) { + return NULL; + } + + size_t old_len = strlen(old); + size_t new_len = strlen(new); + + /* count occurences */ + unsigned int count = 0; + unsigned int i = 0; + + for (i = 0; string[i] != '\0'; i++) { + if (strstr(&string[i], old) == &string[i]) { + i += (old_len - 1); + count++; + } + } + + if (count == 0) { + return NULL; + } + + char* ret = g_malloc0(sizeof(char) * (i - count * old_len + count * new_len + 1)); + i = 0; + + /* replace */ + while (*string != '\0') { + if (strstr(string, old) == string) { + strcpy(&ret[i], new); + i += new_len; + string += old_len; + } else { + ret[i++] = *string++; + } + } + + return ret; +} diff --git a/utils.h b/utils.h index 504c7e2..b531731 100644 --- a/utils.h +++ b/utils.h @@ -119,8 +119,9 @@ GtkWidget* zathura_page_get_widget(zathura_t* zathura, zathura_page_t* page); * * @param zathura Zathura instance * @param old_zoom Old zoom value + * @param delay true if action should be delayed */ -void readjust_view_after_zooming(zathura_t* zathura, float old_zoom); +void readjust_view_after_zooming(zathura_t* zathura, float old_zoom, bool delay); /** * Set if the search results should be drawn or not @@ -130,4 +131,25 @@ void readjust_view_after_zooming(zathura_t* zathura, float old_zoom); */ void document_draw_search_results(zathura_t* zathura, bool value); +/** + * Create zathura version string + * + * @param zathura The zathura instance + * @param markup Enable markup + * @return Version string + */ +char* zathura_get_version_string(zathura_t* zathura, bool markup); + +/** + * Replaces all occurences of \ref old in \ref string with \ref new and returns + * a new allocated string + * + * @param string The original string + * @param old String to replace + * @param new Replacement string + * + * @return new allocated string + */ +char* replace_substring(const char* string, const char* old, const char* new); + #endif // UTILS_H diff --git a/zathura.1.rst b/zathura.1.rst index 8c3a496..2f8322f 100644 --- a/zathura.1.rst +++ b/zathura.1.rst @@ -13,7 +13,7 @@ a document viewer SYNOPOSIS ========= | zathura [OPTION]... -| zathura [OPTION]... FILE +| zathura [OPTION]... FILE [FILE ...] DESCRIPTION =========== @@ -37,11 +37,22 @@ OPTIONS Path to the directory containing plugins -w [password], --password [password] - The documents password + The documents password. If multiple documents are opened at once, the password + will be used for the first one and zathura will ask for the passwords of the + remaining files if needed. --fork Fork into the background +-l [level], --debug [level] + Set log debug level (debug, info, warning, error) + +-s, --synctex + Enable syntex support + +-x [cmd], --syntec-editor-command [cmd] + Set the syntex editor command + MOUSE AND KEY BINDINGS ====================== diff --git a/zathura.c b/zathura.c index fd5acf0..191f4a8 100644 --- a/zathura.c +++ b/zathura.c @@ -57,107 +57,18 @@ static gboolean purge_pages(gpointer data); /* function implementation */ zathura_t* -zathura_init(int argc, char* argv[]) +zathura_create(void) { - /* parse command line options */ -#if (GTK_MAJOR_VERSION == 2) - GdkNativeWindow embed = 0; -#else - Window embed = 0; -#endif - - gchar* config_dir = NULL, *data_dir = NULL, *plugin_path = NULL, *loglevel = NULL, *password = NULL; - bool forkback = false; - GOptionEntry entries[] = - { - { "reparent", 'e', 0, G_OPTION_ARG_INT, &embed, _("Reparents to window specified by xid"), "xid" }, - { "config-dir", 'c', 0, G_OPTION_ARG_FILENAME, &config_dir, _("Path to the config directory"), "path" }, - { "data-dir", 'd', 0, G_OPTION_ARG_FILENAME, &data_dir, _("Path to the data directory"), "path" }, - { "plugins-dir", 'p', 0, G_OPTION_ARG_STRING, &plugin_path, _("Path to the directories containing plugins"), "path" }, - { "fork", '\0', 0, G_OPTION_ARG_NONE, &forkback, _("Fork into the background"), NULL }, - { "password", 'w', 0, G_OPTION_ARG_STRING, &password, _("Document password"), "password" }, - { "debug", 'l', 0, G_OPTION_ARG_STRING, &loglevel, _("Log level (debug, info, warning, error)"), "level" }, - { NULL, '\0', 0, 0, NULL, NULL, NULL } - }; - - GOptionContext* context = g_option_context_new(" [file1] [file2] [...]"); - g_option_context_add_main_entries(context, entries, NULL); - - GError* error = NULL; - if (g_option_context_parse(context, &argc, &argv, &error) == false) - { - printf("Error parsing command line arguments: %s\n", error->message); - g_option_context_free(context); - g_error_free(error); - return NULL; - } - g_option_context_free(context); - - /* Fork into the background if the user really wants to ... */ - if (forkback == true) - { - int pid = fork(); - if (pid > 0) { /* parent */ - exit(0); - } else if (pid < 0) { /* error */ - printf("Error: couldn't fork."); - } - - setsid(); - } - - /* Set log level. */ - if (loglevel == NULL || g_strcmp0(loglevel, "info") == 0) { - girara_set_debug_level(GIRARA_INFO); - } else if (g_strcmp0(loglevel, "warning") == 0) { - girara_set_debug_level(GIRARA_WARNING); - } else if (g_strcmp0(loglevel, "error") == 0) { - girara_set_debug_level(GIRARA_ERROR); - } - zathura_t* zathura = g_malloc0(sizeof(zathura_t)); + /* global settings */ + zathura->global.recolor = false; + zathura->global.update_page_number = true; + /* plugins */ zathura->plugins.manager = zathura_plugin_manager_new(); if (zathura->plugins.manager == NULL) { - goto error_free; - } - - /* configuration and data */ - if (config_dir != NULL) { - zathura->config.config_dir = g_strdup(config_dir); - } else { - gchar* path = girara_get_xdg_path(XDG_CONFIG); - zathura->config.config_dir = g_build_filename(path, "zathura", NULL); - g_free(path); - } - - if (data_dir != NULL) { - zathura->config.data_dir = g_strdup(data_dir); - } else { - gchar* path = girara_get_xdg_path(XDG_DATA); - zathura->config.data_dir = g_build_filename(path, "zathura", NULL); - g_free(path); - } - - /* create zathura (config/data) directory */ - g_mkdir_with_parents(zathura->config.config_dir, 0771); - g_mkdir_with_parents(zathura->config.data_dir, 0771); - - if (plugin_path != NULL) { - girara_list_t* paths = girara_split_path_array(plugin_path); - GIRARA_LIST_FOREACH(paths, char*, iter, path) - zathura_plugin_manager_add_dir(zathura->plugins.manager, path); - GIRARA_LIST_FOREACH_END(paths, char*, iter, path); - girara_list_free(paths); - } else { -#ifdef ZATHURA_PLUGINDIR - girara_list_t* paths = girara_split_path_array(ZATHURA_PLUGINDIR); - GIRARA_LIST_FOREACH(paths, char*, iter, path) - zathura_plugin_manager_add_dir(zathura->plugins.manager, path); - GIRARA_LIST_FOREACH_END(paths, char*, iter, path); - girara_list_free(paths); -#endif + goto error_out; } /* UI */ @@ -167,10 +78,25 @@ zathura_init(int argc, char* argv[]) zathura->ui.session->global.data = zathura; - /* global settings */ - zathura->global.recolor = false; - zathura->global.update_page_number = true; - zathura->global.arguments = argv; + return zathura; + +error_out: + + zathura_free(zathura); + + return NULL; +} + +bool +zathura_init(zathura_t* zathura) +{ + if (zathura == NULL) { + return false; + } + + /* create zathura (config/data) directory */ + g_mkdir_with_parents(zathura->config.config_dir, 0771); + g_mkdir_with_parents(zathura->config.data_dir, 0771); /* load plugins */ zathura_plugin_manager_load(zathura->plugins.manager); @@ -198,9 +124,7 @@ zathura_init(int argc, char* argv[]) config_load_file(zathura, configuration_file); g_free(configuration_file); - /* initialize girara */ - zathura->ui.session->gtk.embed = embed; - + /* UI */ if (girara_session_init(zathura->ui.session, "zathura") == false) { goto error_free; } @@ -210,7 +134,13 @@ zathura_init(int argc, char* argv[]) zathura->ui.session->events.unknown_command = cb_unknown_command; /* page view */ +#if (GTK_MAJOR_VERSION == 3) + zathura->ui.page_widget = gtk_grid_new(); + gtk_grid_set_row_homogeneous(GTK_GRID(zathura->ui.page_widget), TRUE); + gtk_grid_set_column_homogeneous(GTK_GRID(zathura->ui.page_widget), TRUE); +#else zathura->ui.page_widget = gtk_table_new(0, 0, TRUE); +#endif if (zathura->ui.page_widget == NULL) { goto error_free; } @@ -230,6 +160,14 @@ zathura_init(int argc, char* argv[]) } gtk_container_add(GTK_CONTAINER(zathura->ui.page_widget_alignment), zathura->ui.page_widget); +#if (GTK_MAJOR_VERSION == 3) + gtk_widget_set_hexpand_set(zathura->ui.page_widget_alignment, TRUE); + gtk_widget_set_hexpand(zathura->ui.page_widget_alignment, FALSE); + gtk_widget_set_vexpand_set(zathura->ui.page_widget_alignment, TRUE); + gtk_widget_set_vexpand(zathura->ui.page_widget_alignment, FALSE); +#endif + + gtk_widget_show(zathura->ui.page_widget); /* statusbar */ @@ -257,8 +195,13 @@ zathura_init(int argc, char* argv[]) int page_padding = 1; girara_setting_get(zathura->ui.session, "page-padding", &page_padding); +#if (GTK_MAJOR_VERSION == 3) + gtk_grid_set_row_spacing(GTK_GRID(zathura->ui.page_widget), page_padding); + gtk_grid_set_column_spacing(GTK_GRID(zathura->ui.page_widget), page_padding); +#else gtk_table_set_row_spacings(GTK_TABLE(zathura->ui.page_widget), page_padding); gtk_table_set_col_spacings(GTK_TABLE(zathura->ui.page_widget), page_padding); +#endif /* database */ char* database = NULL; @@ -287,33 +230,12 @@ zathura_init(int argc, char* argv[]) zathura->bookmarks.bookmarks = girara_sorted_list_new2((girara_compare_function_t) zathura_bookmarks_compare, (girara_free_function_t) zathura_bookmark_free); - /* open document if passed */ - if (argc > 1) { - zathura_document_info_t* document_info = g_malloc0(sizeof(zathura_document_info_t)); - - document_info->zathura = zathura; - document_info->path = argv[1]; - document_info->password = password; - gdk_threads_add_idle(document_info_open, document_info); - - /* open additional files */ - for (int i = 2; i < argc; i++) { - char* new_argv[] = { - *(zathura->global.arguments), - argv[i], - NULL - }; - - g_spawn_async(NULL, new_argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL); - } - } - /* add even to purge old pages */ int interval = 30; girara_setting_get(zathura->ui.session, "page-store-interval", &interval); g_timeout_add_seconds(interval, purge_pages, zathura); - return zathura; + return true; error_free: @@ -325,11 +247,7 @@ error_free: g_object_unref(zathura->ui.page_widget_alignment); } -error_out: - - zathura_free(zathura); - - return NULL; + return false; } void @@ -376,6 +294,103 @@ zathura_free(zathura_t* zathura) g_free(zathura); } +void +#if (GTK_MAJOR_VERSION == 2) +zathura_set_xid(zathura_t* zathura, GdkNativeWindow xid) +#else +zathura_set_xid(zathura_t* zathura, Window xid) +#endif +{ + g_return_if_fail(zathura != NULL); + + zathura->ui.session->gtk.embed = xid; +} + +void +zathura_set_config_dir(zathura_t* zathura, const char* dir) +{ + g_return_if_fail(zathura != NULL); + + if (dir != NULL) { + zathura->config.config_dir = g_strdup(dir); + } else { + gchar* path = girara_get_xdg_path(XDG_CONFIG); + zathura->config.config_dir = g_build_filename(path, "zathura", NULL); + g_free(path); + } +} + +void +zathura_set_data_dir(zathura_t* zathura, const char* dir) +{ + if (dir != NULL) { + zathura->config.data_dir = g_strdup(dir); + } else { + gchar* path = girara_get_xdg_path(XDG_DATA); + zathura->config.data_dir = g_build_filename(path, "zathura", NULL); + g_free(path); + } + + g_return_if_fail(zathura != NULL); +} + +void +zathura_set_plugin_dir(zathura_t* zathura, const char* dir) +{ + g_return_if_fail(zathura != NULL); + g_return_if_fail(zathura->plugins.manager != NULL); + + if (dir != NULL) { + girara_list_t* paths = girara_split_path_array(dir); + GIRARA_LIST_FOREACH(paths, char*, iter, path) + zathura_plugin_manager_add_dir(zathura->plugins.manager, path); + GIRARA_LIST_FOREACH_END(paths, char*, iter, path); + girara_list_free(paths); + } else { +#ifdef ZATHURA_PLUGINDIR + girara_list_t* paths = girara_split_path_array(ZATHURA_PLUGINDIR); + GIRARA_LIST_FOREACH(paths, char*, iter, path) + zathura_plugin_manager_add_dir(zathura->plugins.manager, path); + GIRARA_LIST_FOREACH_END(paths, char*, iter, path); + girara_list_free(paths); +#endif + } + +} + +void +zathura_set_synctex_editor_command(zathura_t* zathura, const char* command) +{ + g_return_if_fail(zathura != NULL); + + if (zathura->synctex.editor != NULL) { + g_free(zathura->synctex.editor); + } + + if (command != NULL) { + zathura->synctex.editor = g_strdup(command); + } else { + zathura->synctex.editor = NULL; + } +} + +void +zathura_set_syntex(zathura_t* zathura, bool value) +{ + g_return_if_fail(zathura != NULL); + g_return_if_fail(zathura->ui.session != NULL); + + girara_setting_set(zathura->ui.session, "synctex", &value); +} + +void +zathura_set_argv(zathura_t* zathura, char** argv) +{ + g_return_if_fail(zathura != NULL); + + zathura->global.arguments = argv; +} + static gchar* prepare_document_open_from_stdin(zathura_t* zathura) { @@ -384,8 +399,7 @@ prepare_document_open_from_stdin(zathura_t* zathura) GError* error = NULL; gchar* file = NULL; gint handle = g_file_open_tmp("zathura.stdin.XXXXXX", &file, &error); - if (handle == -1) - { + if (handle == -1) { if (error != NULL) { girara_error("Can not create temporary file: %s", error->message); g_error_free(error); @@ -395,8 +409,7 @@ prepare_document_open_from_stdin(zathura_t* zathura) // read from stdin and dump to temporary file int stdinfno = fileno(stdin); - if (stdinfno == -1) - { + if (stdinfno == -1) { girara_error("Can not read from stdin."); close(handle); g_unlink(file); @@ -406,10 +419,8 @@ prepare_document_open_from_stdin(zathura_t* zathura) char buffer[BUFSIZ]; ssize_t count = 0; - while ((count = read(stdinfno, buffer, BUFSIZ)) > 0) - { - if (write(handle, buffer, count) != count) - { + while ((count = read(stdinfno, buffer, BUFSIZ)) > 0) { + if (write(handle, buffer, count) != count) { girara_error("Can not write to temporary file: %s", file); close(handle); g_unlink(file); @@ -417,10 +428,10 @@ prepare_document_open_from_stdin(zathura_t* zathura) return NULL; } } + close(handle); - if (count != 0) - { + if (count != 0) { girara_error("Can not read from stdin."); g_unlink(file); g_free(file); @@ -494,7 +505,7 @@ document_open(zathura_t* zathura, const char* path, const char* password) unsigned int number_of_pages = zathura_document_get_number_of_pages(document); /* read history file */ - zathura_fileinfo_t file_info = { 0, 0, 1, 0, 1, 0, 0 }; + zathura_fileinfo_t file_info = { 0, 0, 1, 0, 0, 0, 0, 0 }; bool known_file = zathura_db_get_fileinfo(zathura->database, file_path, &file_info); /* set page offset */ @@ -622,14 +633,22 @@ document_open(zathura_t* zathura, const char* path, const char* password) /* view mode */ int pages_per_row = 1; + int first_page_column = 1; if (file_info.pages_per_row > 0) { pages_per_row = file_info.pages_per_row; } else { girara_setting_get(zathura->ui.session, "pages-per-row", &pages_per_row); } + if (file_info.first_page_column > 0) { + first_page_column = file_info.first_page_column; + } else { + girara_setting_get(zathura->ui.session, "first-page-column", &first_page_column); + } + girara_setting_set(zathura->ui.session, "pages-per-row", &pages_per_row); - page_widget_set_mode(zathura, pages_per_row); + girara_setting_set(zathura->ui.session, "first-page-column", &first_page_column); + page_widget_set_mode(zathura, pages_per_row, first_page_column); girara_set_view(zathura->ui.session, zathura->ui.page_widget_alignment); @@ -648,7 +667,15 @@ document_open(zathura_t* zathura, const char* path, const char* password) zathura_bookmarks_load(zathura, file_path); /* update title */ - girara_set_window_title(zathura->ui.session, file_path); + bool basename_only = false; + girara_setting_get(zathura->ui.session, "window-title-basename", &basename_only); + if (basename_only == false) { + girara_set_window_title(zathura->ui.session, file_path); + } else { + char* tmp = g_path_get_basename(file_path); + girara_set_window_title(zathura->ui.session, tmp); + g_free(tmp); + } g_free(file_uri); @@ -679,6 +706,22 @@ error_out: return false; } +void +document_open_idle(zathura_t* zathura, const char* path, const char* password) +{ + if (zathura == NULL || path == NULL) { + return; + } + + zathura_document_info_t* document_info = g_malloc0(sizeof(zathura_document_info_t)); + + document_info->zathura = zathura; + document_info->path = path; + document_info->password = password; + + gdk_threads_add_idle(document_info_open, document_info); +} + bool document_save(zathura_t* zathura, const char* path, bool overwrite) { @@ -750,13 +793,14 @@ document_close(zathura_t* zathura, bool keep_monitor) /* store file information */ const char* path = zathura_document_get_path(zathura->document); - zathura_fileinfo_t file_info = { 0, 0, 1, 0, 1, 0, 0 }; + zathura_fileinfo_t file_info = { 0, 0, 1, 0, 1, 1, 0, 0 }; file_info.current_page = zathura_document_get_current_page_number(zathura->document); file_info.page_offset = zathura_document_get_page_offset(zathura->document); file_info.scale = zathura_document_get_scale(zathura->document); file_info.rotation = zathura_document_get_rotation(zathura->document); girara_setting_get(zathura->ui.session, "pages-per-row", &(file_info.pages_per_row)); + girara_setting_get(zathura->ui.session, "first-page-column", &(file_info.first_page_column)); /* get position */ GtkScrolledWindow *window = GTK_SCROLLED_WINDOW(zathura->ui.session->gtk.view); @@ -884,13 +928,22 @@ statusbar_page_number_update(zathura_t* zathura) } void -page_widget_set_mode(zathura_t* zathura, unsigned int pages_per_row) +page_widget_set_mode(zathura_t* zathura, unsigned int pages_per_row, unsigned int first_page_column) { /* show at least one page */ if (pages_per_row == 0) { pages_per_row = 1; } + /* ensure: 0 < first_page_column <= pages_per_row */ + if (first_page_column < 1) { + first_page_column = 1; + } + + if (first_page_column > pages_per_row) { + first_page_column = ((first_page_column - 1) % pages_per_row) + 1; + } + if (zathura->document == NULL) { return; } @@ -898,15 +951,22 @@ page_widget_set_mode(zathura_t* zathura, unsigned int pages_per_row) gtk_container_foreach(GTK_CONTAINER(zathura->ui.page_widget), remove_page_from_table, (gpointer)0); unsigned int number_of_pages = zathura_document_get_number_of_pages(zathura->document); - gtk_table_resize(GTK_TABLE(zathura->ui.page_widget), ceil(number_of_pages / pages_per_row), pages_per_row); - for (unsigned int i = 0; i < number_of_pages; i++) - { - int x = i % pages_per_row; - int y = i / pages_per_row; +#if (GTK_MAJOR_VERSION == 3) +#else + gtk_table_resize(GTK_TABLE(zathura->ui.page_widget), ceil((number_of_pages + first_page_column - 1) / pages_per_row), pages_per_row); +#endif + + for (unsigned int i = 0; i < number_of_pages; i++) { + int x = (i + first_page_column - 1) % pages_per_row; + int y = (i + first_page_column - 1) / pages_per_row; zathura_page_t* page = zathura_document_get_page(zathura->document, i); GtkWidget* page_widget = zathura_page_get_widget(zathura, page); +#if (GTK_MAJOR_VERSION == 3) + gtk_grid_attach(GTK_GRID(zathura->ui.page_widget), page_widget, x, y, 1, 1); +#else gtk_table_attach(GTK_TABLE(zathura->ui.page_widget), page_widget, x, x + 1, y, y + 1, GTK_SHRINK, GTK_SHRINK, 0, 0); +#endif } gtk_widget_show_all(zathura->ui.page_widget); @@ -926,6 +986,7 @@ gboolean purge_pages(gpointer data) return TRUE; } + girara_debug("purging pages ..."); unsigned int number_of_pages = zathura_document_get_number_of_pages(zathura->document); for (unsigned int page_id = 0; page_id < number_of_pages; page_id++) { zathura_page_t* page = zathura_document_get_page(zathura->document, page_id); diff --git a/zathura.desktop b/zathura.desktop index 57fe73e..64fd6f7 100644 --- a/zathura.desktop +++ b/zathura.desktop @@ -4,6 +4,13 @@ Type=Application Name=Zathura Comment=A minimalistic document viewer Comment[de]=Ein minimalistischer Dokumenten-Betrachter +Comment[fr]=Un visionneur de document minimaliste +Comment[ru]=Минималистичный просмотрщик документов +Comment[tr]=Minimalist bir belge görüntüleyicisi +Comment[es_CL]=Un visor de documentos minimalista +Comment[uk_UA]=Легкий переглядач документів +Comment[it]=Un visualizzatore di documenti minimalista +Comment[pl]=Minimalistyczna przeglądarka dokumentów Exec=zathura %f Terminal=false Categories=Office;Viewer; diff --git a/zathura.h b/zathura.h index 9e40dcb..9aa807c 100644 --- a/zathura.h +++ b/zathura.h @@ -9,6 +9,10 @@ #include "macros.h" #include "types.h" +#if (GTK_MAJOR_VERSION == 3) +#include +#endif + enum { NEXT, PREVIOUS, LEFT, RIGHT, UP, DOWN, BOTTOM, TOP, HIDE, HIGHLIGHT, DELETE_LAST_WORD, DELETE_LAST_CHAR, DEFAULT, ERROR, WARNING, NEXT_GROUP, PREVIOUS_GROUP, ZOOM_IN, ZOOM_OUT, ZOOM_ORIGINAL, ZOOM_SPECIFIC, FORWARD, @@ -66,6 +70,12 @@ struct zathura_s gchar* data_dir; /**< Path to the data directory */ } config; + struct + { + bool enabled; + gchar* editor; + } synctex; + struct { GtkPrintSettings* settings; /**< Print settings */ @@ -74,6 +84,7 @@ struct zathura_s struct { + bool recolor_keep_hue; /**< Keep hue when recoloring */ bool recolor; /**< Recoloring mode switch */ bool update_page_number; /**< Update current page number */ girara_list_t* marks; /**< Marker */ @@ -114,14 +125,20 @@ struct zathura_s } file_monitor; }; +/** + * Creates a zathura session + * + * @return zathura session object or NULL if zathura could not be creeated + */ +zathura_t* zathura_create(void); + /** * Initializes zathura * - * @param argc Number of arguments - * @param argv Values of arguments - * @return zathura session object or NULL if zathura could not been initialized + * @param zathura The zathura session + * @return true if initialization has been successful */ -zathura_t* zathura_init(int argc, char* argv[]); +bool zathura_init(zathura_t* zathura); /** * Free zathura session @@ -130,6 +147,66 @@ zathura_t* zathura_init(int argc, char* argv[]); */ void zathura_free(zathura_t* zathura); +/** + * Set parent window id + * + * @param zathura The zathura session + * @param xid The window id + */ +#if (GTK_MAJOR_VERSION == 2) +void zathura_set_xid(zathura_t* zathura, GdkNativeWindow xid); +#else +void zathura_set_xid(zathura_t* zathura, Window xid); +#endif + +/** + * Set the path to the configuration directory + * + * @param zathura The zathura session + * @param dir Directory path + */ +void zathura_set_config_dir(zathura_t* zathura, const char* dir); + +/** + * Set the path to the data directory + * + * @param zathura The zathura session + * @param dir Directory path + */ +void zathura_set_data_dir(zathura_t* zathura, const char* dir); + +/** + * Set the path to the plugin directory + * + * @param zathura The zathura session + * @param dir Directory path + */ +void zathura_set_plugin_dir(zathura_t* zathura, const char* dir); + +/** + * Enables synctex support and sets the synctex editor command + * + * @param zathura The zathura session + * @param command Synctex editor command + */ +void zathura_set_synctex_editor_command(zathura_t* zathura, const char* command); + +/** + * En/Disable zathuras syntex support + * + * @param zathura The zathura session + * @param value The value + */ +void zathura_set_syntex(zathura_t* zathura, bool value); + +/** + * Sets the program parameters + * + * @param zathura The zathura session + * @param argv List of arguments + */ +void zathura_set_argv(zathura_t* zathura, char** argv); + /** * Opens a file * @@ -141,6 +218,15 @@ void zathura_free(zathura_t* zathura); */ bool document_open(zathura_t* zathura, const char* path, const char* password); +/** + * Opens a file (idle) + * + * @param zathura The zathura session + * @param path The path to the file + * @param password The password of the file + */ +void document_open_idle(zathura_t* zathura, const char* path, const char* password); + /** * Save a open file * @@ -194,8 +280,9 @@ bool position_set_delayed(zathura_t* zathura, double position_x, double position * * @param zathura The zathura session * @param pages_per_row Number of shown pages per row + * @param first_page_column Column on which first page start */ -void page_widget_set_mode(zathura_t* zathura, unsigned int pages_per_row); +void page_widget_set_mode(zathura_t* zathura, unsigned int pages_per_row, unsigned int first_page_column); /** * Updates the page number in the statusbar. Note that 1 will be added to the diff --git a/zathurarc.5.rst b/zathurarc.5.rst index 0c23b35..0994ef9 100644 --- a/zathurarc.5.rst +++ b/zathurarc.5.rst @@ -542,6 +542,13 @@ Defines the number of pages that are rendered next to each other in a row. * Value type: Integer * Default value: 1 +first-page-column +^^^^^^^^^^^^^^^^^ +Defines the column in which the first page will be displayed. + +* Value type: Integer +* Default value: 1 + recolor ^^^^^^^ En/Disables recoloring @@ -549,6 +556,13 @@ En/Disables recoloring * Value type: Boolean * Default value: false +recolor-keephue +^^^^^^^^^^^^^^^ +En/Disables keeping original hue when recoloring + +* Value type: Boolean +* Default value: false + recolor-darkcolor ^^^^^^^^^^^^^^^^^ Defines the color value that is used to represent dark colors in recoloring mode @@ -570,6 +584,13 @@ Defines if the "Loading..." text should be displayed if a page is rendered. * Value type: Boolean * Default value: true +scroll-hstep +^^^^^^^^^^^^ +Defines the horizontal step size of scrolling by calling the scroll command once + +* Value type: Float +* Default value: -1 + scroll-step ^^^^^^^^^^^ Defines the step size of scrolling by calling the scroll command once @@ -584,6 +605,27 @@ Defines if the last/first page should be wrapped * Value type: Boolean * Default value: false +search-hadjust +^^^^^^^^^^^^^^ +En/Disables horizontally centered search results + +* Value type: Boolean +* Default value: true + +window-title-basename +^^^^^^^^^^^^^^^^^^^^^ +Use basename of the file in the window title. + +* Value type: Boolean +* Default value: false + +zoom-center +^^^^^^^^^^^ +En/Disables horizontally centered zooming + +* Value type: Bool +* Default value: False + zoom-max ^^^^^^^^ Defines the maximum percentage that the zoom level can be