diff --git a/.evince.metadata b/.evince.metadata index 20c8239..49ed704 100644 --- a/.evince.metadata +++ b/.evince.metadata @@ -1 +1 @@ -3df7132fd094ddd729a3095011d3fd203bc7c706 SOURCES/evince-3.14.2.tar.xz +7b24678035c50c4ccaf76bdd64e228b1c1912d4b SOURCES/evince-3.22.1.tar.xz diff --git a/.gitignore b/.gitignore index 642e7ac..fdc8e8b 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/evince-3.14.2.tar.xz +SOURCES/evince-3.22.1.tar.xz diff --git a/SOURCES/0001-Resolves-deb-762530-rhbz-1061177-add-man-pages.patch b/SOURCES/0001-Resolves-deb-762530-rhbz-1061177-add-man-pages.patch new file mode 100644 index 0000000..3fa5908 --- /dev/null +++ b/SOURCES/0001-Resolves-deb-762530-rhbz-1061177-add-man-pages.patch @@ -0,0 +1,86 @@ +From 8e20f99f5d73175112b37203ba127519db90aff0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Tue, 10 Jan 2017 15:10:44 +0000 +Subject: [PATCH] Resolves: deb#762530 rhbz#1061177 add man pages + +for evince-previewer and evince-thumbnailer +--- + data/Makefile.am | 2 +- + data/evince-previewer.1 | 24 ++++++++++++++++++++++++ + data/evince-thumbnailer.1 | 20 ++++++++++++++++++++ + 3 files changed, 45 insertions(+), 1 deletion(-) + create mode 100644 data/evince-previewer.1 + create mode 100644 data/evince-thumbnailer.1 + +diff --git a/data/Makefile.am b/data/Makefile.am +index 44fcf33..a45a3cb 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -7,7 +7,7 @@ install-data-local: update-icon-cache + # man file + # + +-man_MANS=evince.1 ++man_MANS=evince.1 evince-previewer.1 evince-thumbnailer.1 + + # + # UI descriptions +diff --git a/data/evince-previewer.1 b/data/evince-previewer.1 +new file mode 100644 +index 0000000..1841509 +--- /dev/null ++++ b/data/evince-previewer.1 +@@ -0,0 +1,24 @@ ++.TH evince\-previewer 1 2015\-07\-28 ++.SH NAME ++evince\-previewer \- show a printing preview of PostScript and PDF documents ++.SH SYNOPSIS ++\fBevince\-previewer\fR [options] \fBinput\fR ++.SH DESCRIPTION ++evince\-previewer is a GNOME program to ++show a printing preview from PostScript (PS), Portable Document Format ++(PDF), DjVu and DVI files. ++.SH OPTIONS ++evince\-previewer obeys all normal GNOME and GTK+ command line options. ++The application options are ++.TP ++\fB\-u, \-\-unlink\-tempfile\fR ++Delete the temporary file ++.TP ++\fB\-p, \-\-print-settings=FILE\fR ++Print settings file ++.SH "SEE ALSO" ++\fBevince\fR(1), ++\fBgnome\-options\fR(7), ++\fBgtk\-options\fR(7). ++.PP ++https://wiki.gnome.org/Apps/Evince +diff --git a/data/evince-thumbnailer.1 b/data/evince-thumbnailer.1 +new file mode 100644 +index 0000000..25ddfec +--- /dev/null ++++ b/data/evince-thumbnailer.1 +@@ -0,0 +1,20 @@ ++.TH evince\-thumbnailer 1 2007\-01\-15 ++.SH NAME ++evince\-thumbnailer \- create png thumbnails from PostScript and PDF documents ++.SH SYNOPSIS ++\fBevince\-thumbnailer\fR [\-s \fBsize\fR] \fBinput\fR \fBoutput\fR ++.SH DESCRIPTION ++evince\-thumbnailer is a GNOME program to ++create thumbnails from PostScript (PS), Portable Document Format ++(PDF), DjVu and DVI files. ++.SH OPTIONS ++evince obeys all normal GNOME and GTK+ ++command line options. The only option \-s \fIsize ++\fRmakes it possible to choose the vertical size ++of the created thumbnail. ++.SH "SEE ALSO" ++\fBevince\fR(1), ++\fBgnome\-options\fR(7), ++\fBgtk\-options\fR(7). ++.PP ++http://www.gnome.org/projects/evince/ +-- +2.9.3 + diff --git a/SOURCES/0001-Resolves-rhbz-1358249-page-up-down.patch b/SOURCES/0001-Resolves-rhbz-1358249-page-up-down.patch new file mode 100644 index 0000000..adc3863 --- /dev/null +++ b/SOURCES/0001-Resolves-rhbz-1358249-page-up-down.patch @@ -0,0 +1,18 @@ +@@ -, +, @@ +--- + shell/ev-application.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) +--- a/shell/ev-application.c ++++ a/shell/ev-application.c +@@ -1066,8 +1066,8 @@ ev_application_startup (GApplication *gapplication) + "win.select-page", "L", NULL, + "win.go-backwards", "Page_Up", NULL, + "win.go-forward", "Page_Down", NULL, +- "win.go-next-page", "n", NULL, +- "win.go-previous-page", "p", NULL, ++ "win.go-next-page", "n", "Page_Down", NULL, ++ "win.go-previous-page", "p", "Page_Up", NULL, + "win.go-back-history", "P", NULL, + "win.go-forward-history", "N", NULL, + "win.sizing-mode::fit-page", "f", NULL, +-- diff --git a/SOURCES/0001-Resolves-rhbz-1404656-crash-on-opening-second-evince.patch b/SOURCES/0001-Resolves-rhbz-1404656-crash-on-opening-second-evince.patch new file mode 100644 index 0000000..7fae308 --- /dev/null +++ b/SOURCES/0001-Resolves-rhbz-1404656-crash-on-opening-second-evince.patch @@ -0,0 +1,77 @@ +From ca83dd9054abdaae93308f27bdf927e050230027 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Tue, 10 Jan 2017 12:04:58 +0000 +Subject: [PATCH] Resolves: rhbz#1404656 crash on opening second evince window + +e.g. + +export G_SLICE=always-malloc +open https://www.antennahouse.com/XSLsample/pdf/sample-link_1.pdf +right click on the first link and open in new window +close the new window +repeat +crash + +This is similar to https://bugzilla.gnome.org/show_bug.cgi?id=726812 +--- + shell/ev-window.c | 34 ++++++++++++++++++++++++---------- + 1 file changed, 24 insertions(+), 10 deletions(-) + +diff --git a/shell/ev-window.c b/shell/ev-window.c +index 11f2fd5..a648ed7 100644 +--- a/shell/ev-window.c ++++ b/shell/ev-window.c +@@ -6666,10 +6666,32 @@ _gtk_css_provider_load_from_resource (GtkCssProvider *provider, + } + + static void ++ev_window_init_css (void) ++{ ++ static gsize initialization_value = 0; ++ ++ if (g_once_init_enter (&initialization_value)) { ++ GtkCssProvider *css_provider; ++ GError *error = NULL; ++ ++ css_provider = gtk_css_provider_new (); ++ _gtk_css_provider_load_from_resource (css_provider, ++ "/org/gnome/evince/ui/evince.css", ++ &error); ++ g_assert_no_error (error); ++ gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), ++ GTK_STYLE_PROVIDER (css_provider), ++ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); ++ g_object_unref (css_provider); ++ ++ g_once_init_leave (&initialization_value, 1); ++ } ++} ++ ++static void + ev_window_init (EvWindow *ev_window) + { + GtkBuilder *builder; +- GtkCssProvider *css_provider; + GError *error = NULL; + GtkWidget *sidebar_widget; + GtkWidget *overlay; +@@ -6748,15 +6770,7 @@ ev_window_init (EvWindow *ev_window) + actions, G_N_ELEMENTS (actions), + ev_window); + +- css_provider = gtk_css_provider_new (); +- _gtk_css_provider_load_from_resource (css_provider, +- "/org/gnome/evince/ui/evince.css", +- &error); +- g_assert_no_error (error); +- gtk_style_context_add_provider_for_screen (gtk_widget_get_screen (GTK_WIDGET (ev_window)), +- GTK_STYLE_PROVIDER (css_provider), +- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); +- g_object_unref (css_provider); ++ ev_window_init_css (); + + ev_window->priv->recent_manager = gtk_recent_manager_get_default (); + +-- +2.9.3 + diff --git a/SOURCES/0001-Revert-Bump-poppler-requirements-to-0.33.0.patch b/SOURCES/0001-Revert-Bump-poppler-requirements-to-0.33.0.patch new file mode 100644 index 0000000..58c10af --- /dev/null +++ b/SOURCES/0001-Revert-Bump-poppler-requirements-to-0.33.0.patch @@ -0,0 +1,55 @@ +From 22b047c3db84a34fc5fb5076474640bcd3917c73 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Fri, 17 Feb 2017 09:28:18 +0000 +Subject: [PATCH] Revert "Bump poppler requirements to 0.33.0" + +This reverts commit 5a4912bdbbf3c8000e77a093cf366276eeb56283. +--- + backend/pdf/ev-poppler.cc | 4 ++++ + configure.ac | 7 ++++++- + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc +index 214094f..f3a6510 100644 +--- a/backend/pdf/ev-poppler.cc ++++ b/backend/pdf/ev-poppler.cc +@@ -3508,7 +3508,11 @@ pdf_document_annotations_save_annotation (EvDocumentAnnotations *document_annota + poppler_rect.y2 = height - ev_rect.y1; + + if (poppler_annot_markup_has_popup (markup)) ++#ifdef HAVE_POPPLER_ANNOT_MARKUP_SET_POPUP_RECTANGLE + poppler_annot_markup_set_popup_rectangle (markup, &poppler_rect); ++#else ++ poppler_annot_markup_set_popup (markup, &poppler_rect); ++#endif + else + poppler_annot_markup_set_popup (markup, &poppler_rect); + } +diff --git a/configure.ac b/configure.ac +index 23a390f..a01392a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -536,7 +536,7 @@ AC_ARG_ENABLE([pdf], + [enable_pdf=yes]) + + if test "x$enable_pdf" = "xyes"; then +- POPPLER_REQUIRED=0.33.0 ++ POPPLER_REQUIRED=0.24.0 + PKG_CHECK_MODULES(POPPLER, poppler-glib >= $POPPLER_REQUIRED libxml-2.0 >= $LIBXML_REQUIRED,enable_pdf=yes,enable_pdf=no) + + if test "x$enable_pdf" = "xyes"; then +@@ -549,6 +549,11 @@ if test "x$enable_pdf" = "xyes"; then + if test x$enable_cairo_ps = xyes; then + AC_DEFINE([HAVE_CAIRO_PS], [1], [defined if cairo-ps is available]) + fi ++ ++ evince_save_LIBS=$LIBS ++ LIBS="$LIBS $POPPLER_LIBS" ++ AC_CHECK_FUNCS(poppler_annot_markup_set_popup_rectangle) ++ LIBS=$evince_save_LIBS + else + AC_MSG_ERROR("PDF support is disabled since poppler-glib library version $POPPLER_REQUIRED or newer not found") + fi +-- +2.9.3 + diff --git a/SOURCES/0001-gnome-692552-don-t-complain-about-inability-to-copy-.patch b/SOURCES/0001-gnome-692552-don-t-complain-about-inability-to-copy-.patch new file mode 100644 index 0000000..16e4d7b --- /dev/null +++ b/SOURCES/0001-gnome-692552-don-t-complain-about-inability-to-copy-.patch @@ -0,0 +1,33 @@ +From 15e7b658315d0a9254e5c2ff7fcc1a15a15dceef Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Fri, 9 Dec 2016 12:09:02 +0000 +Subject: [PATCH] gnome#692552 don't complain about inability to copy metadata + +related rhbz#1022649 + +nautilus just takes the view that copying metadata is a "nice to have", +but if it doesn't work it's not a hard error so just do that +--- + libview/ev-jobs.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/libview/ev-jobs.c b/libview/ev-jobs.c +index dea5aa4..f24808b 100644 +--- a/libview/ev-jobs.c ++++ b/libview/ev-jobs.c +@@ -1574,8 +1574,10 @@ ev_job_save_run (EvJob *job) + ev_tmp_uri_unlink (local_uri); + + /* Copy the metadata from the original file */ +- if (!error) +- ev_file_copy_metadata (job_save->document_uri, job_save->uri, &error); ++ if (!error) { ++ /* Ignore errors here. Failure to copy metadata is not a hard error */ ++ ev_file_copy_metadata (job_save->document_uri, job_save->uri, NULL); ++ } + + if (error) { + ev_job_failed_from_error (job, error); +-- +2.9.3 + diff --git a/SOURCES/evince-3.14.2-annotations-in-the-right-page.patch b/SOURCES/evince-3.14.2-annotations-in-the-right-page.patch deleted file mode 100644 index 2734eeb..0000000 --- a/SOURCES/evince-3.14.2-annotations-in-the-right-page.patch +++ /dev/null @@ -1,73 +0,0 @@ -From e699044575e17f708f428bf0865d13e26fab0f7d Mon Sep 17 00:00:00 2001 -From: Felipe Borges -Date: Tue, 22 Mar 2016 15:15:04 +0100 -Subject: [PATCH] libview: Add annots to the right page - -We were assuming that annots were always added to the current page, -which is not always true in continuous or dual modes. - -https://bugzilla.redhat.com/show_bug.cgi?id=1292195 ---- - libview/ev-view.c | 20 ++++++++++++++------ - 1 file changed, 14 insertions(+), 6 deletions(-) - -diff --git a/libview/ev-view.c b/libview/ev-view.c -index 6098fc0..afea8ed 100644 ---- a/libview/ev-view.c -+++ b/libview/ev-view.c -@@ -3167,17 +3167,25 @@ ev_view_create_annotation (EvView *view, - GdkColor color = { 0, 65535, 65535, 0 }; - GdkRectangle view_rect; - cairo_region_t *region; -+ gint annot_page; -+ gint offset; -+ -+ find_page_at_location (view, x, y, &annot_page, &offset, &offset); -+ if (annot_page == -1) { -+ ev_view_cancel_add_annotation (view); -+ return; -+ } - - point.x = x; - point.y = y; -- ev_view_get_page_extents (view, view->current_page, &page_area, &border); -+ ev_view_get_page_extents (view, annot_page, &page_area, &border); - _ev_view_transform_view_point_to_doc_point (view, &point, &page_area, &border, - &doc_rect.x1, &doc_rect.y1); - doc_rect.x2 = doc_rect.x1 + 24; - doc_rect.y2 = doc_rect.y1 + 24; - - ev_document_doc_mutex_lock (); -- page = ev_document_get_page (view->document, view->current_page); -+ page = ev_document_get_page (view->document, annot_page); - switch (annot_type) { - case EV_ANNOTATION_TYPE_TEXT: - annot = ev_annotation_text_new (page); -@@ -3212,8 +3220,8 @@ ev_view_create_annotation (EvView *view, - ev_document_doc_mutex_unlock (); - - /* If the page didn't have annots, mark the cache as dirty */ -- if (!ev_page_cache_get_annot_mapping (view->page_cache, view->current_page)) -- ev_page_cache_mark_dirty (view->page_cache, view->current_page, EV_PAGE_DATA_INCLUDE_ANNOTS); -+ if (!ev_page_cache_get_annot_mapping (view->page_cache, annot_page)) -+ ev_page_cache_mark_dirty (view->page_cache, annot_page, EV_PAGE_DATA_INCLUDE_ANNOTS); - - if (EV_IS_ANNOTATION_MARKUP (annot)) { - GtkWindow *parent; -@@ -3226,11 +3234,11 @@ ev_view_create_annotation (EvView *view, - ev_view_annotation_show_popup_window (view, window); - } - -- _ev_view_transform_doc_rect_to_view_rect (view, view->current_page, &doc_rect, &view_rect); -+ _ev_view_transform_doc_rect_to_view_rect (view, annot_page, &doc_rect, &view_rect); - view_rect.x -= view->scroll_x; - view_rect.y -= view->scroll_y; - region = cairo_region_create_rectangle (&view_rect); -- ev_view_reload_page (view, view->current_page, region); -+ ev_view_reload_page (view, annot_page, region); - cairo_region_destroy (region); - - g_signal_emit (view, signals[SIGNAL_ANNOT_ADDED], 0, annot); --- -2.5.0 - diff --git a/SOURCES/evince-3.14.2-copy-permissions.patch b/SOURCES/evince-3.14.2-copy-permissions.patch deleted file mode 100644 index 621543d..0000000 --- a/SOURCES/evince-3.14.2-copy-permissions.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d9c747da91f937fb9fda422615860008bb1d3b4c Mon Sep 17 00:00:00 2001 -From: Marek Kasik -Date: Wed, 19 Aug 2015 17:46:34 +0200 -Subject: [PATCH] libdocument: Don't copy permissions from original file - -Consider copy as a new file and use default permissions for it -when saving a copy of opened document. - -https://bugzilla.gnome.org/show_bug.cgi?id=753019 ---- - libdocument/ev-file-helpers.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/libdocument/ev-file-helpers.c b/libdocument/ev-file-helpers.c -index 6691a55..59d7b1e 100644 ---- a/libdocument/ev-file-helpers.c -+++ b/libdocument/ev-file-helpers.c -@@ -456,7 +456,8 @@ ev_file_copy_metadata (const char *from, - target_file = g_file_new_for_uri (to); - - result = g_file_copy_attributes (source_file, target_file, -- G_FILE_COPY_ALL_METADATA, -+ G_FILE_COPY_ALL_METADATA | -+ G_FILE_COPY_TARGET_DEFAULT_PERMS, - NULL, error); - - g_object_unref (target_file); --- -2.4.3 - diff --git a/SOURCES/evince-3.14.2-disable-send-to-when-nautilus-sendto-notfound.patch b/SOURCES/evince-3.14.2-disable-send-to-when-nautilus-sendto-notfound.patch deleted file mode 100644 index 317382d..0000000 --- a/SOURCES/evince-3.14.2-disable-send-to-when-nautilus-sendto-notfound.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6c5330ae9347e021e27b6f2632bab96e0da23730 Mon Sep 17 00:00:00 2001 -From: Cameron Norman -Date: Wed, 4 Feb 2015 15:41:13 +0100 -Subject: Disable send to action when nautilus-sendto is not found - -https://bugzilla.gnome.org/show_bug.cgi?id=743956 ---- - shell/ev-window.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/shell/ev-window.c b/shell/ev-window.c -index 340ff3d..bdd1dfa 100644 ---- a/shell/ev-window.c -+++ b/shell/ev-window.c -@@ -490,6 +490,7 @@ ev_window_update_actions_sensitivity (EvWindow *ev_window) - has_document && !recent_view_mode); - ev_window_set_action_enabled (ev_window, "send-to", has_document && - ev_window->priv->has_mailto_handler && -+ nautilus_sendto && - !recent_view_mode); - ev_window_set_action_enabled (ev_window, "fullscreen", - has_document && !recent_view_mode); --- -cgit v0.12 - diff --git a/SOURCES/evince-3.14.2-force-fixed-size-for-text-annotations.patch b/SOURCES/evince-3.14.2-force-fixed-size-for-text-annotations.patch deleted file mode 100644 index 8fadf63..0000000 --- a/SOURCES/evince-3.14.2-force-fixed-size-for-text-annotations.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 3710f078b9f3df433489ca3da6f8182e1dc8520c Mon Sep 17 00:00:00 2001 -From: Philipp Reinkemeier -Date: Thu, 4 Jun 2015 15:02:23 +0200 -Subject: pdf: Force text annotations to have a fixed size 24x24 - -Some tools create pdf text annotations with a /Rect field, whose -volume is very small or zero. Nevertheless, one expects tool-tips -when hovering them, or popup windows to appear when clicking them. -This patch forces a fixed size for text annotations equal to the size -of their icons. - -https://bugzilla.gnome.org/show_bug.cgi?id=685334 ---- - backend/pdf/ev-poppler.cc | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - -diff --git a/backend/pdf/ev-poppler.cc b/backend/pdf/ev-poppler.cc -index e04ce01..56a29c5 100644 ---- a/backend/pdf/ev-poppler.cc -+++ b/backend/pdf/ev-poppler.cc -@@ -3102,10 +3102,18 @@ pdf_document_annotations_get_annotations (EvDocumentAnnotations *document_annota - annot_set_unique_name (ev_annot); - - annot_mapping = g_new (EvMapping, 1); -- annot_mapping->area.x1 = mapping->area.x1; -- annot_mapping->area.x2 = mapping->area.x2; -- annot_mapping->area.y1 = height - mapping->area.y2; -- annot_mapping->area.y2 = height - mapping->area.y1; -+ if (EV_IS_ANNOTATION_TEXT (ev_annot)) { -+ /* Force 24x24 rectangle */ -+ annot_mapping->area.x1 = mapping->area.x1; -+ annot_mapping->area.x2 = annot_mapping->area.x1 + 24; -+ annot_mapping->area.y1 = height - mapping->area.y2; -+ annot_mapping->area.y2 = MIN(height, annot_mapping->area.y1 + 24); -+ } else { -+ annot_mapping->area.x1 = mapping->area.x1; -+ annot_mapping->area.x2 = mapping->area.x2; -+ annot_mapping->area.y1 = height - mapping->area.y2; -+ annot_mapping->area.y2 = height - mapping->area.y1; -+ } - annot_mapping->data = ev_annot; - - g_object_set_data_full (G_OBJECT (ev_annot), --- -cgit v0.12 - diff --git a/SOURCES/evince-3.14.2-handle-gtk-scroll-start-end-in-fit-to-page-mode.patch b/SOURCES/evince-3.14.2-handle-gtk-scroll-start-end-in-fit-to-page-mode.patch deleted file mode 100644 index 01f1639..0000000 --- a/SOURCES/evince-3.14.2-handle-gtk-scroll-start-end-in-fit-to-page-mode.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 932e9fc69d0e74d6412b9771f00dae5a10fc35f0 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Sat, 13 Jun 2015 10:18:07 +0200 -Subject: libview: Handle GTK_SCROLL_START/GTK_SCROLL_END also in fit-to-page - mode - -https://bugzilla.gnome.org/show_bug.cgi?id=737996 ---- - libview/ev-view.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/libview/ev-view.c b/libview/ev-view.c -index 6ca569f..9e5e0e0 100644 ---- a/libview/ev-view.c -+++ b/libview/ev-view.c -@@ -1006,6 +1006,12 @@ ev_view_scroll (EvView *view, - case GTK_SCROLL_STEP_FORWARD: - ev_view_next_page (view); - break; -+ case GTK_SCROLL_START: -+ ev_view_first_page (view); -+ break; -+ case GTK_SCROLL_END: -+ ev_view_last_page (view); -+ break; - default: - break; - } --- -cgit v0.12 - diff --git a/SOURCES/evince-3.14.2-ko-translations.patch b/SOURCES/evince-3.14.2-ko-translations.patch deleted file mode 100644 index 5335860..0000000 --- a/SOURCES/evince-3.14.2-ko-translations.patch +++ /dev/null @@ -1,107 +0,0 @@ -diff -urN evince-3.14.2/po/ko.po evince-3.14.2_localized/po/ko.po ---- evince-3.14.2/po/ko.po 2016-06-19 10:38:54.901590504 +0530 -+++ evince-3.14.2_localized/po/ko.po 2016-06-19 10:39:05.345589673 +0530 -@@ -7,6 +7,7 @@ - # - # 주의: - # - Evince는 "에빈스"로 음역 -+# eukim , 2016. #zanata - # pnemade , 2016. #zanata - msgid "" - msgstr "" -@@ -16,8 +17,8 @@ - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" --"PO-Revision-Date: 2014-10-01 04:00+0000\n" --"Last-Translator: Changwoo Ryu \n" -+"PO-Revision-Date: 2016-05-24 01:40+0000\n" -+"Last-Translator: eukim \n" - "Language-Team: GNOME Korea \n" - "Language: ko\n" - "Plural-Forms: nplurals=1; plural=0;\n" -@@ -282,7 +283,7 @@ - #: ../cut-n-paste/smclient/eggdesktopfile.c:165 - #, c-format - msgid "File is not a valid .desktop file" --msgstr "" -+msgstr "올바른 .desktop 파일이 아닙니다" - - #. translators: 'Version' is from a desktop file, and - #. * should not be translated. '%s' would probably be a -@@ -290,62 +291,62 @@ - #: ../cut-n-paste/smclient/eggdesktopfile.c:191 - #, c-format - msgid "Unrecognized desktop file Version '%s'" --msgstr "" -+msgstr "desktop 파일 버전을 ('%s') 인식할 수 없습니다" - - #: ../cut-n-paste/smclient/eggdesktopfile.c:974 - #, c-format - msgid "Starting %s" --msgstr "" -+msgstr "%s 시작중" - - #: ../cut-n-paste/smclient/eggdesktopfile.c:1116 - #, c-format - msgid "Application does not accept documents on command line" --msgstr "" -+msgstr "명령행에서 문서를 지정할 수 없는 프로그램입니다" - - #: ../cut-n-paste/smclient/eggdesktopfile.c:1184 - #, c-format - msgid "Unrecognized launch option: %d" --msgstr "" -+msgstr "알 수 없는 실행 옵션: %d" - - #. translators: The 'Type=Link' string is found in a - #. * desktop file, and should not be translated. - #: ../cut-n-paste/smclient/eggdesktopfile.c:1391 - #, c-format - msgid "Can't pass document URIs to a 'Type=Link' desktop entry" --msgstr "" -+msgstr "문서 URI를 'Type=Link' desktop 항목에 전달할 수 없습니다" - - #: ../cut-n-paste/smclient/eggdesktopfile.c:1412 - #, c-format - msgid "Not a launchable item" --msgstr "" -+msgstr "실행할 수 있는 항목이 아닙니다" - - #: ../cut-n-paste/smclient/eggsmclient.c:226 - msgid "Disable connection to session manager" --msgstr "" -+msgstr "세션 관리자에 연결하지 않습니다" - - #: ../cut-n-paste/smclient/eggsmclient.c:229 - msgid "Specify file containing saved configuration" --msgstr "" -+msgstr "설정이 저장된 파일을 지정합니다" - - #: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 - msgid "FILE" --msgstr "<파일>" -+msgstr "파일" - - #: ../cut-n-paste/smclient/eggsmclient.c:232 - msgid "Specify session management ID" --msgstr "" -+msgstr "세션 관리 ID를 지정합니다" - - #: ../cut-n-paste/smclient/eggsmclient.c:232 - msgid "ID" --msgstr "" -+msgstr "ID" - - #: ../cut-n-paste/smclient/eggsmclient.c:253 - msgid "Session management options:" --msgstr "" -+msgstr "세션 관리 옵션:" - - #: ../cut-n-paste/smclient/eggsmclient.c:254 - msgid "Show session management options" --msgstr "" -+msgstr "세션 관리 옵션을 표시합니다" - - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 diff --git a/SOURCES/evince-3.14.2-make-annotation-notes-selectable.patch b/SOURCES/evince-3.14.2-make-annotation-notes-selectable.patch deleted file mode 100644 index a19e47c..0000000 --- a/SOURCES/evince-3.14.2-make-annotation-notes-selectable.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 91ac78bc587eb2ac931136c9da9609b142410209 Mon Sep 17 00:00:00 2001 -From: Giselle Reis -Date: Wed, 29 Jul 2015 22:19:36 +0200 -Subject: Selecting text from annotation notes - -Clicking and dragging the mouse inside an -annotation note should select the text. Clicking -and dragging the mouse on the title bar should -move the window. - -This commit fixes -https://bugzilla.gnome.org/show_bug.cgi?id=749727 ---- - libview/ev-annotation-window.c | 55 ++++++++++++++++++++++++------------------ - 1 file changed, 32 insertions(+), 23 deletions(-) - -diff --git a/libview/ev-annotation-window.c b/libview/ev-annotation-window.c -index ee002ce..9d66ec9 100644 ---- a/libview/ev-annotation-window.c -+++ b/libview/ev-annotation-window.c -@@ -275,12 +275,34 @@ ev_annotation_window_close (EvAnnotationWindow *window) - g_signal_emit (window, signals[CLOSED], 0); - } - -+static gboolean -+ev_annotation_window_button_press_event (GtkWidget *widget, -+ GdkEventButton *event) -+{ -+ EvAnnotationWindow *window = EV_ANNOTATION_WINDOW (widget); -+ -+ if (event->type == GDK_BUTTON_PRESS && event->button == 1) { -+ window->in_move = TRUE; -+ window->x = event->x_root - event->x; -+ window->y = event->y_root - event->y; -+ gtk_window_begin_move_drag (GTK_WINDOW (widget), -+ event->button, -+ event->x_root, -+ event->y_root, -+ event->time); -+ return TRUE; -+ } -+ -+ return FALSE; -+} -+ - static void - ev_annotation_window_init (EvAnnotationWindow *window) - { - GtkWidget *vbox, *hbox; - GtkWidget *icon; - GtkWidget *swindow; -+ GtkWidget *header; - GtkIconTheme *icon_theme; - GdkPixbuf *pixbuf; - -@@ -297,10 +319,19 @@ ev_annotation_window_init (EvAnnotationWindow *window) - gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0); - gtk_widget_show (icon); - -+ header = gtk_event_box_new (); -+ gtk_widget_add_events (header, GDK_BUTTON_PRESS_MASK); -+ g_signal_connect_swapped (header, "button-press-event", -+ G_CALLBACK (ev_annotation_window_button_press_event), -+ window); -+ - window->title = gtk_label_new (NULL); -- gtk_box_pack_start (GTK_BOX (hbox), window->title, TRUE, TRUE, 0); -+ gtk_container_add (GTK_CONTAINER (header), window->title); - gtk_widget_show (window->title); - -+ gtk_box_pack_start (GTK_BOX (hbox), header, TRUE, TRUE, 0); -+ gtk_widget_show (header); -+ - window->close_button = gtk_button_new (); - gtk_button_set_relief (GTK_BUTTON (window->close_button), GTK_RELIEF_NONE); - gtk_container_set_border_width (GTK_CONTAINER (window->close_button), 0); -@@ -461,27 +492,6 @@ ev_annotation_window_constructor (GType type, - } - - static gboolean --ev_annotation_window_button_press_event (GtkWidget *widget, -- GdkEventButton *event) --{ -- EvAnnotationWindow *window = EV_ANNOTATION_WINDOW (widget); -- -- if (event->type == GDK_BUTTON_PRESS && event->button == 1) { -- window->in_move = TRUE; -- window->x = event->x_root - event->x; -- window->y = event->y_root - event->y; -- gtk_window_begin_move_drag (GTK_WINDOW (widget), -- event->button, -- event->x_root, -- event->y_root, -- event->time); -- return TRUE; -- } -- -- return FALSE; --} -- --static gboolean - ev_annotation_window_configure_event (GtkWidget *widget, - GdkEventConfigure *event) - { -@@ -539,7 +549,6 @@ ev_annotation_window_class_init (EvAnnotationWindowClass *klass) - g_object_class->set_property = ev_annotation_window_set_property; - g_object_class->dispose = ev_annotation_window_dispose; - -- gtk_widget_class->button_press_event = ev_annotation_window_button_press_event; - gtk_widget_class->configure_event = ev_annotation_window_configure_event; - gtk_widget_class->focus_in_event = ev_annotation_window_focus_in_event; - gtk_widget_class->focus_out_event = ev_annotation_window_focus_out_event; --- -cgit v0.12 - diff --git a/SOURCES/evince-3.14.2-prevent-view-from-jumping.patch b/SOURCES/evince-3.14.2-prevent-view-from-jumping.patch deleted file mode 100644 index 21537f0..0000000 --- a/SOURCES/evince-3.14.2-prevent-view-from-jumping.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 0d5846e1e2e5c0373c171ac23838cd54b0750326 Mon Sep 17 00:00:00 2001 -From: Carlos Garcia Campos -Date: Thu, 4 Jun 2015 12:04:01 +0200 -Subject: [PATCH] libview: Only try to move the focus to different page when - the current page has a focused element - -This prevents the view from jumping to the first/last page when there -are not focusable elements. - -https://bugzilla.gnome.org/show_bug.cgi?id=741979 ---- - libview/ev-view.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/libview/ev-view.c b/libview/ev-view.c -index a9159cd..6098fc0 100644 ---- a/libview/ev-view.c -+++ b/libview/ev-view.c -@@ -6814,6 +6814,7 @@ ev_view_focus_next (EvView *view, - { - EvMapping *focus_element; - GList *elements; -+ gboolean had_focused_element; - - if (view->focused_element) { - GList *l; -@@ -6822,9 +6823,11 @@ ev_view_focus_next (EvView *view, - l = g_list_find (elements, view->focused_element); - l = g_list_next (l); - focus_element = l ? l->data : NULL; -+ had_focused_element = TRUE; - } else { - elements = ev_view_get_sorted_mapping_list (view, direction, view->current_page); - focus_element = elements ? elements->data : NULL; -+ had_focused_element = FALSE; - } - - g_list_free (elements); -@@ -6839,6 +6842,13 @@ ev_view_focus_next (EvView *view, - ev_view_remove_all (view); - _ev_view_set_focused_element (view, NULL, -1); - -+ /* Only try to move the focus to next/previous pages when the current page had -+ * a focused element. This prevents the view from jumping to the first/last page -+ * when there are not focusable elements. -+ */ -+ if (!had_focused_element) -+ return FALSE; -+ - /* FIXME: this doesn't work if the next/previous page doesn't have form fields */ - if (direction == GTK_DIR_TAB_FORWARD) { - if (ev_view_next_page (view)) { --- -2.5.0 - diff --git a/SOURCES/evince-3.14.2-previous-next-page-buttons-sensitivity.patch b/SOURCES/evince-3.14.2-previous-next-page-buttons-sensitivity.patch deleted file mode 100644 index 04032ae..0000000 --- a/SOURCES/evince-3.14.2-previous-next-page-buttons-sensitivity.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a671eb08a98dd8e4637567949af281ce4b7c5496 Mon Sep 17 00:00:00 2001 -From: Robert Roth -Date: Sun, 15 Mar 2015 20:39:25 +0200 -Subject: previewer: Enable/disable page navigation based on current page - -https://bugzilla.gnome.org/show_bug.cgi?id=745840 ---- - previewer/ev-previewer-window.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/previewer/ev-previewer-window.c b/previewer/ev-previewer-window.c -index dd34f25..ff2c42c 100644 ---- a/previewer/ev-previewer-window.c -+++ b/previewer/ev-previewer-window.c -@@ -334,6 +334,22 @@ view_focus_changed (GtkWidget *widget, - } - - static void -+model_page_changed (EvDocumentModel* model, -+ gint old_page, -+ gint new_page, -+ EvPreviewerWindow *window) -+{ -+ GtkAction *action; -+ gint n_pages = ev_document_get_n_pages (ev_document_model_get_document (window->model)); -+ -+ action = gtk_action_group_get_action (window->action_group, "GoPreviousPage"); -+ gtk_action_set_sensitive (GTK_ACTION (action), new_page > 0 ); -+ -+ action = gtk_action_group_get_action (window->action_group, "GoNextPage"); -+ gtk_action_set_sensitive (GTK_ACTION (action), new_page < n_pages - 1); -+} -+ -+static void - view_sizing_mode_changed (EvDocumentModel *model, - GParamSpec *pspec, - EvPreviewerWindow *window) -@@ -599,6 +615,10 @@ ev_previewer_window_constructor (GType type, - ev_view_set_model (window->view, window->model); - ev_document_model_set_continuous (window->model, FALSE); - -+ g_signal_connect_object (window->model, "page-changed", -+ G_CALLBACK (model_page_changed), -+ window, 0); -+ - gtk_container_add (GTK_CONTAINER (window->swindow), GTK_WIDGET (window->view)); - gtk_widget_show (GTK_WIDGET (window->view)); - --- -cgit v0.12 - diff --git a/SOURCES/evince-3.14.2-printing-check-for-failed-rendering-jobs.patch b/SOURCES/evince-3.14.2-printing-check-for-failed-rendering-jobs.patch deleted file mode 100644 index b842069..0000000 --- a/SOURCES/evince-3.14.2-printing-check-for-failed-rendering-jobs.patch +++ /dev/null @@ -1,135 +0,0 @@ -From f93a84c015a53f6fa89f2af04ad004631d8b7442 Mon Sep 17 00:00:00 2001 -From: Marek Kasik -Date: Wed, 11 Feb 2015 12:13:40 +0100 -Subject: Check for failed rendering jobs - -Check whether creating of thumbnails for sidebar, thumbnails for recent view -or rendering of document itself failed to avoid crashes. - -https://bugzilla.gnome.org/show_bug.cgi?id=744049 - -https://bugzilla.gnome.org/show_bug.cgi?id=744586 ---- - libdocument/ev-document.c | 8 +++++--- - libview/ev-jobs.c | 26 +++++++++++++++++++++++++- - libview/ev-pixbuf-cache.c | 6 ++++++ - shell/ev-recent-view.c | 3 ++- - shell/ev-sidebar-thumbnails.c | 5 +++++ - 5 files changed, 43 insertions(+), 5 deletions(-) - -diff --git a/libdocument/ev-document.c b/libdocument/ev-document.c -index 6c2f1b9..6af0ad7 100644 ---- a/libdocument/ev-document.c -+++ b/libdocument/ev-document.c -@@ -724,11 +724,13 @@ _ev_document_get_thumbnail (EvDocument *document, - EvRenderContext *rc) - { - cairo_surface_t *surface; -- GdkPixbuf *pixbuf; -+ GdkPixbuf *pixbuf = NULL; - - surface = ev_document_render (document, rc); -- pixbuf = ev_document_misc_pixbuf_from_surface (surface); -- cairo_surface_destroy (surface); -+ if (surface != NULL) { -+ pixbuf = ev_document_misc_pixbuf_from_surface (surface); -+ cairo_surface_destroy (surface); -+ } - - return pixbuf; - } -diff --git a/libview/ev-jobs.c b/libview/ev-jobs.c -index 3337276..d338666 100644 ---- a/libview/ev-jobs.c -+++ b/libview/ev-jobs.c -@@ -637,6 +637,21 @@ ev_job_render_run (EvJob *job) - g_object_unref (ev_page); - - job_render->surface = ev_document_render (job->document, rc); -+ -+ if (job_render->surface == NULL) { -+ ev_document_fc_mutex_unlock (); -+ ev_document_doc_mutex_unlock (); -+ g_object_unref (rc); -+ -+ ev_job_failed (job, -+ EV_DOCUMENT_ERROR, -+ EV_DOCUMENT_ERROR_INVALID, -+ _("Failed to render page %d"), -+ job_render->page); -+ -+ return FALSE; -+ } -+ - /* If job was cancelled during the page rendering, - * we return now, so that the thread is finished ASAP - */ -@@ -873,7 +888,16 @@ ev_job_thumbnail_run (EvJob *job) - g_object_unref (pixbuf); - } - -- ev_job_succeeded (job); -+ if ((job_thumb->format == EV_JOB_THUMBNAIL_PIXBUF && pixbuf == NULL) || -+ job_thumb->thumbnail_surface == NULL) { -+ ev_job_failed (job, -+ EV_DOCUMENT_ERROR, -+ EV_DOCUMENT_ERROR_INVALID, -+ _("Failed to create thumbnail for page %d"), -+ job_thumb->page); -+ } else { -+ ev_job_succeeded (job); -+ } - - return FALSE; - } -diff --git a/libview/ev-pixbuf-cache.c b/libview/ev-pixbuf-cache.c -index f308c9c..c7ae47a 100644 ---- a/libview/ev-pixbuf-cache.c -+++ b/libview/ev-pixbuf-cache.c -@@ -337,6 +337,12 @@ job_finished_cb (EvJob *job, - - job_info = find_job_cache (pixbuf_cache, job_render->page); - -+ if (ev_job_is_failed (job)) { -+ job_info->job = NULL; -+ g_object_unref (job); -+ return; -+ } -+ - copy_job_to_job_info (job_render, job_info, pixbuf_cache); - g_signal_emit (pixbuf_cache, signals[JOB_FINISHED], 0, job_info->region); - } -diff --git a/shell/ev-recent-view.c b/shell/ev-recent-view.c -index facea47..2dabf86 100644 ---- a/shell/ev-recent-view.c -+++ b/shell/ev-recent-view.c -@@ -350,7 +350,8 @@ static void - thumbnail_job_completed_callback (EvJobThumbnail *job, - GetDocumentInfoAsyncData *data) - { -- if (g_cancellable_is_cancelled (data->cancellable)) { -+ if (g_cancellable_is_cancelled (data->cancellable) || -+ ev_job_is_failed (EV_JOB (job))) { - get_document_info_async_data_free (data); - return; - } -diff --git a/shell/ev-sidebar-thumbnails.c b/shell/ev-sidebar-thumbnails.c -index 78b4b31..9374034 100644 ---- a/shell/ev-sidebar-thumbnails.c -+++ b/shell/ev-sidebar-thumbnails.c -@@ -934,7 +934,12 @@ thumbnail_job_completed_callback (EvJobThumbnail *job, - cairo_surface_t *surface; - #ifdef HAVE_HIDPI_SUPPORT - gint device_scale; -+#endif -+ -+ if (ev_job_is_failed (EV_JOB (job))) -+ return; - -+#ifdef HAVE_HIDPI_SUPPORT - device_scale = gtk_widget_get_scale_factor (widget); - cairo_surface_set_device_scale (job->thumbnail_surface, device_scale, device_scale); - #endif --- -cgit v0.12 - diff --git a/SOURCES/evince-3.14.2-printing-dont-save-number-of-copies.patch b/SOURCES/evince-3.14.2-printing-dont-save-number-of-copies.patch deleted file mode 100644 index c0f2f32..0000000 --- a/SOURCES/evince-3.14.2-printing-dont-save-number-of-copies.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 5e8cb5a359db432722e0928d15a45e2f1b007dd9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jos=C3=A9=20Aliste?= -Date: Tue, 28 Apr 2015 00:07:54 -0300 -Subject: shell: Never save n-copies in the print-settings file - -By default gtk_print_settings_to_key_file save all settings. When fixing -https://bugzilla.gnome.org/show_bug.cgi?id=696203 we re-introduced -https://bugzilla.gnome.org/show_bug.cgi?id=488806 for the number of copies. -This happens because the code that saves the document print settings in the evince -metadata deletes the document print settings from the key file. Thus, -the fix for bug #696203 is not stricty correct because we still -need to delete n-copies from the key_file. This patch fixes that. - -https://bugzilla.gnome.org/show_bug.cgi?id=748549 ---- - shell/ev-window.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/shell/ev-window.c b/shell/ev-window.c -index f9802ae..ea61de7 100644 ---- a/shell/ev-window.c -+++ b/shell/ev-window.c -@@ -3060,6 +3060,9 @@ ev_window_save_print_settings (EvWindow *window, - key_file = get_print_settings_file (); - gtk_print_settings_to_key_file (print_settings, key_file, EV_PRINT_SETTINGS_GROUP); - -+ /* Always Remove n_copies from global settings */ -+ g_key_file_remove_key (key_file, EV_PRINT_SETTINGS_GROUP, GTK_PRINT_SETTINGS_N_COPIES, NULL); -+ - /* Save print settings that are specific to the document */ - for (i = 0; i < G_N_ELEMENTS (document_print_settings); i++) { - /* Remove it from global settings */ --- -cgit v0.12 - diff --git a/SOURCES/evince-3.14.2-scroll.patch b/SOURCES/evince-3.14.2-scroll.patch deleted file mode 100644 index 265bbc9..0000000 --- a/SOURCES/evince-3.14.2-scroll.patch +++ /dev/null @@ -1,169 +0,0 @@ -From 511ab26917ed9e856ebbc8f764a5b68613ebc1cd Mon Sep 17 00:00:00 2001 -From: Marek Kasik -Date: Mon, 9 May 2016 12:57:20 +0200 -Subject: [PATCH] libview: Scroll small pages in non-continuous mode - -Check whether currently shown page fits actual view and allow user to scroll -to previous/next page in that case (also in Dual page mode). -Allow also scrolling if only one axis fits the view and the event -happenned in the same axis. - -https://bugzilla.gnome.org/show_bug.cgi?id=562257 ---- - libview/ev-view.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 83 insertions(+), 14 deletions(-) - -diff --git a/libview/ev-view.c b/libview/ev-view.c -index f76eca8..f96ad4b 100644 ---- a/libview/ev-view.c -+++ b/libview/ev-view.c -@@ -247,6 +247,8 @@ static void ev_view_zoom_for_size_dual_page (EvView *view, - static void ev_view_zoom_for_size_single_page (EvView *view, - int width, - int height); -+static gboolean ev_view_page_fits (EvView *view, -+ GtkOrientation orientation); - /*** Cursors ***/ - static void ev_view_set_cursor (EvView *view, - EvViewCursor new_cursor); -@@ -973,7 +998,8 @@ ev_view_scroll (EvView *view, - - view->jump_to_find_result = FALSE; - -- if (view->sizing_mode == EV_SIZING_FIT_PAGE) { -+ if ((!horizontal && ev_view_page_fits (view, GTK_ORIENTATION_VERTICAL)) || -+ (horizontal && ev_view_page_fits (view, GTK_ORIENTATION_HORIZONTAL))) { - switch (scroll) { - case GTK_SCROLL_PAGE_BACKWARD: - case GTK_SCROLL_STEP_BACKWARD: -@@ -3972,6 +4116,7 @@ ev_view_scroll_event (GtkWidget *widget, GdkEventScroll *event) - { - EvView *view = EV_VIEW (widget); - guint state; -+ gboolean fit_width, fit_height; - - state = event->state & gtk_accelerator_get_default_mod_mask (); - -@@ -4026,34 +4174,57 @@ ev_view_scroll_event (GtkWidget *widget, GdkEventScroll *event) - state &= ~GDK_SHIFT_MASK; - } - -- if (state == 0 && view->sizing_mode == EV_SIZING_FIT_PAGE && !view->continuous) { -+ fit_width = ev_view_page_fits (view, GTK_ORIENTATION_HORIZONTAL); -+ fit_height = ev_view_page_fits (view, GTK_ORIENTATION_VERTICAL); -+ if (state == 0 && !view->continuous && (fit_width || fit_height)) { - switch (event->direction) { - case GDK_SCROLL_DOWN: -+ if (fit_height) { -+ ev_view_next_page (view); -+ return TRUE; -+ } -+ break; - case GDK_SCROLL_RIGHT: -- ev_view_next_page (view); -+ if (fit_width) { -+ ev_view_next_page (view); -+ return TRUE; -+ } - break; - case GDK_SCROLL_UP: -+ if (fit_height) { -+ ev_view_previous_page (view); -+ return TRUE; -+ } -+ break; - case GDK_SCROLL_LEFT: -- ev_view_previous_page (view); -+ if (fit_width) { -+ ev_view_previous_page (view); -+ return TRUE; -+ } - break; - case GDK_SCROLL_SMOOTH: { - gdouble decrement; -+ if ((fit_width && fit_height) || -+ ((fit_height && event->delta_x == 0.0) || -+ (fit_width && event->delta_y == 0.0))) { -+ /* Emulate normal scrolling by summing the deltas */ -+ view->total_delta += event->delta_x + event->delta_y; -+ -+ decrement = view->total_delta < 0 ? -1.0 : 1.0; -+ for (; fabs (view->total_delta) >= 1.0; view->total_delta -= decrement) { -+ if (decrement < 0) -+ ev_view_previous_page (view); -+ else -+ ev_view_next_page (view); -+ } - -- /* Emulate normal scrolling by summing the deltas */ -- view->total_delta += event->delta_x + event->delta_y; -- -- decrement = view->total_delta < 0 ? -1.0 : 1.0; -- for (; fabs (view->total_delta) >= 1.0; view->total_delta -= decrement) { -- if (decrement < 0) -- ev_view_previous_page (view); -- else -- ev_view_next_page (view); -+ return TRUE; - } - } - break; - } - -- return TRUE; -+ return FALSE; - } - - return FALSE; -@@ -8111,6 +8571,48 @@ ev_view_zoom_for_size (EvView *view, - ev_view_zoom_for_size_single_page (view, width, height); - } - -+static gboolean -+ev_view_page_fits (EvView *view, -+ GtkOrientation orientation) -+{ -+ GtkRequisition requisition; -+ GtkAllocation allocation; -+ double size; -+ -+ if (view->sizing_mode == EV_SIZING_FIT_PAGE) -+ return TRUE; -+ -+ if (orientation == GTK_ORIENTATION_HORIZONTAL && -+ (view->sizing_mode == EV_SIZING_FIT_WIDTH || -+ view->sizing_mode == EV_SIZING_AUTOMATIC)) -+ return TRUE; -+ -+ gtk_widget_get_allocation (GTK_WIDGET (view), &allocation); -+ ev_view_size_request (GTK_WIDGET (view), &requisition); -+ -+ if (orientation == GTK_ORIENTATION_HORIZONTAL) { -+ if (requisition.width == 1) { -+ size = 1.0; -+ } else { -+ if (allocation.width > 0.0) -+ size = (double) requisition.width / allocation.width; -+ else -+ size = 1.0; -+ } -+ } else { -+ if (requisition.height == 1) { -+ size = 1.0; -+ } else { -+ if (allocation.height > 0.0) -+ size = (double) requisition.height / allocation.height; -+ else -+ size = 1.0; -+ } -+ } -+ -+ return size <= 1.0; -+} -+ - /*** Find ***/ - static gint - ev_view_find_get_n_results (EvView *view, gint page) --- -2.7.4 - diff --git a/SOURCES/evince-3.14.2-set-correct-scale.patch b/SOURCES/evince-3.14.2-set-correct-scale.patch deleted file mode 100644 index 3bccc01..0000000 --- a/SOURCES/evince-3.14.2-set-correct-scale.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/backend/ps/ev-spectre.c b/backend/ps/ev-spectre.c -index 265fed3..96aaccb 100644 ---- a/backend/ps/ev-spectre.c -+++ b/backend/ps/ev-spectre.c -@@ -294,20 +294,32 @@ ps_document_render (EvDocument *document, - gint rotation; - cairo_surface_t *surface; - static const cairo_user_data_key_t key; -+ double x_scale, y_scale, scale; - - ps_page = (SpectrePage *)rc->page->backend_page; - - spectre_page_get_size (ps_page, &width_points, &height_points); - -- ev_render_context_compute_scaled_size (rc, width_points, height_points, -- &width, &height); -- - rotation = (rc->rotation + get_page_rotation (ps_page)) % 360; - -+ if (rc->target_width >= 0 && rc->target_height >= 0) { -+ if (rotation == 90 || rotation == 270) { -+ x_scale = (double) rc->target_height / width_points; -+ y_scale = (double) rc->target_width / height_points; -+ } else { -+ x_scale = (double) rc->target_width / width_points; -+ y_scale = (double) rc->target_height / height_points; -+ } -+ scale = MIN (x_scale, y_scale); -+ } else { -+ scale = rc->scale; -+ } -+ -+ width = (int) (width_points * scale + 0.5); -+ height = (int) (height_points * scale + 0.5); -+ - src = spectre_render_context_new (); -- spectre_render_context_set_scale (src, -- (gdouble)width / width_points, -- (gdouble)height / height_points); -+ spectre_render_context_set_scale (src, scale, scale); - spectre_render_context_set_rotation (src, rotation); - spectre_page_render (ps_page, src, &data, &stride); - spectre_render_context_free (src); diff --git a/SOURCES/evince-3.14.2-smclient.patch b/SOURCES/evince-3.14.2-smclient.patch deleted file mode 100644 index b1b26af..0000000 --- a/SOURCES/evince-3.14.2-smclient.patch +++ /dev/null @@ -1,4829 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index d6ca0c6..45023be 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -229,6 +229,46 @@ if test -z "$GDBUS_CODEGEN"; then - AC_MSG_ERROR([gdbus-codegen not found]) - fi - -+# ********* -+# SM client -+# ********* -+ -+GDK_TARGET="$($PKG_CONFIG --variable targets gdk-3.0)" -+ -+AC_MSG_CHECKING([which smclient backend to use]) -+AC_ARG_WITH([smclient], -+ [AS_HELP_STRING([--with-smclient-backend=no|xsmp|win32|quartz], -+ [Setting smclient backend (default:auto)])], -+ [], -+ [case "$GDK_TARGET" in -+ x11*) case "$with_platform" in -+ gnome) with_smclient=xsmp ;; -+ *) with_smclient=no ;; -+ esac ;; -+ win32|quartz) with_smclient=$GDK_TARGET ;; -+ *) with_smclient=no ;; -+ esac]) -+ -+AC_MSG_RESULT([$with_smclient]) -+ -+if test "$with_smclient" != "no"; then -+ AC_DEFINE([WITH_SMCLIENT],[1],[Define if smclient is enabled]) -+ -+ case "$with_smclient" in -+ xsmp) SMCLIENT_PKGS="sm >= 1.0.0 ice x11" ;; -+ *) SMCLIENT_PKGS="" ;; -+ esac -+ -+ PKG_CHECK_MODULES([SMCLIENT],[gtk+-3.0 gthread-2.0 $SMCLIENT_PKGS]) -+ AC_SUBST([SMCLIENT_CFLAGS]) -+ AC_SUBST([SMCLIENT_LIBS]) -+fi -+ -+AM_CONDITIONAL([WITH_SMCLIENT],[test "$with_smclient" != "no"]) -+AM_CONDITIONAL([WITH_SMCLIENT_XSMP],[test "$with_smclient" = "xsmp"]) -+AM_CONDITIONAL([WITH_SMCLIENT_WIN32],[test "$with_smclient" = "win32"]) -+AM_CONDITIONAL([WITH_SMCLIENT_QUARTZ],[test "$with_smclient" = "quartz"]) -+ - # *** - - BACKEND_LIBTOOL_FLAGS="-module -avoid-version -no-undefined -export-symbols \$(top_srcdir)/backend/backend.symbols" -@@ -855,6 +895,7 @@ backend/xps/Makefile - browser-plugin/Makefile - cut-n-paste/Makefile - cut-n-paste/gimpcellrenderertoggle/Makefile -+cut-n-paste/smclient/Makefile - cut-n-paste/synctex/Makefile - cut-n-paste/libgd/Makefile - data/evince.desktop.in -@@ -944,6 +985,7 @@ GTK Doc reference ........: $enable_gtk_doc - GObject Introspection ....: $enable_introspection - DBUS communication .......: $enable_dbus - Keyring integration ......: $with_keyring -+Session Manager client ...: $with_smclient - GTK+ Unix Print ..........: $with_gtk_unix_print - Thumbnail cache ..........: $enable_gnome_desktop - -diff --git a/cut-n-paste/Makefile.am b/cut-n-paste/Makefile.am -index 2d5684d..35d7cc9 100644 ---- a/cut-n-paste/Makefile.am -+++ b/cut-n-paste/Makefile.am -@@ -1,3 +1,3 @@ --SUBDIRS = gimpcellrenderertoggle synctex libgd -+SUBDIRS = smclient gimpcellrenderertoggle synctex libgd - - -include $(top_srcdir)/git.mk -diff --git a/cut-n-paste/smclient/Makefile.am b/cut-n-paste/smclient/Makefile.am -new file mode 100644 -index 0000000..f9e7ecc ---- /dev/null -+++ b/cut-n-paste/smclient/Makefile.am -@@ -0,0 +1,40 @@ -+noinst_LTLIBRARIES = libsmclient.la -+ -+NULL = -+ -+if WITH_SMCLIENT -+libsmclient_la_SOURCES = \ -+ eggsmclient.c \ -+ eggsmclient.h \ -+ eggsmclient-private.h \ -+ $(NULL) -+ -+libsmclient_la_CPPFLAGS = \ -+ -DG_LOG_DOMAIN=\""EggSMClient"\" \ -+ $(AM_CPPFLAGS) -+ -+libsmclient_la_CFLAGS = \ -+ $(SMCLIENT_CFLAGS) \ -+ $(AM_CFLAGS) -+ -+libsmclient_la_LIBADD = \ -+ $(SMCLIENT_LIBS) -+ -+if WITH_SMCLIENT_XSMP -+libsmclient_la_SOURCES += \ -+ eggdesktopfile.c \ -+ eggdesktopfile.h \ -+ eggsmclient-xsmp.c \ -+ $(NULL) -+libsmclient_la_CPPFLAGS += -DEGG_SM_CLIENT_BACKEND_XSMP -+endif -+if WITH_SMCLIENT_WIN32 -+libsmclient_la_SOURCES += eggsmclient-win32.c -+endif -+if WITH_SMCLIENT_QUARTZ -+libsmclient_la_SOURCES += eggsmclient-osx.c -+endif -+ -+endif # WITH_SMCLIENT -+ -+-include $(top_srcdir)/git.mk -diff --git a/cut-n-paste/smclient/eggdesktopfile.c b/cut-n-paste/smclient/eggdesktopfile.c -new file mode 100644 -index 0000000..8bc072a ---- /dev/null -+++ b/cut-n-paste/smclient/eggdesktopfile.c -@@ -0,0 +1,1528 @@ -+/* eggdesktopfile.c - Freedesktop.Org Desktop Files -+ * Copyright (C) 2007 Novell, Inc. -+ * -+ * Based on gnome-desktop-item.c -+ * Copyright (C) 1999, 2000 Red Hat Inc. -+ * Copyright (C) 2001 George Lebl -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public License -+ * as published by the Free Software Foundation; either version 2 of -+ * the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, but -+ * WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; see the file COPYING.LIB. If not, -+ * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+#include "config.h" -+#endif -+ -+#include "eggdesktopfile.h" -+ -+#include -+#include -+ -+#include -+#include -+#include -+ -+struct EggDesktopFile { -+ GKeyFile *key_file; -+ char *source; -+ -+ char *name, *icon; -+ EggDesktopFileType type; -+ char document_code; -+}; -+ -+/** -+ * egg_desktop_file_new: -+ * @desktop_file_path: path to a Freedesktop-style Desktop file -+ * @error: error pointer -+ * -+ * Creates a new #EggDesktopFile for @desktop_file. -+ * -+ * Return value: the new #EggDesktopFile, or %NULL on error. -+ **/ -+EggDesktopFile * -+egg_desktop_file_new (const char *desktop_file_path, GError **error) -+{ -+ GKeyFile *key_file; -+ -+ key_file = g_key_file_new (); -+ if (!g_key_file_load_from_file (key_file, desktop_file_path, 0, error)) -+ { -+ g_key_file_free (key_file); -+ return NULL; -+ } -+ -+ return egg_desktop_file_new_from_key_file (key_file, desktop_file_path, -+ error); -+} -+ -+/** -+ * egg_desktop_file_new_from_data_dirs: -+ * @desktop_file_path: relative path to a Freedesktop-style Desktop file -+ * @error: error pointer -+ * -+ * Looks for @desktop_file_path in the paths returned from -+ * g_get_user_data_dir() and g_get_system_data_dirs(), and creates -+ * a new #EggDesktopFile from it. -+ * -+ * Return value: the new #EggDesktopFile, or %NULL on error. -+ **/ -+EggDesktopFile * -+egg_desktop_file_new_from_data_dirs (const char *desktop_file_path, -+ GError **error) -+{ -+ EggDesktopFile *desktop_file; -+ GKeyFile *key_file; -+ char *full_path; -+ -+ key_file = g_key_file_new (); -+ if (!g_key_file_load_from_data_dirs (key_file, desktop_file_path, -+ &full_path, 0, error)) -+ { -+ g_key_file_free (key_file); -+ return NULL; -+ } -+ -+ desktop_file = egg_desktop_file_new_from_key_file (key_file, -+ full_path, -+ error); -+ g_free (full_path); -+ return desktop_file; -+} -+ -+/** -+ * egg_desktop_file_new_from_dirs: -+ * @desktop_file_path: relative path to a Freedesktop-style Desktop file -+ * @search_dirs: NULL-terminated array of directories to search -+ * @error: error pointer -+ * -+ * Looks for @desktop_file_path in the paths returned from -+ * g_get_user_data_dir() and g_get_system_data_dirs(), and creates -+ * a new #EggDesktopFile from it. -+ * -+ * Return value: the new #EggDesktopFile, or %NULL on error. -+ **/ -+EggDesktopFile * -+egg_desktop_file_new_from_dirs (const char *desktop_file_path, -+ const char **search_dirs, -+ GError **error) -+{ -+ EggDesktopFile *desktop_file; -+ GKeyFile *key_file; -+ char *full_path; -+ -+ key_file = g_key_file_new (); -+ if (!g_key_file_load_from_dirs (key_file, desktop_file_path, search_dirs, -+ &full_path, 0, error)) -+ { -+ g_key_file_free (key_file); -+ return NULL; -+ } -+ -+ desktop_file = egg_desktop_file_new_from_key_file (key_file, -+ full_path, -+ error); -+ g_free (full_path); -+ return desktop_file; -+} -+ -+/** -+ * egg_desktop_file_new_from_key_file: -+ * @key_file: a #GKeyFile representing a desktop file -+ * @source: the path or URI that @key_file was loaded from, or %NULL -+ * @error: error pointer -+ * -+ * Creates a new #EggDesktopFile for @key_file. Assumes ownership of -+ * @key_file (on success or failure); you should consider @key_file to -+ * be freed after calling this function. -+ * -+ * Return value: the new #EggDesktopFile, or %NULL on error. -+ **/ -+EggDesktopFile * -+egg_desktop_file_new_from_key_file (GKeyFile *key_file, -+ const char *source, -+ GError **error) -+{ -+ EggDesktopFile *desktop_file; -+ char *version, *type; -+ -+ if (!g_key_file_has_group (key_file, EGG_DESKTOP_FILE_GROUP)) -+ { -+ g_set_error (error, EGG_DESKTOP_FILE_ERROR, -+ EGG_DESKTOP_FILE_ERROR_INVALID, -+ _("File is not a valid .desktop file")); -+ g_key_file_free (key_file); -+ return NULL; -+ } -+ -+ version = g_key_file_get_value (key_file, EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_VERSION, -+ NULL); -+ if (version) -+ { -+ double version_num; -+ char *end; -+ -+ version_num = g_ascii_strtod (version, &end); -+ if (*end) -+ { -+ g_warning ("Invalid Version string '%s' in %s", -+ version, source ? source : "(unknown)"); -+ } -+ else if (version_num > 1.0) -+ { -+ g_set_error (error, EGG_DESKTOP_FILE_ERROR, -+ EGG_DESKTOP_FILE_ERROR_INVALID, -+ /* translators: 'Version' is from a desktop file, and -+ * should not be translated. '%s' would probably be a -+ * version number. */ -+ _("Unrecognized desktop file Version '%s'"), version); -+ g_free (version); -+ g_key_file_free (key_file); -+ return NULL; -+ } -+ g_free (version); -+ } -+ -+ desktop_file = g_new0 (EggDesktopFile, 1); -+ desktop_file->key_file = key_file; -+ -+ if (g_path_is_absolute (source)) -+ desktop_file->source = g_filename_to_uri (source, NULL, NULL); -+ else -+ desktop_file->source = g_strdup (source); -+ -+ desktop_file->name = g_key_file_get_locale_string (key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_NAME, -+ NULL, -+ error); -+ if (!desktop_file->name) -+ { -+ egg_desktop_file_free (desktop_file); -+ return NULL; -+ } -+ -+ type = g_key_file_get_string (key_file, EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_TYPE, error); -+ if (!type) -+ { -+ egg_desktop_file_free (desktop_file); -+ return NULL; -+ } -+ -+ if (!strcmp (type, "Application")) -+ { -+ char *exec, *p; -+ -+ desktop_file->type = EGG_DESKTOP_FILE_TYPE_APPLICATION; -+ -+ exec = g_key_file_get_string (key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_EXEC, -+ error); -+ if (!exec) -+ { -+ egg_desktop_file_free (desktop_file); -+ g_free (type); -+ return NULL; -+ } -+ -+ /* See if it takes paths or URIs or neither */ -+ for (p = exec; *p; p++) -+ { -+ if (*p == '%') -+ { -+ if (p[1] == '\0' || strchr ("FfUu", p[1])) -+ { -+ desktop_file->document_code = p[1]; -+ break; -+ } -+ p++; -+ } -+ } -+ -+ g_free (exec); -+ } -+ else if (!strcmp (type, "Link")) -+ { -+ char *url; -+ -+ desktop_file->type = EGG_DESKTOP_FILE_TYPE_LINK; -+ -+ url = g_key_file_get_string (key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_URL, -+ error); -+ if (!url) -+ { -+ egg_desktop_file_free (desktop_file); -+ g_free (type); -+ return NULL; -+ } -+ g_free (url); -+ } -+ else if (!strcmp (type, "Directory")) -+ desktop_file->type = EGG_DESKTOP_FILE_TYPE_DIRECTORY; -+ else -+ desktop_file->type = EGG_DESKTOP_FILE_TYPE_UNRECOGNIZED; -+ -+ g_free (type); -+ -+ /* Check the Icon key */ -+ desktop_file->icon = g_key_file_get_string (key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_ICON, -+ NULL); -+ if (desktop_file->icon && !g_path_is_absolute (desktop_file->icon)) -+ { -+ char *ext; -+ -+ /* Lots of .desktop files still get this wrong */ -+ ext = strrchr (desktop_file->icon, '.'); -+ if (ext && (!strcmp (ext, ".png") || -+ !strcmp (ext, ".xpm") || -+ !strcmp (ext, ".svg"))) -+ { -+ g_warning ("Desktop file '%s' has malformed Icon key '%s'" -+ "(should not include extension)", -+ source ? source : "(unknown)", -+ desktop_file->icon); -+ *ext = '\0'; -+ } -+ } -+ -+ return desktop_file; -+} -+ -+/** -+ * egg_desktop_file_free: -+ * @desktop_file: an #EggDesktopFile -+ * -+ * Frees @desktop_file. -+ **/ -+void -+egg_desktop_file_free (EggDesktopFile *desktop_file) -+{ -+ g_key_file_free (desktop_file->key_file); -+ g_free (desktop_file->source); -+ g_free (desktop_file->name); -+ g_free (desktop_file->icon); -+ g_free (desktop_file); -+} -+ -+/** -+ * egg_desktop_file_get_source: -+ * @desktop_file: an #EggDesktopFile -+ * -+ * Gets the URI that @desktop_file was loaded from. -+ * -+ * Return value: @desktop_file's source URI -+ **/ -+const char * -+egg_desktop_file_get_source (EggDesktopFile *desktop_file) -+{ -+ return desktop_file->source; -+} -+ -+/** -+ * egg_desktop_file_get_desktop_file_type: -+ * @desktop_file: an #EggDesktopFile -+ * -+ * Gets the desktop file type of @desktop_file. -+ * -+ * Return value: @desktop_file's type -+ **/ -+EggDesktopFileType -+egg_desktop_file_get_desktop_file_type (EggDesktopFile *desktop_file) -+{ -+ return desktop_file->type; -+} -+ -+/** -+ * egg_desktop_file_get_name: -+ * @desktop_file: an #EggDesktopFile -+ * -+ * Gets the (localized) value of @desktop_file's "Name" key. -+ * -+ * Return value: the application/link name -+ **/ -+const char * -+egg_desktop_file_get_name (EggDesktopFile *desktop_file) -+{ -+ return desktop_file->name; -+} -+ -+/** -+ * egg_desktop_file_get_icon: -+ * @desktop_file: an #EggDesktopFile -+ * -+ * Gets the value of @desktop_file's "Icon" key. -+ * -+ * If the icon string is a full path (that is, if g_path_is_absolute() -+ * returns %TRUE when called on it), it points to a file containing an -+ * unthemed icon. If the icon string is not a full path, it is the -+ * name of a themed icon, which can be looked up with %GtkIconTheme, -+ * or passed directly to a theme-aware widget like %GtkImage or -+ * %GtkCellRendererPixbuf. -+ * -+ * Return value: the icon path or name -+ **/ -+const char * -+egg_desktop_file_get_icon (EggDesktopFile *desktop_file) -+{ -+ return desktop_file->icon; -+} -+ -+gboolean -+egg_desktop_file_has_key (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error) -+{ -+ return g_key_file_has_key (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, key, -+ error); -+} -+ -+char * -+egg_desktop_file_get_string (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error) -+{ -+ return g_key_file_get_string (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, key, -+ error); -+} -+ -+char * -+egg_desktop_file_get_locale_string (EggDesktopFile *desktop_file, -+ const char *key, -+ const char *locale, -+ GError **error) -+{ -+ return g_key_file_get_locale_string (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, key, locale, -+ error); -+} -+ -+gboolean -+egg_desktop_file_get_boolean (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error) -+{ -+ return g_key_file_get_boolean (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, key, -+ error); -+} -+ -+double -+egg_desktop_file_get_numeric (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error) -+{ -+ return g_key_file_get_double (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, key, -+ error); -+} -+ -+int -+egg_desktop_file_get_integer (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error) -+{ -+ return g_key_file_get_integer (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, key, -+ error); -+} -+ -+char ** -+egg_desktop_file_get_string_list (EggDesktopFile *desktop_file, -+ const char *key, -+ gsize *length, -+ GError **error) -+{ -+ return g_key_file_get_string_list (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, key, length, -+ error); -+} -+ -+char ** -+egg_desktop_file_get_locale_string_list (EggDesktopFile *desktop_file, -+ const char *key, -+ const char *locale, -+ gsize *length, -+ GError **error) -+{ -+ return g_key_file_get_locale_string_list (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, key, -+ locale, length, -+ error); -+} -+ -+/** -+ * egg_desktop_file_can_launch: -+ * @desktop_file: an #EggDesktopFile -+ * @desktop_environment: the name of the running desktop environment, -+ * or %NULL -+ * -+ * Tests if @desktop_file can/should be launched in the current -+ * environment. If @desktop_environment is non-%NULL, @desktop_file's -+ * "OnlyShowIn" and "NotShowIn" keys are checked to make sure that -+ * this desktop_file is appropriate for the named environment. -+ * -+ * Furthermore, if @desktop_file has type -+ * %EGG_DESKTOP_FILE_TYPE_APPLICATION, its "TryExec" key (if any) is -+ * also checked, to make sure the binary it points to exists. -+ * -+ * egg_desktop_file_can_launch() does NOT check the value of the -+ * "Hidden" key. -+ * -+ * Return value: %TRUE if @desktop_file can be launched -+ **/ -+gboolean -+egg_desktop_file_can_launch (EggDesktopFile *desktop_file, -+ const char *desktop_environment) -+{ -+ char *try_exec, *found_program; -+ char **only_show_in, **not_show_in; -+ gboolean found; -+ int i; -+ -+ if (desktop_file->type != EGG_DESKTOP_FILE_TYPE_APPLICATION && -+ desktop_file->type != EGG_DESKTOP_FILE_TYPE_LINK) -+ return FALSE; -+ -+ if (desktop_environment) -+ { -+ only_show_in = g_key_file_get_string_list (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_ONLY_SHOW_IN, -+ NULL, NULL); -+ if (only_show_in) -+ { -+ for (i = 0, found = FALSE; only_show_in[i] && !found; i++) -+ { -+ if (!strcmp (only_show_in[i], desktop_environment)) -+ found = TRUE; -+ } -+ -+ g_strfreev (only_show_in); -+ -+ if (!found) -+ return FALSE; -+ } -+ -+ not_show_in = g_key_file_get_string_list (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_NOT_SHOW_IN, -+ NULL, NULL); -+ if (not_show_in) -+ { -+ for (i = 0, found = FALSE; not_show_in[i] && !found; i++) -+ { -+ if (!strcmp (not_show_in[i], desktop_environment)) -+ found = TRUE; -+ } -+ -+ g_strfreev (not_show_in); -+ -+ if (found) -+ return FALSE; -+ } -+ } -+ -+ if (desktop_file->type == EGG_DESKTOP_FILE_TYPE_APPLICATION) -+ { -+ try_exec = g_key_file_get_string (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_TRY_EXEC, -+ NULL); -+ if (try_exec) -+ { -+ found_program = g_find_program_in_path (try_exec); -+ g_free (try_exec); -+ -+ if (!found_program) -+ return FALSE; -+ g_free (found_program); -+ } -+ } -+ -+ return TRUE; -+} -+ -+/** -+ * egg_desktop_file_accepts_documents: -+ * @desktop_file: an #EggDesktopFile -+ * -+ * Tests if @desktop_file represents an application that can accept -+ * documents on the command line. -+ * -+ * Return value: %TRUE or %FALSE -+ **/ -+gboolean -+egg_desktop_file_accepts_documents (EggDesktopFile *desktop_file) -+{ -+ return desktop_file->document_code != 0; -+} -+ -+/** -+ * egg_desktop_file_accepts_multiple: -+ * @desktop_file: an #EggDesktopFile -+ * -+ * Tests if @desktop_file can accept multiple documents at once. -+ * -+ * If this returns %FALSE, you can still pass multiple documents to -+ * egg_desktop_file_launch(), but that will result in multiple copies -+ * of the application being launched. See egg_desktop_file_launch() -+ * for more details. -+ * -+ * Return value: %TRUE or %FALSE -+ **/ -+gboolean -+egg_desktop_file_accepts_multiple (EggDesktopFile *desktop_file) -+{ -+ return (desktop_file->document_code == 'F' || -+ desktop_file->document_code == 'U'); -+} -+ -+/** -+ * egg_desktop_file_accepts_uris: -+ * @desktop_file: an #EggDesktopFile -+ * -+ * Tests if @desktop_file can accept (non-"file:") URIs as documents to -+ * open. -+ * -+ * Return value: %TRUE or %FALSE -+ **/ -+gboolean -+egg_desktop_file_accepts_uris (EggDesktopFile *desktop_file) -+{ -+ return (desktop_file->document_code == 'U' || -+ desktop_file->document_code == 'u'); -+} -+ -+static void -+append_quoted_word (GString *str, -+ const char *s, -+ gboolean in_single_quotes, -+ gboolean in_double_quotes) -+{ -+ const char *p; -+ -+ if (!in_single_quotes && !in_double_quotes) -+ g_string_append_c (str, '\''); -+ else if (!in_single_quotes && in_double_quotes) -+ g_string_append (str, "\"'"); -+ -+ if (!strchr (s, '\'')) -+ g_string_append (str, s); -+ else -+ { -+ for (p = s; *p != '\0'; p++) -+ { -+ if (*p == '\'') -+ g_string_append (str, "'\\''"); -+ else -+ g_string_append_c (str, *p); -+ } -+ } -+ -+ if (!in_single_quotes && !in_double_quotes) -+ g_string_append_c (str, '\''); -+ else if (!in_single_quotes && in_double_quotes) -+ g_string_append (str, "'\""); -+} -+ -+static void -+do_percent_subst (EggDesktopFile *desktop_file, -+ char code, -+ GString *str, -+ GSList **documents, -+ gboolean in_single_quotes, -+ gboolean in_double_quotes) -+{ -+ GSList *d; -+ char *doc; -+ -+ switch (code) -+ { -+ case '%': -+ g_string_append_c (str, '%'); -+ break; -+ -+ case 'F': -+ case 'U': -+ for (d = *documents; d; d = d->next) -+ { -+ doc = d->data; -+ g_string_append (str, " "); -+ append_quoted_word (str, doc, in_single_quotes, in_double_quotes); -+ } -+ *documents = NULL; -+ break; -+ -+ case 'f': -+ case 'u': -+ if (*documents) -+ { -+ doc = (*documents)->data; -+ g_string_append (str, " "); -+ append_quoted_word (str, doc, in_single_quotes, in_double_quotes); -+ *documents = (*documents)->next; -+ } -+ break; -+ -+ case 'i': -+ if (desktop_file->icon) -+ { -+ g_string_append (str, "--icon "); -+ append_quoted_word (str, desktop_file->icon, -+ in_single_quotes, in_double_quotes); -+ } -+ break; -+ -+ case 'c': -+ if (desktop_file->name) -+ { -+ append_quoted_word (str, desktop_file->name, -+ in_single_quotes, in_double_quotes); -+ } -+ break; -+ -+ case 'k': -+ if (desktop_file->source) -+ { -+ append_quoted_word (str, desktop_file->source, -+ in_single_quotes, in_double_quotes); -+ } -+ break; -+ -+ case 'D': -+ case 'N': -+ case 'd': -+ case 'n': -+ case 'v': -+ case 'm': -+ /* Deprecated; skip */ -+ break; -+ -+ default: -+ g_warning ("Unrecognized %%-code '%%%c' in Exec", code); -+ break; -+ } -+} -+ -+static char * -+parse_exec (EggDesktopFile *desktop_file, -+ GSList **documents, -+ GError **error) -+{ -+ char *exec, *p, *command; -+ gboolean escape, single_quot, double_quot; -+ GString *gs; -+ -+ exec = g_key_file_get_string (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_EXEC, -+ error); -+ if (!exec) -+ return NULL; -+ -+ /* Build the command */ -+ gs = g_string_new (NULL); -+ escape = single_quot = double_quot = FALSE; -+ -+ for (p = exec; *p != '\0'; p++) -+ { -+ if (escape) -+ { -+ escape = FALSE; -+ g_string_append_c (gs, *p); -+ } -+ else if (*p == '\\') -+ { -+ if (!single_quot) -+ escape = TRUE; -+ g_string_append_c (gs, *p); -+ } -+ else if (*p == '\'') -+ { -+ g_string_append_c (gs, *p); -+ if (!single_quot && !double_quot) -+ single_quot = TRUE; -+ else if (single_quot) -+ single_quot = FALSE; -+ } -+ else if (*p == '"') -+ { -+ g_string_append_c (gs, *p); -+ if (!single_quot && !double_quot) -+ double_quot = TRUE; -+ else if (double_quot) -+ double_quot = FALSE; -+ } -+ else if (*p == '%' && p[1]) -+ { -+ do_percent_subst (desktop_file, p[1], gs, documents, -+ single_quot, double_quot); -+ p++; -+ } -+ else -+ g_string_append_c (gs, *p); -+ } -+ -+ g_free (exec); -+ command = g_string_free (gs, FALSE); -+ -+ /* Prepend "xdg-terminal " if needed (FIXME: use gvfs) */ -+ if (g_key_file_has_key (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_TERMINAL, -+ NULL)) -+ { -+ GError *terminal_error = NULL; -+ gboolean use_terminal = -+ g_key_file_get_boolean (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_TERMINAL, -+ &terminal_error); -+ if (terminal_error) -+ { -+ g_free (command); -+ g_propagate_error (error, terminal_error); -+ return NULL; -+ } -+ -+ if (use_terminal) -+ { -+ gs = g_string_new ("xdg-terminal "); -+ append_quoted_word (gs, command, FALSE, FALSE); -+ g_free (command); -+ command = g_string_free (gs, FALSE); -+ } -+ } -+ -+ return command; -+} -+ -+static GSList * -+translate_document_list (EggDesktopFile *desktop_file, GSList *documents) -+{ -+ gboolean accepts_uris = egg_desktop_file_accepts_uris (desktop_file); -+ GSList *ret, *d; -+ -+ for (d = documents, ret = NULL; d; d = d->next) -+ { -+ const char *document = d->data; -+ gboolean is_uri = !g_path_is_absolute (document); -+ char *translated; -+ -+ if (accepts_uris) -+ { -+ if (is_uri) -+ translated = g_strdup (document); -+ else -+ translated = g_filename_to_uri (document, NULL, NULL); -+ } -+ else -+ { -+ if (is_uri) -+ translated = g_filename_from_uri (document, NULL, NULL); -+ else -+ translated = g_strdup (document); -+ } -+ -+ if (translated) -+ ret = g_slist_prepend (ret, translated); -+ } -+ -+ return g_slist_reverse (ret); -+} -+ -+static void -+free_document_list (GSList *documents) -+{ -+ GSList *d; -+ -+ for (d = documents; d; d = d->next) -+ g_free (d->data); -+ g_slist_free (documents); -+} -+ -+/** -+ * egg_desktop_file_parse_exec: -+ * @desktop_file: a #EggDesktopFile -+ * @documents: a list of document paths or URIs -+ * @error: error pointer -+ * -+ * Parses @desktop_file's Exec key, inserting @documents into it, and -+ * returns the result. -+ * -+ * If @documents contains non-file: URIs and @desktop_file does not -+ * accept URIs, those URIs will be ignored. Likewise, if @documents -+ * contains more elements than @desktop_file accepts, the extra -+ * documents will be ignored. -+ * -+ * Return value: the parsed Exec string -+ **/ -+char * -+egg_desktop_file_parse_exec (EggDesktopFile *desktop_file, -+ GSList *documents, -+ GError **error) -+{ -+ GSList *translated, *docs; -+ char *command; -+ -+ docs = translated = translate_document_list (desktop_file, documents); -+ command = parse_exec (desktop_file, &docs, error); -+ free_document_list (translated); -+ -+ return command; -+} -+ -+static gboolean -+parse_link (EggDesktopFile *desktop_file, -+ EggDesktopFile **app_desktop_file, -+ GSList **documents, -+ GError **error) -+{ -+ char *url; -+ GKeyFile *key_file; -+ -+ url = g_key_file_get_string (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_URL, -+ error); -+ if (!url) -+ return FALSE; -+ *documents = g_slist_prepend (NULL, url); -+ -+ /* FIXME: use gvfs */ -+ key_file = g_key_file_new (); -+ g_key_file_set_string (key_file, EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_NAME, -+ "xdg-open"); -+ g_key_file_set_string (key_file, EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_TYPE, -+ "Application"); -+ g_key_file_set_string (key_file, EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_EXEC, -+ "xdg-open %u"); -+ *app_desktop_file = egg_desktop_file_new_from_key_file (key_file, NULL, NULL); -+ return TRUE; -+} -+ -+#if GTK_CHECK_VERSION (2, 12, 0) -+static char * -+start_startup_notification (GdkDisplay *display, -+ EggDesktopFile *desktop_file, -+ const char *argv0, -+ int screen, -+ int workspace, -+ guint32 launch_time) -+{ -+ static int sequence = 0; -+ char *startup_id; -+ char *description, *wmclass; -+ char *screen_str, *workspace_str; -+ -+ if (g_key_file_has_key (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_STARTUP_NOTIFY, -+ NULL)) -+ { -+ if (!g_key_file_get_boolean (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_STARTUP_NOTIFY, -+ NULL)) -+ return NULL; -+ wmclass = NULL; -+ } -+ else -+ { -+ wmclass = g_key_file_get_string (desktop_file->key_file, -+ EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_STARTUP_WM_CLASS, -+ NULL); -+ if (!wmclass) -+ return NULL; -+ } -+ -+ if (launch_time == (guint32)-1) -+ launch_time = gdk_x11_display_get_user_time (display); -+ startup_id = g_strdup_printf ("%s-%lu-%s-%s-%d_TIME%lu", -+ g_get_prgname (), -+ (unsigned long)getpid (), -+ g_get_host_name (), -+ argv0, -+ sequence++, -+ (unsigned long)launch_time); -+ -+ description = g_strdup_printf (_("Starting %s"), desktop_file->name); -+ screen_str = g_strdup_printf ("%d", screen); -+ workspace_str = workspace == -1 ? NULL : g_strdup_printf ("%d", workspace); -+ -+ gdk_x11_display_broadcast_startup_message (display, "new", -+ "ID", startup_id, -+ "NAME", desktop_file->name, -+ "SCREEN", screen_str, -+ "BIN", argv0, -+ "ICON", desktop_file->icon, -+ "DESKTOP", workspace_str, -+ "DESCRIPTION", description, -+ "WMCLASS", wmclass, -+ NULL); -+ -+ g_free (description); -+ g_free (wmclass); -+ g_free (screen_str); -+ g_free (workspace_str); -+ -+ return startup_id; -+} -+ -+static void -+end_startup_notification (GdkDisplay *display, -+ const char *startup_id) -+{ -+ gdk_x11_display_broadcast_startup_message (display, "remove", -+ "ID", startup_id, -+ NULL); -+} -+ -+#define EGG_DESKTOP_FILE_SN_TIMEOUT_LENGTH (30 /* seconds */) -+ -+typedef struct { -+ GdkDisplay *display; -+ char *startup_id; -+} StartupNotificationData; -+ -+static gboolean -+startup_notification_timeout (gpointer data) -+{ -+ StartupNotificationData *sn_data = data; -+ -+ end_startup_notification (sn_data->display, sn_data->startup_id); -+ g_object_unref (sn_data->display); -+ g_free (sn_data->startup_id); -+ g_free (sn_data); -+ -+ return FALSE; -+} -+ -+static void -+set_startup_notification_timeout (GdkDisplay *display, -+ const char *startup_id) -+{ -+ StartupNotificationData *sn_data; -+ -+ sn_data = g_new (StartupNotificationData, 1); -+ sn_data->display = g_object_ref (display); -+ sn_data->startup_id = g_strdup (startup_id); -+ -+ g_timeout_add_seconds (EGG_DESKTOP_FILE_SN_TIMEOUT_LENGTH, -+ startup_notification_timeout, sn_data); -+} -+#endif /* GTK 2.12 */ -+ -+static GPtrArray * -+array_putenv (GPtrArray *env, char *variable) -+{ -+ guint i, keylen; -+ -+ if (!env) -+ { -+ char **envp; -+ -+ env = g_ptr_array_new (); -+ -+ envp = g_listenv (); -+ for (i = 0; envp[i]; i++) -+ { -+ const char *value; -+ -+ value = g_getenv (envp[i]); -+ g_ptr_array_add (env, g_strdup_printf ("%s=%s", envp[i], -+ value ? value : "")); -+ } -+ g_strfreev (envp); -+ } -+ -+ keylen = strcspn (variable, "="); -+ -+ /* Remove old value of key */ -+ for (i = 0; i < env->len; i++) -+ { -+ char *envvar = env->pdata[i]; -+ -+ if (!strncmp (envvar, variable, keylen) && envvar[keylen] == '=') -+ { -+ g_free (envvar); -+ g_ptr_array_remove_index_fast (env, i); -+ break; -+ } -+ } -+ -+ /* Add new value */ -+ g_ptr_array_add (env, g_strdup (variable)); -+ -+ return env; -+} -+ -+static gboolean -+egg_desktop_file_launchv (EggDesktopFile *desktop_file, -+ GSList *documents, va_list args, -+ GError **error) -+{ -+ EggDesktopFileLaunchOption option; -+ GSList *translated_documents = NULL, *docs = NULL; -+ char *command, **argv; -+ int argc, i, screen_num; -+ gboolean success, current_success; -+ GdkDisplay *display; -+ char *startup_id; -+ -+ GPtrArray *env = NULL; -+ char **variables = NULL; -+ GdkScreen *screen = NULL; -+ int workspace = -1; -+ const char *directory = NULL; -+ guint32 launch_time = (guint32)-1; -+ GSpawnFlags flags = G_SPAWN_SEARCH_PATH; -+ GSpawnChildSetupFunc setup_func = NULL; -+ gpointer setup_data = NULL; -+ -+ GPid *ret_pid = NULL; -+ int *ret_stdin = NULL, *ret_stdout = NULL, *ret_stderr = NULL; -+ char **ret_startup_id = NULL; -+ -+ if (documents && desktop_file->document_code == 0) -+ { -+ g_set_error (error, EGG_DESKTOP_FILE_ERROR, -+ EGG_DESKTOP_FILE_ERROR_NOT_LAUNCHABLE, -+ _("Application does not accept documents on command line")); -+ return FALSE; -+ } -+ -+ /* Read the options: technically it's incorrect for the caller to -+ * NULL-terminate the list of options (rather than 0-terminating -+ * it), but NULL-terminating lets us use G_GNUC_NULL_TERMINATED, -+ * it's more consistent with other glib/gtk methods, and it will -+ * work as long as sizeof (int) <= sizeof (NULL), and NULL is -+ * represented as 0. (Which is true everywhere we care about.) -+ */ -+ while ((option = va_arg (args, EggDesktopFileLaunchOption))) -+ { -+ switch (option) -+ { -+ case EGG_DESKTOP_FILE_LAUNCH_CLEARENV: -+ if (env) -+ g_ptr_array_free (env, TRUE); -+ env = g_ptr_array_new (); -+ break; -+ case EGG_DESKTOP_FILE_LAUNCH_PUTENV: -+ variables = va_arg (args, char **); -+ for (i = 0; variables[i]; i++) -+ env = array_putenv (env, variables[i]); -+ break; -+ -+ case EGG_DESKTOP_FILE_LAUNCH_SCREEN: -+ screen = va_arg (args, GdkScreen *); -+ break; -+ case EGG_DESKTOP_FILE_LAUNCH_WORKSPACE: -+ workspace = va_arg (args, int); -+ break; -+ -+ case EGG_DESKTOP_FILE_LAUNCH_DIRECTORY: -+ directory = va_arg (args, const char *); -+ break; -+ case EGG_DESKTOP_FILE_LAUNCH_TIME: -+ launch_time = va_arg (args, guint32); -+ break; -+ case EGG_DESKTOP_FILE_LAUNCH_FLAGS: -+ flags |= va_arg (args, GSpawnFlags); -+ /* Make sure they didn't set any flags that don't make sense. */ -+ flags &= ~G_SPAWN_FILE_AND_ARGV_ZERO; -+ break; -+ case EGG_DESKTOP_FILE_LAUNCH_SETUP_FUNC: -+ setup_func = va_arg (args, GSpawnChildSetupFunc); -+ setup_data = va_arg (args, gpointer); -+ break; -+ -+ case EGG_DESKTOP_FILE_LAUNCH_RETURN_PID: -+ ret_pid = va_arg (args, GPid *); -+ break; -+ case EGG_DESKTOP_FILE_LAUNCH_RETURN_STDIN_PIPE: -+ ret_stdin = va_arg (args, int *); -+ break; -+ case EGG_DESKTOP_FILE_LAUNCH_RETURN_STDOUT_PIPE: -+ ret_stdout = va_arg (args, int *); -+ break; -+ case EGG_DESKTOP_FILE_LAUNCH_RETURN_STDERR_PIPE: -+ ret_stderr = va_arg (args, int *); -+ break; -+ case EGG_DESKTOP_FILE_LAUNCH_RETURN_STARTUP_ID: -+ ret_startup_id = va_arg (args, char **); -+ break; -+ -+ default: -+ g_set_error (error, EGG_DESKTOP_FILE_ERROR, -+ EGG_DESKTOP_FILE_ERROR_UNRECOGNIZED_OPTION, -+ _("Unrecognized launch option: %d"), -+ GPOINTER_TO_INT (option)); -+ success = FALSE; -+ goto out; -+ } -+ } -+ -+ if (screen) -+ { -+ char *display_name = gdk_screen_make_display_name (screen); -+ char *display_env = g_strdup_printf ("DISPLAY=%s", display_name); -+ env = array_putenv (env, display_env); -+ g_free (display_name); -+ g_free (display_env); -+ -+ display = gdk_screen_get_display (screen); -+ } -+ else -+ { -+ display = gdk_display_get_default (); -+ screen = gdk_display_get_default_screen (display); -+ } -+ screen_num = gdk_screen_get_number (screen); -+ -+ translated_documents = translate_document_list (desktop_file, documents); -+ docs = translated_documents; -+ -+ success = FALSE; -+ -+ do -+ { -+ command = parse_exec (desktop_file, &docs, error); -+ if (!command) -+ goto out; -+ -+ if (!g_shell_parse_argv (command, &argc, &argv, error)) -+ { -+ g_free (command); -+ goto out; -+ } -+ g_free (command); -+ -+#if GTK_CHECK_VERSION (2, 12, 0) -+ startup_id = start_startup_notification (display, desktop_file, -+ argv[0], screen_num, -+ workspace, launch_time); -+ if (startup_id) -+ { -+ char *startup_id_env = g_strdup_printf ("DESKTOP_STARTUP_ID=%s", -+ startup_id); -+ env = array_putenv (env, startup_id_env); -+ g_free (startup_id_env); -+ } -+#else -+ startup_id = NULL; -+#endif /* GTK 2.12 */ -+ -+ if (env != NULL) -+ g_ptr_array_add (env, NULL); -+ -+ current_success = -+ g_spawn_async_with_pipes (directory, -+ argv, -+ env ? (char **)(env->pdata) : NULL, -+ flags, -+ setup_func, setup_data, -+ ret_pid, -+ ret_stdin, ret_stdout, ret_stderr, -+ error); -+ g_strfreev (argv); -+ -+ if (startup_id) -+ { -+#if GTK_CHECK_VERSION (2, 12, 0) -+ if (current_success) -+ { -+ set_startup_notification_timeout (display, startup_id); -+ -+ if (ret_startup_id) -+ *ret_startup_id = startup_id; -+ else -+ g_free (startup_id); -+ } -+ else -+#endif /* GTK 2.12 */ -+ g_free (startup_id); -+ } -+ else if (ret_startup_id) -+ *ret_startup_id = NULL; -+ -+ if (current_success) -+ { -+ /* If we successfully launch any instances of the app, make -+ * sure we return TRUE and don't set @error. -+ */ -+ success = TRUE; -+ error = NULL; -+ -+ /* Also, only set the output params on the first one */ -+ ret_pid = NULL; -+ ret_stdin = ret_stdout = ret_stderr = NULL; -+ ret_startup_id = NULL; -+ } -+ } -+ while (docs && current_success); -+ -+ out: -+ if (env) -+ { -+ g_ptr_array_foreach (env, (GFunc)g_free, NULL); -+ g_ptr_array_free (env, TRUE); -+ } -+ free_document_list (translated_documents); -+ -+ return success; -+} -+ -+/** -+ * egg_desktop_file_launch: -+ * @desktop_file: an #EggDesktopFile -+ * @documents: a list of URIs or paths to documents to open -+ * @error: error pointer -+ * @...: additional options -+ * -+ * Launches @desktop_file with the given arguments. Additional options -+ * can be specified as follows: -+ * -+ * %EGG_DESKTOP_FILE_LAUNCH_CLEARENV: (no arguments) -+ * clears the environment in the child process -+ * %EGG_DESKTOP_FILE_LAUNCH_PUTENV: (char **variables) -+ * adds the NAME=VALUE strings in the given %NULL-terminated -+ * array to the child process's environment -+ * %EGG_DESKTOP_FILE_LAUNCH_SCREEN: (GdkScreen *screen) -+ * causes the application to be launched on the given screen -+ * %EGG_DESKTOP_FILE_LAUNCH_WORKSPACE: (int workspace) -+ * causes the application to be launched on the given workspace -+ * %EGG_DESKTOP_FILE_LAUNCH_DIRECTORY: (char *dir) -+ * causes the application to be launched in the given directory -+ * %EGG_DESKTOP_FILE_LAUNCH_TIME: (guint32 launch_time) -+ * sets the "launch time" for the application. If the user -+ * interacts with another window after @launch_time but before -+ * the launched application creates its first window, the window -+ * manager may choose to not give focus to the new application. -+ * Passing 0 for @launch_time will explicitly request that the -+ * application not receive focus. -+ * %EGG_DESKTOP_FILE_LAUNCH_FLAGS (GSpawnFlags flags) -+ * Sets additional #GSpawnFlags to use. See g_spawn_async() for -+ * more details. -+ * %EGG_DESKTOP_FILE_LAUNCH_SETUP_FUNC (GSpawnChildSetupFunc, gpointer) -+ * Sets the child setup callback and the data to pass to it. -+ * (See g_spawn_async() for more details.) -+ * -+ * %EGG_DESKTOP_FILE_LAUNCH_RETURN_PID (GPid **pid) -+ * On a successful launch, sets *@pid to the PID of the launched -+ * application. -+ * %EGG_DESKTOP_FILE_LAUNCH_RETURN_STARTUP_ID (char **startup_id) -+ * On a successful launch, sets *@startup_id to the Startup -+ * Notification "startup id" of the launched application. -+ * %EGG_DESKTOP_FILE_LAUNCH_RETURN_STDIN_PIPE (int *fd) -+ * On a successful launch, sets *@fd to the file descriptor of -+ * a pipe connected to the application's stdin. -+ * %EGG_DESKTOP_FILE_LAUNCH_RETURN_STDOUT_PIPE (int *fd) -+ * On a successful launch, sets *@fd to the file descriptor of -+ * a pipe connected to the application's stdout. -+ * %EGG_DESKTOP_FILE_LAUNCH_RETURN_STDERR_PIPE (int *fd) -+ * On a successful launch, sets *@fd to the file descriptor of -+ * a pipe connected to the application's stderr. -+ * -+ * The options should be terminated with a single %NULL. -+ * -+ * If @documents contains multiple documents, but -+ * egg_desktop_file_accepts_multiple() returns %FALSE for -+ * @desktop_file, then egg_desktop_file_launch() will actually launch -+ * multiple instances of the application. In that case, the return -+ * value (as well as any values passed via -+ * %EGG_DESKTOP_FILE_LAUNCH_RETURN_PID, etc) will only reflect the -+ * first instance of the application that was launched (but the -+ * %EGG_DESKTOP_FILE_LAUNCH_SETUP_FUNC will be called for each -+ * instance). -+ * -+ * Return value: %TRUE if the application was successfully launched. -+ **/ -+gboolean -+egg_desktop_file_launch (EggDesktopFile *desktop_file, -+ GSList *documents, GError **error, -+ ...) -+{ -+ va_list args; -+ gboolean success; -+ EggDesktopFile *app_desktop_file; -+ -+ switch (desktop_file->type) -+ { -+ case EGG_DESKTOP_FILE_TYPE_APPLICATION: -+ va_start (args, error); -+ success = egg_desktop_file_launchv (desktop_file, documents, -+ args, error); -+ va_end (args); -+ break; -+ -+ case EGG_DESKTOP_FILE_TYPE_LINK: -+ if (documents) -+ { -+ g_set_error (error, EGG_DESKTOP_FILE_ERROR, -+ EGG_DESKTOP_FILE_ERROR_NOT_LAUNCHABLE, -+ /* translators: The 'Type=Link' string is found in a -+ * desktop file, and should not be translated. */ -+ _("Can't pass document URIs to a 'Type=Link' desktop entry")); -+ return FALSE; -+ } -+ -+ if (!parse_link (desktop_file, &app_desktop_file, &documents, error)) -+ return FALSE; -+ -+ va_start (args, error); -+ success = egg_desktop_file_launchv (app_desktop_file, documents, -+ args, error); -+ va_end (args); -+ -+ egg_desktop_file_free (app_desktop_file); -+ free_document_list (documents); -+ break; -+ -+ case EGG_DESKTOP_FILE_TYPE_UNRECOGNIZED: -+ case EGG_DESKTOP_FILE_TYPE_DIRECTORY: -+ default: -+ g_set_error (error, EGG_DESKTOP_FILE_ERROR, -+ EGG_DESKTOP_FILE_ERROR_NOT_LAUNCHABLE, -+ _("Not a launchable item")); -+ success = FALSE; -+ break; -+ } -+ -+ return success; -+} -+ -+ -+GQuark -+egg_desktop_file_error_quark (void) -+{ -+ return g_quark_from_static_string ("egg-desktop_file-error-quark"); -+} -+ -+ -+G_LOCK_DEFINE_STATIC (egg_desktop_file); -+static EggDesktopFile *egg_desktop_file; -+ -+static void -+egg_set_desktop_file_internal (const char *desktop_file_path, -+ gboolean set_defaults) -+{ -+ GError *error = NULL; -+ -+ G_LOCK (egg_desktop_file); -+ if (egg_desktop_file) -+ egg_desktop_file_free (egg_desktop_file); -+ -+ egg_desktop_file = egg_desktop_file_new (desktop_file_path, &error); -+ if (error) -+ { -+ g_warning ("Could not load desktop file '%s': %s", -+ desktop_file_path, error->message); -+ g_error_free (error); -+ } -+ -+ if (set_defaults && egg_desktop_file != NULL) { -+ /* Set localized application name and default window icon */ -+ if (egg_desktop_file->name) -+ g_set_application_name (egg_desktop_file->name); -+ if (egg_desktop_file->icon) -+ { -+ if (g_path_is_absolute (egg_desktop_file->icon)) -+ gtk_window_set_default_icon_from_file (egg_desktop_file->icon, NULL); -+ else -+ gtk_window_set_default_icon_name (egg_desktop_file->icon); -+ } -+ } -+ -+ G_UNLOCK (egg_desktop_file); -+} -+ -+/** -+ * egg_set_desktop_file: -+ * @desktop_file_path: path to the application's desktop file -+ * -+ * Creates an #EggDesktopFile for the application from the data at -+ * @desktop_file_path. This will also call g_set_application_name() -+ * with the localized application name from the desktop file, and -+ * gtk_window_set_default_icon_name() or -+ * gtk_window_set_default_icon_from_file() with the application's -+ * icon. Other code may use additional information from the desktop -+ * file. -+ * See egg_set_desktop_file_without_defaults() for a variant of this -+ * function that does not set the application name and default window -+ * icon. -+ * -+ * Note that for thread safety reasons, this function can only -+ * be called once, and is mutually exclusive with calling -+ * egg_set_desktop_file_without_defaults(). -+ **/ -+void -+egg_set_desktop_file (const char *desktop_file_path) -+{ -+ egg_set_desktop_file_internal (desktop_file_path, TRUE); -+} -+ -+/** -+ * egg_set_desktop_file_without_defaults: -+ * @desktop_file_path: path to the application's desktop file -+ * -+ * Creates an #EggDesktopFile for the application from the data at -+ * @desktop_file_path. -+ * See egg_set_desktop_file() for a variant of this function that -+ * sets the application name and default window icon from the information -+ * in the desktop file. -+ * -+ * Note that for thread safety reasons, this function can only -+ * be called once, and is mutually exclusive with calling -+ * egg_set_desktop_file(). -+ **/ -+void -+egg_set_desktop_file_without_defaults (const char *desktop_file_path) -+{ -+ egg_set_desktop_file_internal (desktop_file_path, FALSE); -+} -+ -+/** -+ * egg_get_desktop_file: -+ * -+ * Gets the application's #EggDesktopFile, as set by -+ * egg_set_desktop_file(). -+ * -+ * Return value: the #EggDesktopFile, or %NULL if it hasn't been set. -+ **/ -+EggDesktopFile * -+egg_get_desktop_file (void) -+{ -+ EggDesktopFile *retval; -+ -+ G_LOCK (egg_desktop_file); -+ retval = egg_desktop_file; -+ G_UNLOCK (egg_desktop_file); -+ -+ return retval; -+} -diff --git a/cut-n-paste/smclient/eggdesktopfile.h b/cut-n-paste/smclient/eggdesktopfile.h -new file mode 100644 -index 0000000..0e9f401 ---- /dev/null -+++ b/cut-n-paste/smclient/eggdesktopfile.h -@@ -0,0 +1,163 @@ -+/* eggdesktopfile.h - Freedesktop.Org Desktop Files -+ * Copyright (C) 2007 Novell, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public License -+ * as published by the Free Software Foundation; either version 2 of -+ * the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, but -+ * WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; see the file COPYING.LIB. If not, -+ * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+#ifndef __EGG_DESKTOP_FILE_H__ -+#define __EGG_DESKTOP_FILE_H__ -+ -+#include -+ -+G_BEGIN_DECLS -+ -+typedef struct EggDesktopFile EggDesktopFile; -+ -+typedef enum { -+ EGG_DESKTOP_FILE_TYPE_UNRECOGNIZED, -+ -+ EGG_DESKTOP_FILE_TYPE_APPLICATION, -+ EGG_DESKTOP_FILE_TYPE_LINK, -+ EGG_DESKTOP_FILE_TYPE_DIRECTORY -+} EggDesktopFileType; -+ -+EggDesktopFile *egg_desktop_file_new (const char *desktop_file_path, -+ GError **error); -+ -+EggDesktopFile *egg_desktop_file_new_from_data_dirs (const char *desktop_file_path, -+ GError **error); -+EggDesktopFile *egg_desktop_file_new_from_dirs (const char *desktop_file_path, -+ const char **search_dirs, -+ GError **error); -+EggDesktopFile *egg_desktop_file_new_from_key_file (GKeyFile *key_file, -+ const char *source, -+ GError **error); -+ -+void egg_desktop_file_free (EggDesktopFile *desktop_file); -+ -+const char *egg_desktop_file_get_source (EggDesktopFile *desktop_file); -+ -+EggDesktopFileType egg_desktop_file_get_desktop_file_type (EggDesktopFile *desktop_file); -+ -+const char *egg_desktop_file_get_name (EggDesktopFile *desktop_file); -+const char *egg_desktop_file_get_icon (EggDesktopFile *desktop_file); -+ -+gboolean egg_desktop_file_can_launch (EggDesktopFile *desktop_file, -+ const char *desktop_environment); -+ -+gboolean egg_desktop_file_accepts_documents (EggDesktopFile *desktop_file); -+gboolean egg_desktop_file_accepts_multiple (EggDesktopFile *desktop_file); -+gboolean egg_desktop_file_accepts_uris (EggDesktopFile *desktop_file); -+ -+char *egg_desktop_file_parse_exec (EggDesktopFile *desktop_file, -+ GSList *documents, -+ GError **error); -+ -+gboolean egg_desktop_file_launch (EggDesktopFile *desktop_file, -+ GSList *documents, -+ GError **error, -+ ...) G_GNUC_NULL_TERMINATED; -+ -+typedef enum { -+ EGG_DESKTOP_FILE_LAUNCH_CLEARENV = 1, -+ EGG_DESKTOP_FILE_LAUNCH_PUTENV, -+ EGG_DESKTOP_FILE_LAUNCH_SCREEN, -+ EGG_DESKTOP_FILE_LAUNCH_WORKSPACE, -+ EGG_DESKTOP_FILE_LAUNCH_DIRECTORY, -+ EGG_DESKTOP_FILE_LAUNCH_TIME, -+ EGG_DESKTOP_FILE_LAUNCH_FLAGS, -+ EGG_DESKTOP_FILE_LAUNCH_SETUP_FUNC, -+ EGG_DESKTOP_FILE_LAUNCH_RETURN_PID, -+ EGG_DESKTOP_FILE_LAUNCH_RETURN_STDIN_PIPE, -+ EGG_DESKTOP_FILE_LAUNCH_RETURN_STDOUT_PIPE, -+ EGG_DESKTOP_FILE_LAUNCH_RETURN_STDERR_PIPE, -+ EGG_DESKTOP_FILE_LAUNCH_RETURN_STARTUP_ID -+} EggDesktopFileLaunchOption; -+ -+/* Standard Keys */ -+#define EGG_DESKTOP_FILE_GROUP "Desktop Entry" -+ -+#define EGG_DESKTOP_FILE_KEY_TYPE "Type" -+#define EGG_DESKTOP_FILE_KEY_VERSION "Version" -+#define EGG_DESKTOP_FILE_KEY_NAME "Name" -+#define EGG_DESKTOP_FILE_KEY_GENERIC_NAME "GenericName" -+#define EGG_DESKTOP_FILE_KEY_NO_DISPLAY "NoDisplay" -+#define EGG_DESKTOP_FILE_KEY_COMMENT "Comment" -+#define EGG_DESKTOP_FILE_KEY_ICON "Icon" -+#define EGG_DESKTOP_FILE_KEY_HIDDEN "Hidden" -+#define EGG_DESKTOP_FILE_KEY_ONLY_SHOW_IN "OnlyShowIn" -+#define EGG_DESKTOP_FILE_KEY_NOT_SHOW_IN "NotShowIn" -+#define EGG_DESKTOP_FILE_KEY_TRY_EXEC "TryExec" -+#define EGG_DESKTOP_FILE_KEY_EXEC "Exec" -+#define EGG_DESKTOP_FILE_KEY_PATH "Path" -+#define EGG_DESKTOP_FILE_KEY_TERMINAL "Terminal" -+#define EGG_DESKTOP_FILE_KEY_MIME_TYPE "MimeType" -+#define EGG_DESKTOP_FILE_KEY_CATEGORIES "Categories" -+#define EGG_DESKTOP_FILE_KEY_STARTUP_NOTIFY "StartupNotify" -+#define EGG_DESKTOP_FILE_KEY_STARTUP_WM_CLASS "StartupWMClass" -+#define EGG_DESKTOP_FILE_KEY_URL "URL" -+ -+/* Accessors */ -+gboolean egg_desktop_file_has_key (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error); -+char *egg_desktop_file_get_string (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error) G_GNUC_MALLOC; -+char *egg_desktop_file_get_locale_string (EggDesktopFile *desktop_file, -+ const char *key, -+ const char *locale, -+ GError **error) G_GNUC_MALLOC; -+gboolean egg_desktop_file_get_boolean (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error); -+double egg_desktop_file_get_numeric (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error); -+int egg_desktop_file_get_integer (EggDesktopFile *desktop_file, -+ const char *key, -+ GError **error); -+char **egg_desktop_file_get_string_list (EggDesktopFile *desktop_file, -+ const char *key, -+ gsize *length, -+ GError **error) G_GNUC_MALLOC; -+char **egg_desktop_file_get_locale_string_list (EggDesktopFile *desktop_file, -+ const char *key, -+ const char *locale, -+ gsize *length, -+ GError **error) G_GNUC_MALLOC; -+ -+ -+/* Errors */ -+#define EGG_DESKTOP_FILE_ERROR egg_desktop_file_error_quark() -+ -+GQuark egg_desktop_file_error_quark (void); -+ -+typedef enum { -+ EGG_DESKTOP_FILE_ERROR_INVALID, -+ EGG_DESKTOP_FILE_ERROR_NOT_LAUNCHABLE, -+ EGG_DESKTOP_FILE_ERROR_UNRECOGNIZED_OPTION -+} EggDesktopFileError; -+ -+/* Global application desktop file */ -+void egg_set_desktop_file (const char *desktop_file_path); -+void egg_set_desktop_file_without_defaults (const char *desktop_file_path); -+EggDesktopFile *egg_get_desktop_file (void); -+ -+ -+G_END_DECLS -+ -+#endif /* __EGG_DESKTOP_FILE_H__ */ -diff --git a/cut-n-paste/smclient/eggsmclient-osx.c b/cut-n-paste/smclient/eggsmclient-osx.c -new file mode 100644 -index 0000000..06528eb ---- /dev/null -+++ b/cut-n-paste/smclient/eggsmclient-osx.c -@@ -0,0 +1,235 @@ -+/* -+ * Copyright (C) 2007 Novell, Inc. -+ * Copyright (C) 2008 Red Hat, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Library General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Library General Public License for more details. -+ * -+ * You should have received a copy of the GNU Library General Public -+ * License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+/* EggSMClientOSX -+ * -+ * For details on the OS X logout process, see: -+ * http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html#//apple_ref/doc/uid/20002130-114618 -+ * -+ * EggSMClientOSX registers for the kAEQuitApplication AppleEvent; the -+ * handler we register (quit_requested()) will be invoked from inside -+ * the quartz event-handling code (specifically, from inside -+ * [NSApplication nextEventMatchingMask]) when an AppleEvent arrives. -+ * We use AESuspendTheCurrentEvent() and AEResumeTheCurrentEvent() to -+ * allow asynchronous / non-main-loop-reentering processing of the -+ * quit request. (These are part of the Carbon framework; it doesn't -+ * seem to be possible to handle AppleEvents asynchronously from -+ * Cocoa.) -+ */ -+ -+#include "config.h" -+ -+#include "eggsmclient-private.h" -+#include -+#include -+#include -+ -+#define EGG_TYPE_SM_CLIENT_OSX (egg_sm_client_osx_get_type ()) -+#define EGG_SM_CLIENT_OSX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_OSX, EggSMClientOSX)) -+#define EGG_SM_CLIENT_OSX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_OSX, EggSMClientOSXClass)) -+#define EGG_IS_SM_CLIENT_OSX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_OSX)) -+#define EGG_IS_SM_CLIENT_OSX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_OSX)) -+#define EGG_SM_CLIENT_OSX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_OSX, EggSMClientOSXClass)) -+ -+typedef struct _EggSMClientOSX EggSMClientOSX; -+typedef struct _EggSMClientOSXClass EggSMClientOSXClass; -+ -+struct _EggSMClientOSX { -+ EggSMClient parent; -+ -+ AppleEvent quit_event, quit_reply; -+ gboolean quit_requested, quitting; -+}; -+ -+struct _EggSMClientOSXClass -+{ -+ EggSMClientClass parent_class; -+ -+}; -+ -+static void sm_client_osx_startup (EggSMClient *client, -+ const char *client_id); -+static void sm_client_osx_will_quit (EggSMClient *client, -+ gboolean will_quit); -+static gboolean sm_client_osx_end_session (EggSMClient *client, -+ EggSMClientEndStyle style, -+ gboolean request_confirmation); -+ -+static pascal OSErr quit_requested (const AppleEvent *, AppleEvent *, long); -+ -+G_DEFINE_TYPE (EggSMClientOSX, egg_sm_client_osx, EGG_TYPE_SM_CLIENT) -+ -+static void -+egg_sm_client_osx_init (EggSMClientOSX *osx) -+{ -+ ; -+} -+ -+static void -+egg_sm_client_osx_class_init (EggSMClientOSXClass *klass) -+{ -+ EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass); -+ -+ sm_client_class->startup = sm_client_osx_startup; -+ sm_client_class->will_quit = sm_client_osx_will_quit; -+ sm_client_class->end_session = sm_client_osx_end_session; -+} -+ -+EggSMClient * -+egg_sm_client_osx_new (void) -+{ -+ return g_object_new (EGG_TYPE_SM_CLIENT_OSX, NULL); -+} -+ -+static void -+sm_client_osx_startup (EggSMClient *client, -+ const char *client_id) -+{ -+ AEInstallEventHandler (kCoreEventClass, kAEQuitApplication, -+ NewAEEventHandlerUPP (quit_requested), -+ (long)GPOINTER_TO_SIZE (client), false); -+} -+ -+static gboolean -+idle_quit_requested (gpointer client) -+{ -+ egg_sm_client_quit_requested (client); -+ return FALSE; -+} -+ -+static pascal OSErr -+quit_requested (const AppleEvent *aevt, AppleEvent *reply, long refcon) -+{ -+ EggSMClient *client = GSIZE_TO_POINTER ((gsize)refcon); -+ EggSMClientOSX *osx = GSIZE_TO_POINTER ((gsize)refcon); -+ -+ g_return_val_if_fail (!osx->quit_requested, userCanceledErr); -+ -+ /* FIXME AEInteractWithUser? */ -+ -+ osx->quit_requested = TRUE; -+ AEDuplicateDesc (aevt, &osx->quit_event); -+ AEDuplicateDesc (reply, &osx->quit_reply); -+ AESuspendTheCurrentEvent (aevt); -+ -+ /* Don't emit the "quit_requested" signal immediately, since we're -+ * called from a weird point in the guts of gdkeventloop-quartz.c -+ */ -+ g_idle_add (idle_quit_requested, client); -+ return noErr; -+} -+ -+static pascal OSErr -+quit_requested_resumed (const AppleEvent *aevt, AppleEvent *reply, long refcon) -+{ -+ EggSMClientOSX *osx = GSIZE_TO_POINTER ((gsize)refcon); -+ -+ osx->quit_requested = FALSE; -+ return osx->quitting ? noErr : userCanceledErr; -+} -+ -+static gboolean -+idle_will_quit (gpointer client) -+{ -+ EggSMClientOSX *osx = (EggSMClientOSX *)client; -+ -+ /* Resume the event with a new handler that will return a value to -+ * the system. -+ */ -+ AEResumeTheCurrentEvent (&osx->quit_event, &osx->quit_reply, -+ NewAEEventHandlerUPP (quit_requested_resumed), -+ (long)GPOINTER_TO_SIZE (client)); -+ AEDisposeDesc (&osx->quit_event); -+ AEDisposeDesc (&osx->quit_reply); -+ -+ if (osx->quitting) -+ egg_sm_client_quit (client); -+ return FALSE; -+} -+ -+static void -+sm_client_osx_will_quit (EggSMClient *client, -+ gboolean will_quit) -+{ -+ EggSMClientOSX *osx = (EggSMClientOSX *)client; -+ -+ g_return_if_fail (osx->quit_requested); -+ -+ osx->quitting = will_quit; -+ -+ /* Finish in an idle handler since the caller might have called -+ * egg_sm_client_will_quit() from inside the "quit_requested" signal -+ * handler, but may not expect the "quit" signal to arrive during -+ * the _will_quit() call. -+ */ -+ g_idle_add (idle_will_quit, client); -+} -+ -+static gboolean -+sm_client_osx_end_session (EggSMClient *client, -+ EggSMClientEndStyle style, -+ gboolean request_confirmation) -+{ -+ static const ProcessSerialNumber loginwindow_psn = { 0, kSystemProcess }; -+ AppleEvent event = { typeNull, NULL }, reply = { typeNull, NULL }; -+ AEAddressDesc target; -+ AEEventID id; -+ OSErr err; -+ -+ switch (style) -+ { -+ case EGG_SM_CLIENT_END_SESSION_DEFAULT: -+ case EGG_SM_CLIENT_LOGOUT: -+ id = request_confirmation ? kAELogOut : kAEReallyLogOut; -+ break; -+ case EGG_SM_CLIENT_REBOOT: -+ id = request_confirmation ? kAEShowRestartDialog : kAERestart; -+ break; -+ case EGG_SM_CLIENT_SHUTDOWN: -+ id = request_confirmation ? kAEShowShutdownDialog : kAEShutDown; -+ break; -+ } -+ -+ err = AECreateDesc (typeProcessSerialNumber, &loginwindow_psn, -+ sizeof (loginwindow_psn), &target); -+ if (err != noErr) -+ { -+ g_warning ("Could not create descriptor for loginwindow: %d", err); -+ return FALSE; -+ } -+ -+ err = AECreateAppleEvent (kCoreEventClass, id, &target, -+ kAutoGenerateReturnID, kAnyTransactionID, -+ &event); -+ AEDisposeDesc (&target); -+ if (err != noErr) -+ { -+ g_warning ("Could not create logout AppleEvent: %d", err); -+ return FALSE; -+ } -+ -+ err = AESend (&event, &reply, kAENoReply, kAENormalPriority, -+ kAEDefaultTimeout, NULL, NULL); -+ AEDisposeDesc (&event); -+ if (err == noErr) -+ AEDisposeDesc (&reply); -+ -+ return err == noErr; -+} -diff --git a/cut-n-paste/smclient/eggsmclient-private.h b/cut-n-paste/smclient/eggsmclient-private.h -new file mode 100644 -index 0000000..703c003 ---- /dev/null -+++ b/cut-n-paste/smclient/eggsmclient-private.h -@@ -0,0 +1,59 @@ -+/* eggsmclient-private.h -+ * Copyright (C) 2007 Novell, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+#ifndef __EGG_SM_CLIENT_PRIVATE_H__ -+#define __EGG_SM_CLIENT_PRIVATE_H__ -+ -+#include -+ -+#if !GTK_CHECK_VERSION(2,91,7) && !GTK_CHECK_VERSION(3,0,0) -+/* GTK+ 3 includes this automatically */ -+#include -+#endif -+ -+#include "eggsmclient.h" -+ -+G_BEGIN_DECLS -+ -+GKeyFile *egg_sm_client_save_state (EggSMClient *client); -+void egg_sm_client_quit_requested (EggSMClient *client); -+void egg_sm_client_quit_cancelled (EggSMClient *client); -+void egg_sm_client_quit (EggSMClient *client); -+ -+#if defined (GDK_WINDOWING_X11) -+# ifdef EGG_SM_CLIENT_BACKEND_XSMP -+GType egg_sm_client_xsmp_get_type (void); -+EggSMClient *egg_sm_client_xsmp_new (void); -+# endif -+# ifdef EGG_SM_CLIENT_BACKEND_DBUS -+GType egg_sm_client_dbus_get_type (void); -+EggSMClient *egg_sm_client_dbus_new (void); -+# endif -+#elif defined (GDK_WINDOWING_WIN32) -+GType egg_sm_client_win32_get_type (void); -+EggSMClient *egg_sm_client_win32_new (void); -+#elif defined (GDK_WINDOWING_QUARTZ) -+GType egg_sm_client_osx_get_type (void); -+EggSMClient *egg_sm_client_osx_new (void); -+#endif -+ -+G_END_DECLS -+ -+ -+#endif /* __EGG_SM_CLIENT_PRIVATE_H__ */ -diff --git a/cut-n-paste/smclient/eggsmclient-win32.c b/cut-n-paste/smclient/eggsmclient-win32.c -new file mode 100644 -index 0000000..3fec775 ---- /dev/null -+++ b/cut-n-paste/smclient/eggsmclient-win32.c -@@ -0,0 +1,353 @@ -+/* -+ * Copyright (C) 2007 Novell, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Library General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Library General Public License for more details. -+ * -+ * You should have received a copy of the GNU Library General Public -+ * License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+/* EggSMClientWin32 -+ * -+ * For details on the Windows XP logout process, see: -+ * http://msdn.microsoft.com/en-us/library/aa376876.aspx. -+ * -+ * Vista adds some new APIs which EggSMClient does not make use of; see -+ * http://msdn.microsoft.com/en-us/library/ms700677(VS.85).aspx -+ * -+ * When shutting down, Windows sends every top-level window a -+ * WM_QUERYENDSESSION event, which the application must respond to -+ * synchronously, saying whether or not it will quit. To avoid main -+ * loop re-entrancy problems (and to avoid having to muck about too -+ * much with the guts of the gdk-win32 main loop), we watch for this -+ * event in a separate thread, which then signals the main thread and -+ * waits for the main thread to handle the event. Since we don't want -+ * to require g_thread_init() to be called, we do this all using -+ * Windows-specific thread methods. -+ * -+ * After the application handles the WM_QUERYENDSESSION event, -+ * Windows then sends it a WM_ENDSESSION event with a TRUE or FALSE -+ * parameter indicating whether the session is or is not actually -+ * going to end now. We handle this from the other thread as well. -+ * -+ * As mentioned above, Vista introduces several additional new APIs -+ * that don't fit into the (current) EggSMClient API. Windows also has -+ * an entirely separate shutdown-notification scheme for non-GUI apps, -+ * which we also don't handle here. -+ */ -+ -+#include "config.h" -+ -+#include "eggsmclient-private.h" -+#include -+ -+#define WIN32_LEAN_AND_MEAN -+#define UNICODE -+#include -+#include -+ -+#define EGG_TYPE_SM_CLIENT_WIN32 (egg_sm_client_win32_get_type ()) -+#define EGG_SM_CLIENT_WIN32(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_WIN32, EggSMClientWin32)) -+#define EGG_SM_CLIENT_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_WIN32, EggSMClientWin32Class)) -+#define EGG_IS_SM_CLIENT_WIN32(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_WIN32)) -+#define EGG_IS_SM_CLIENT_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_WIN32)) -+#define EGG_SM_CLIENT_WIN32_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_WIN32, EggSMClientWin32Class)) -+ -+typedef struct _EggSMClientWin32 EggSMClientWin32; -+typedef struct _EggSMClientWin32Class EggSMClientWin32Class; -+ -+struct _EggSMClientWin32 { -+ EggSMClient parent; -+ -+ HANDLE message_event, response_event; -+ -+ volatile GSourceFunc event; -+ volatile gboolean will_quit; -+}; -+ -+struct _EggSMClientWin32Class -+{ -+ EggSMClientClass parent_class; -+ -+}; -+ -+static void sm_client_win32_startup (EggSMClient *client, -+ const char *client_id); -+static void sm_client_win32_will_quit (EggSMClient *client, -+ gboolean will_quit); -+static gboolean sm_client_win32_end_session (EggSMClient *client, -+ EggSMClientEndStyle style, -+ gboolean request_confirmation); -+ -+static GSource *g_win32_handle_source_add (HANDLE handle, GSourceFunc callback, -+ gpointer user_data); -+static gboolean got_message (gpointer user_data); -+static void sm_client_thread (gpointer data); -+ -+G_DEFINE_TYPE (EggSMClientWin32, egg_sm_client_win32, EGG_TYPE_SM_CLIENT) -+ -+static void -+egg_sm_client_win32_init (EggSMClientWin32 *win32) -+{ -+ ; -+} -+ -+static void -+egg_sm_client_win32_class_init (EggSMClientWin32Class *klass) -+{ -+ EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass); -+ -+ sm_client_class->startup = sm_client_win32_startup; -+ sm_client_class->will_quit = sm_client_win32_will_quit; -+ sm_client_class->end_session = sm_client_win32_end_session; -+} -+ -+EggSMClient * -+egg_sm_client_win32_new (void) -+{ -+ return g_object_new (EGG_TYPE_SM_CLIENT_WIN32, NULL); -+} -+ -+static void -+sm_client_win32_startup (EggSMClient *client, -+ const char *client_id) -+{ -+ EggSMClientWin32 *win32 = (EggSMClientWin32 *)client; -+ -+ win32->message_event = CreateEvent (NULL, FALSE, FALSE, NULL); -+ win32->response_event = CreateEvent (NULL, FALSE, FALSE, NULL); -+ g_win32_handle_source_add (win32->message_event, got_message, win32); -+ _beginthread (sm_client_thread, 0, client); -+} -+ -+static void -+sm_client_win32_will_quit (EggSMClient *client, -+ gboolean will_quit) -+{ -+ EggSMClientWin32 *win32 = (EggSMClientWin32 *)client; -+ -+ win32->will_quit = will_quit; -+ SetEvent (win32->response_event); -+} -+ -+static gboolean -+sm_client_win32_end_session (EggSMClient *client, -+ EggSMClientEndStyle style, -+ gboolean request_confirmation) -+{ -+ UINT uFlags = EWX_LOGOFF; -+ -+ switch (style) -+ { -+ case EGG_SM_CLIENT_END_SESSION_DEFAULT: -+ case EGG_SM_CLIENT_LOGOUT: -+ uFlags = EWX_LOGOFF; -+ break; -+ case EGG_SM_CLIENT_REBOOT: -+ uFlags = EWX_REBOOT; -+ break; -+ case EGG_SM_CLIENT_SHUTDOWN: -+ uFlags = EWX_POWEROFF; -+ break; -+ } -+ -+ /* There's no way to make ExitWindowsEx() show a logout dialog, so -+ * we ignore @request_confirmation. -+ */ -+ -+#ifdef SHTDN_REASON_FLAG_PLANNED -+ ExitWindowsEx (uFlags, SHTDN_REASON_FLAG_PLANNED); -+#else -+ ExitWindowsEx (uFlags, 0); -+#endif -+ -+ return TRUE; -+} -+ -+ -+/* callbacks from logout-listener thread */ -+ -+static gboolean -+emit_quit_requested (gpointer smclient) -+{ -+ gdk_threads_enter (); -+ egg_sm_client_quit_requested (smclient); -+ gdk_threads_leave (); -+ -+ return FALSE; -+} -+ -+static gboolean -+emit_quit (gpointer smclient) -+{ -+ EggSMClientWin32 *win32 = smclient; -+ -+ gdk_threads_enter (); -+ egg_sm_client_quit (smclient); -+ gdk_threads_leave (); -+ -+ SetEvent (win32->response_event); -+ return FALSE; -+} -+ -+static gboolean -+emit_quit_cancelled (gpointer smclient) -+{ -+ EggSMClientWin32 *win32 = smclient; -+ -+ gdk_threads_enter (); -+ egg_sm_client_quit_cancelled (smclient); -+ gdk_threads_leave (); -+ -+ SetEvent (win32->response_event); -+ return FALSE; -+} -+ -+static gboolean -+got_message (gpointer smclient) -+{ -+ EggSMClientWin32 *win32 = smclient; -+ -+ win32->event (win32); -+ return TRUE; -+} -+ -+/* Windows HANDLE GSource */ -+ -+typedef struct { -+ GSource source; -+ GPollFD pollfd; -+} GWin32HandleSource; -+ -+static gboolean -+g_win32_handle_source_prepare (GSource *source, gint *timeout) -+{ -+ *timeout = -1; -+ return FALSE; -+} -+ -+static gboolean -+g_win32_handle_source_check (GSource *source) -+{ -+ GWin32HandleSource *hsource = (GWin32HandleSource *)source; -+ -+ return hsource->pollfd.revents; -+} -+ -+static gboolean -+g_win32_handle_source_dispatch (GSource *source, GSourceFunc callback, gpointer user_data) -+{ -+ return (*callback) (user_data); -+} -+ -+static void -+g_win32_handle_source_finalize (GSource *source) -+{ -+ ; -+} -+ -+GSourceFuncs g_win32_handle_source_funcs = { -+ g_win32_handle_source_prepare, -+ g_win32_handle_source_check, -+ g_win32_handle_source_dispatch, -+ g_win32_handle_source_finalize -+}; -+ -+static GSource * -+g_win32_handle_source_add (HANDLE handle, GSourceFunc callback, gpointer user_data) -+{ -+ GWin32HandleSource *hsource; -+ GSource *source; -+ -+ source = g_source_new (&g_win32_handle_source_funcs, sizeof (GWin32HandleSource)); -+ hsource = (GWin32HandleSource *)source; -+ hsource->pollfd.fd = (int)handle; -+ hsource->pollfd.events = G_IO_IN; -+ hsource->pollfd.revents = 0; -+ g_source_add_poll (source, &hsource->pollfd); -+ -+ g_source_set_callback (source, callback, user_data, NULL); -+ g_source_attach (source, NULL); -+ return source; -+} -+ -+/* logout-listener thread */ -+ -+LRESULT CALLBACK -+sm_client_win32_window_procedure (HWND hwnd, -+ UINT message, -+ WPARAM wParam, -+ LPARAM lParam) -+{ -+ EggSMClientWin32 *win32 = -+ (EggSMClientWin32 *)GetWindowLongPtr (hwnd, GWLP_USERDATA); -+ -+ switch (message) -+ { -+ case WM_QUERYENDSESSION: -+ win32->event = emit_quit_requested; -+ SetEvent (win32->message_event); -+ -+ WaitForSingleObject (win32->response_event, INFINITE); -+ return win32->will_quit; -+ -+ case WM_ENDSESSION: -+ if (wParam) -+ { -+ /* The session is ending */ -+ win32->event = emit_quit; -+ } -+ else -+ { -+ /* Nope, the session *isn't* ending */ -+ win32->event = emit_quit_cancelled; -+ } -+ -+ SetEvent (win32->message_event); -+ WaitForSingleObject (win32->response_event, INFINITE); -+ -+ return 0; -+ -+ default: -+ return DefWindowProc (hwnd, message, wParam, lParam); -+ } -+} -+ -+static void -+sm_client_thread (gpointer smclient) -+{ -+ HINSTANCE instance; -+ WNDCLASSEXW wcl; -+ ATOM klass; -+ HWND window; -+ MSG msg; -+ -+ instance = GetModuleHandle (NULL); -+ -+ memset (&wcl, 0, sizeof (WNDCLASSEX)); -+ wcl.cbSize = sizeof (WNDCLASSEX); -+ wcl.lpfnWndProc = sm_client_win32_window_procedure; -+ wcl.hInstance = instance; -+ wcl.lpszClassName = L"EggSmClientWindow"; -+ klass = RegisterClassEx (&wcl); -+ -+ window = CreateWindowEx (0, MAKEINTRESOURCE (klass), -+ L"EggSmClientWindow", 0, -+ 10, 10, 50, 50, GetDesktopWindow (), -+ NULL, instance, NULL); -+ SetWindowLongPtr (window, GWLP_USERDATA, (LONG_PTR)smclient); -+ -+ /* main loop */ -+ while (GetMessage (&msg, NULL, 0, 0)) -+ DispatchMessage (&msg); -+} -diff --git a/cut-n-paste/smclient/eggsmclient-xsmp.c b/cut-n-paste/smclient/eggsmclient-xsmp.c -new file mode 100644 -index 0000000..205f973 ---- /dev/null -+++ b/cut-n-paste/smclient/eggsmclient-xsmp.c -@@ -0,0 +1,1382 @@ -+/* -+ * Copyright (C) 2007 Novell, Inc. -+ * -+ * Inspired by various other pieces of code including GsmClient (C) -+ * 2001 Havoc Pennington, GnomeClient (C) 1998 Carsten Schaar, and twm -+ * session code (C) 1998 The Open Group. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Library General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Library General Public License for more details. -+ * -+ * You should have received a copy of the GNU Library General Public -+ * License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+#include "config.h" -+ -+#include "eggsmclient.h" -+#include "eggsmclient-private.h" -+ -+#include "eggdesktopfile.h" -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+#define EGG_TYPE_SM_CLIENT_XSMP (egg_sm_client_xsmp_get_type ()) -+#define EGG_SM_CLIENT_XSMP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMP)) -+#define EGG_SM_CLIENT_XSMP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMPClass)) -+#define EGG_IS_SM_CLIENT_XSMP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_XSMP)) -+#define EGG_IS_SM_CLIENT_XSMP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_XSMP)) -+#define EGG_SM_CLIENT_XSMP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMPClass)) -+ -+typedef struct _EggSMClientXSMP EggSMClientXSMP; -+typedef struct _EggSMClientXSMPClass EggSMClientXSMPClass; -+ -+/* These mostly correspond to the similarly-named states in section -+ * 9.1 of the XSMP spec. Some of the states there aren't represented -+ * here, because we don't need them. SHUTDOWN_CANCELLED is slightly -+ * different from the spec; we use it when the client is IDLE after a -+ * ShutdownCancelled message, but the application is still interacting -+ * and doesn't know the shutdown has been cancelled yet. -+ */ -+typedef enum -+{ -+ XSMP_STATE_IDLE, -+ XSMP_STATE_SAVE_YOURSELF, -+ XSMP_STATE_INTERACT_REQUEST, -+ XSMP_STATE_INTERACT, -+ XSMP_STATE_SAVE_YOURSELF_DONE, -+ XSMP_STATE_SHUTDOWN_CANCELLED, -+ XSMP_STATE_CONNECTION_CLOSED -+} EggSMClientXSMPState; -+ -+static const char *state_names[] = { -+ "idle", -+ "save-yourself", -+ "interact-request", -+ "interact", -+ "save-yourself-done", -+ "shutdown-cancelled", -+ "connection-closed" -+}; -+ -+#define EGG_SM_CLIENT_XSMP_STATE(xsmp) (state_names[(xsmp)->state]) -+ -+struct _EggSMClientXSMP -+{ -+ EggSMClient parent; -+ -+ SmcConn connection; -+ char *client_id; -+ -+ EggSMClientXSMPState state; -+ char **restart_command; -+ gboolean set_restart_command; -+ int restart_style; -+ -+ guint idle; -+ -+ /* Current SaveYourself state */ -+ guint expecting_initial_save_yourself : 1; -+ guint need_save_state : 1; -+ guint need_quit_requested : 1; -+ guint interact_errors : 1; -+ guint shutting_down : 1; -+ -+ /* Todo list */ -+ guint waiting_to_set_initial_properties : 1; -+ guint waiting_to_emit_quit : 1; -+ guint waiting_to_emit_quit_cancelled : 1; -+ guint waiting_to_save_myself : 1; -+ -+}; -+ -+struct _EggSMClientXSMPClass -+{ -+ EggSMClientClass parent_class; -+ -+}; -+ -+static void sm_client_xsmp_startup (EggSMClient *client, -+ const char *client_id); -+static void sm_client_xsmp_set_restart_command (EggSMClient *client, -+ int argc, -+ const char **argv); -+static void sm_client_xsmp_will_quit (EggSMClient *client, -+ gboolean will_quit); -+static gboolean sm_client_xsmp_end_session (EggSMClient *client, -+ EggSMClientEndStyle style, -+ gboolean request_confirmation); -+ -+static void xsmp_save_yourself (SmcConn smc_conn, -+ SmPointer client_data, -+ int save_style, -+ Bool shutdown, -+ int interact_style, -+ Bool fast); -+static void xsmp_die (SmcConn smc_conn, -+ SmPointer client_data); -+static void xsmp_save_complete (SmcConn smc_conn, -+ SmPointer client_data); -+static void xsmp_shutdown_cancelled (SmcConn smc_conn, -+ SmPointer client_data); -+static void xsmp_interact (SmcConn smc_conn, -+ SmPointer client_data); -+ -+static SmProp *array_prop (const char *name, -+ ...); -+static SmProp *ptrarray_prop (const char *name, -+ GPtrArray *values); -+static SmProp *string_prop (const char *name, -+ const char *value); -+static SmProp *card8_prop (const char *name, -+ unsigned char value); -+ -+static void set_properties (EggSMClientXSMP *xsmp, ...); -+static void delete_properties (EggSMClientXSMP *xsmp, ...); -+ -+static GPtrArray *generate_command (char **restart_command, -+ const char *client_id, -+ const char *state_file); -+ -+static void save_state (EggSMClientXSMP *xsmp); -+static void do_save_yourself (EggSMClientXSMP *xsmp); -+static void update_pending_events (EggSMClientXSMP *xsmp); -+ -+static void ice_init (void); -+static gboolean process_ice_messages (IceConn ice_conn); -+static void smc_error_handler (SmcConn smc_conn, -+ Bool swap, -+ int offending_minor_opcode, -+ unsigned long offending_sequence, -+ int error_class, -+ int severity, -+ SmPointer values); -+ -+G_DEFINE_TYPE (EggSMClientXSMP, egg_sm_client_xsmp, EGG_TYPE_SM_CLIENT) -+ -+static void -+egg_sm_client_xsmp_init (EggSMClientXSMP *xsmp) -+{ -+ xsmp->state = XSMP_STATE_CONNECTION_CLOSED; -+ xsmp->connection = NULL; -+ xsmp->restart_style = SmRestartIfRunning; -+} -+ -+static void -+egg_sm_client_xsmp_class_init (EggSMClientXSMPClass *klass) -+{ -+ EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass); -+ -+ sm_client_class->startup = sm_client_xsmp_startup; -+ sm_client_class->set_restart_command = sm_client_xsmp_set_restart_command; -+ sm_client_class->will_quit = sm_client_xsmp_will_quit; -+ sm_client_class->end_session = sm_client_xsmp_end_session; -+} -+ -+EggSMClient * -+egg_sm_client_xsmp_new (void) -+{ -+ const gchar *backend = g_getenv ("GDK_BACKEND"); -+ -+#if GTK_CHECK_VERSION(3,0,0) -+ if (backend != NULL && strcmp (backend, "x11") != 0) -+ return NULL; -+#endif -+ -+ if (!g_getenv ("SESSION_MANAGER")) -+ return NULL; -+ -+ return g_object_new (EGG_TYPE_SM_CLIENT_XSMP, NULL); -+} -+ -+static gboolean -+sm_client_xsmp_set_initial_properties (gpointer user_data) -+{ -+ EggSMClientXSMP *xsmp = user_data; -+ EggDesktopFile *desktop_file; -+ GPtrArray *clone, *restart; -+ char pid_str[64]; -+ -+ if (xsmp->idle) -+ { -+ g_source_remove (xsmp->idle); -+ xsmp->idle = 0; -+ } -+ xsmp->waiting_to_set_initial_properties = FALSE; -+ -+ if (egg_sm_client_get_mode () == EGG_SM_CLIENT_MODE_NO_RESTART) -+ xsmp->restart_style = SmRestartNever; -+ -+ /* Parse info out of desktop file */ -+ desktop_file = egg_get_desktop_file (); -+ if (desktop_file) -+ { -+ GError *err = NULL; -+ char *cmdline, **argv; -+ int argc; -+ -+ if (xsmp->restart_style == SmRestartIfRunning) -+ { -+ if (egg_desktop_file_get_boolean (desktop_file, -+ "X-GNOME-AutoRestart", NULL)) -+ xsmp->restart_style = SmRestartImmediately; -+ } -+ -+ if (!xsmp->set_restart_command) -+ { -+ cmdline = egg_desktop_file_parse_exec (desktop_file, NULL, &err); -+ if (cmdline && g_shell_parse_argv (cmdline, &argc, &argv, &err)) -+ { -+ egg_sm_client_set_restart_command (EGG_SM_CLIENT (xsmp), -+ argc, (const char **)argv); -+ g_strfreev (argv); -+ } -+ else -+ { -+ g_warning ("Could not parse Exec line in desktop file: %s", -+ err->message); -+ g_error_free (err); -+ } -+ g_free (cmdline); -+ } -+ } -+ -+ if (!xsmp->set_restart_command) -+ xsmp->restart_command = g_strsplit (g_get_prgname (), " ", -1); -+ -+ clone = generate_command (xsmp->restart_command, NULL, NULL); -+ restart = generate_command (xsmp->restart_command, xsmp->client_id, NULL); -+ -+ g_debug ("Setting initial properties"); -+ -+ /* Program, CloneCommand, RestartCommand, and UserID are required. -+ * ProcessID isn't required, but the SM may be able to do something -+ * useful with it. -+ */ -+ g_snprintf (pid_str, sizeof (pid_str), "%lu", (gulong) getpid ()); -+ set_properties (xsmp, -+ string_prop (SmProgram, g_get_prgname ()), -+ ptrarray_prop (SmCloneCommand, clone), -+ ptrarray_prop (SmRestartCommand, restart), -+ string_prop (SmUserID, g_get_user_name ()), -+ string_prop (SmProcessID, pid_str), -+ card8_prop (SmRestartStyleHint, xsmp->restart_style), -+ NULL); -+ g_ptr_array_free (clone, TRUE); -+ g_ptr_array_free (restart, TRUE); -+ -+ if (desktop_file) -+ { -+ set_properties (xsmp, -+ string_prop ("_GSM_DesktopFile", egg_desktop_file_get_source (desktop_file)), -+ NULL); -+ } -+ -+ update_pending_events (xsmp); -+ return FALSE; -+} -+ -+/* This gets called from two different places: xsmp_die() (when the -+ * server asks us to disconnect) and process_ice_messages() (when the -+ * server disconnects unexpectedly). -+ */ -+static void -+sm_client_xsmp_disconnect (EggSMClientXSMP *xsmp) -+{ -+ SmcConn connection; -+ -+ if (!xsmp->connection) -+ return; -+ -+ g_debug ("Disconnecting"); -+ -+ connection = xsmp->connection; -+ xsmp->connection = NULL; -+ SmcCloseConnection (connection, 0, NULL); -+ xsmp->state = XSMP_STATE_CONNECTION_CLOSED; -+ -+ xsmp->waiting_to_save_myself = FALSE; -+ update_pending_events (xsmp); -+} -+ -+static void -+sm_client_xsmp_startup (EggSMClient *client, -+ const char *client_id) -+{ -+ EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client; -+ SmcCallbacks callbacks; -+ char *ret_client_id; -+ char error_string_ret[256]; -+ -+ xsmp->client_id = g_strdup (client_id); -+ -+ ice_init (); -+ SmcSetErrorHandler (smc_error_handler); -+ -+ callbacks.save_yourself.callback = xsmp_save_yourself; -+ callbacks.die.callback = xsmp_die; -+ callbacks.save_complete.callback = xsmp_save_complete; -+ callbacks.shutdown_cancelled.callback = xsmp_shutdown_cancelled; -+ -+ callbacks.save_yourself.client_data = xsmp; -+ callbacks.die.client_data = xsmp; -+ callbacks.save_complete.client_data = xsmp; -+ callbacks.shutdown_cancelled.client_data = xsmp; -+ -+ client_id = NULL; -+ error_string_ret[0] = '\0'; -+ xsmp->connection = -+ SmcOpenConnection (NULL, xsmp, SmProtoMajor, SmProtoMinor, -+ SmcSaveYourselfProcMask | SmcDieProcMask | -+ SmcSaveCompleteProcMask | -+ SmcShutdownCancelledProcMask, -+ &callbacks, -+ xsmp->client_id, &ret_client_id, -+ sizeof (error_string_ret), error_string_ret); -+ -+ if (!xsmp->connection) -+ { -+ g_warning ("Failed to connect to the session manager: %s\n", -+ error_string_ret[0] ? -+ error_string_ret : "no error message given"); -+ xsmp->state = XSMP_STATE_CONNECTION_CLOSED; -+ return; -+ } -+ -+ /* We expect a pointless initial SaveYourself if either (a) we -+ * didn't have an initial client ID, or (b) we DID have an initial -+ * client ID, but the server rejected it and gave us a new one. -+ */ -+ if (!xsmp->client_id || -+ (ret_client_id && strcmp (xsmp->client_id, ret_client_id) != 0)) -+ xsmp->expecting_initial_save_yourself = TRUE; -+ -+ if (ret_client_id) -+ { -+ g_free (xsmp->client_id); -+ xsmp->client_id = g_strdup (ret_client_id); -+ free (ret_client_id); -+ -+ gdk_threads_enter (); -+#if !GTK_CHECK_VERSION(2,23,3) && !GTK_CHECK_VERSION(3,0,0) -+ gdk_set_sm_client_id (xsmp->client_id); -+#else -+ gdk_x11_set_sm_client_id (xsmp->client_id); -+#endif -+ gdk_threads_leave (); -+ -+ g_debug ("Got client ID \"%s\"", xsmp->client_id); -+ } -+ -+ xsmp->state = XSMP_STATE_IDLE; -+ -+ /* Do not set the initial properties until we reach the main loop, -+ * so that the application has a chance to call -+ * egg_set_desktop_file(). (This may also help the session manager -+ * have a better idea of when the application is fully up and -+ * running.) -+ */ -+ xsmp->waiting_to_set_initial_properties = TRUE; -+ xsmp->idle = g_idle_add (sm_client_xsmp_set_initial_properties, client); -+} -+ -+static void -+sm_client_xsmp_set_restart_command (EggSMClient *client, -+ int argc, -+ const char **argv) -+{ -+ EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client; -+ int i; -+ -+ g_strfreev (xsmp->restart_command); -+ -+ xsmp->restart_command = g_new (char *, argc + 1); -+ for (i = 0; i < argc; i++) -+ xsmp->restart_command[i] = g_strdup (argv[i]); -+ xsmp->restart_command[i] = NULL; -+ -+ xsmp->set_restart_command = TRUE; -+} -+ -+static void -+sm_client_xsmp_will_quit (EggSMClient *client, -+ gboolean will_quit) -+{ -+ EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client; -+ -+ if (xsmp->state == XSMP_STATE_CONNECTION_CLOSED) -+ { -+ /* The session manager has already exited! Schedule a quit -+ * signal. -+ */ -+ xsmp->waiting_to_emit_quit = TRUE; -+ update_pending_events (xsmp); -+ return; -+ } -+ else if (xsmp->state == XSMP_STATE_SHUTDOWN_CANCELLED) -+ { -+ /* We received a ShutdownCancelled message while the application -+ * was interacting; Schedule a quit_cancelled signal. -+ */ -+ xsmp->waiting_to_emit_quit_cancelled = TRUE; -+ update_pending_events (xsmp); -+ return; -+ } -+ -+ g_return_if_fail (xsmp->state == XSMP_STATE_INTERACT); -+ -+ g_debug ("Sending InteractDone(%s)", will_quit ? "False" : "True"); -+ SmcInteractDone (xsmp->connection, !will_quit); -+ -+ if (will_quit && xsmp->need_save_state) -+ save_state (xsmp); -+ -+ g_debug ("Sending SaveYourselfDone(%s)", will_quit ? "True" : "False"); -+ SmcSaveYourselfDone (xsmp->connection, will_quit); -+ xsmp->state = XSMP_STATE_SAVE_YOURSELF_DONE; -+} -+ -+static gboolean -+sm_client_xsmp_end_session (EggSMClient *client, -+ EggSMClientEndStyle style, -+ gboolean request_confirmation) -+{ -+ EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client; -+ int save_type; -+ -+ /* To end the session via XSMP, we have to send a -+ * SaveYourselfRequest. We aren't allowed to do that if anything -+ * else is going on, but we don't want to expose this fact to the -+ * application. So we do our best to patch things up here... -+ * -+ * In the worst case, this method might block for some length of -+ * time in process_ice_messages, but the only time that code path is -+ * honestly likely to get hit is if the application tries to end the -+ * session as the very first thing it does, in which case it -+ * probably won't actually block anyway. It's not worth gunking up -+ * the API to try to deal nicely with the other 0.01% of cases where -+ * this happens. -+ */ -+ -+ while (xsmp->state != XSMP_STATE_IDLE || -+ xsmp->expecting_initial_save_yourself) -+ { -+ /* If we're already shutting down, we don't need to do anything. */ -+ if (xsmp->shutting_down) -+ return TRUE; -+ -+ switch (xsmp->state) -+ { -+ case XSMP_STATE_CONNECTION_CLOSED: -+ return FALSE; -+ -+ case XSMP_STATE_SAVE_YOURSELF: -+ /* Trying to log out from the save_state callback? Whatever. -+ * Abort the save_state. -+ */ -+ SmcSaveYourselfDone (xsmp->connection, FALSE); -+ xsmp->state = XSMP_STATE_SAVE_YOURSELF_DONE; -+ break; -+ -+ case XSMP_STATE_INTERACT_REQUEST: -+ case XSMP_STATE_INTERACT: -+ case XSMP_STATE_SHUTDOWN_CANCELLED: -+ /* Already in a shutdown-related state, just ignore -+ * the new shutdown request... -+ */ -+ return TRUE; -+ -+ case XSMP_STATE_IDLE: -+ if (xsmp->waiting_to_set_initial_properties) -+ sm_client_xsmp_set_initial_properties (xsmp); -+ -+ if (!xsmp->expecting_initial_save_yourself) -+ break; -+ /* else fall through */ -+ -+ case XSMP_STATE_SAVE_YOURSELF_DONE: -+ /* We need to wait for some response from the server.*/ -+ process_ice_messages (SmcGetIceConnection (xsmp->connection)); -+ break; -+ -+ default: -+ /* Hm... shouldn't happen */ -+ return FALSE; -+ } -+ } -+ -+ /* xfce4-session will do the wrong thing if we pass SmSaveGlobal and -+ * the user chooses to save the session. But gnome-session will do -+ * the wrong thing if we pass SmSaveBoth and the user chooses NOT to -+ * save the session... Sigh. -+ */ -+ if (!strcmp (SmcVendor (xsmp->connection), "xfce4-session")) -+ save_type = SmSaveBoth; -+ else -+ save_type = SmSaveGlobal; -+ -+ g_debug ("Sending SaveYourselfRequest(SmSaveGlobal, Shutdown, SmInteractStyleAny, %sFast)", request_confirmation ? "!" : ""); -+ SmcRequestSaveYourself (xsmp->connection, -+ save_type, -+ True, /* shutdown */ -+ SmInteractStyleAny, -+ !request_confirmation, /* fast */ -+ True /* global */); -+ return TRUE; -+} -+ -+static gboolean -+idle_do_pending_events (gpointer data) -+{ -+ EggSMClientXSMP *xsmp = data; -+ EggSMClient *client = data; -+ -+ gdk_threads_enter (); -+ -+ xsmp->idle = 0; -+ -+ if (xsmp->waiting_to_emit_quit) -+ { -+ xsmp->waiting_to_emit_quit = FALSE; -+ egg_sm_client_quit (client); -+ goto out; -+ } -+ -+ if (xsmp->waiting_to_emit_quit_cancelled) -+ { -+ xsmp->waiting_to_emit_quit_cancelled = FALSE; -+ egg_sm_client_quit_cancelled (client); -+ xsmp->state = XSMP_STATE_IDLE; -+ } -+ -+ if (xsmp->waiting_to_save_myself) -+ { -+ xsmp->waiting_to_save_myself = FALSE; -+ do_save_yourself (xsmp); -+ } -+ -+ out: -+ gdk_threads_leave (); -+ return FALSE; -+} -+ -+static void -+update_pending_events (EggSMClientXSMP *xsmp) -+{ -+ gboolean want_idle = -+ xsmp->waiting_to_emit_quit || -+ xsmp->waiting_to_emit_quit_cancelled || -+ xsmp->waiting_to_save_myself; -+ -+ if (want_idle) -+ { -+ if (xsmp->idle == 0) -+ xsmp->idle = g_idle_add (idle_do_pending_events, xsmp); -+ } -+ else -+ { -+ if (xsmp->idle != 0) -+ g_source_remove (xsmp->idle); -+ xsmp->idle = 0; -+ } -+} -+ -+static void -+fix_broken_state (EggSMClientXSMP *xsmp, const char *message, -+ gboolean send_interact_done, -+ gboolean send_save_yourself_done) -+{ -+ g_warning ("Received XSMP %s message in state %s: client or server error", -+ message, EGG_SM_CLIENT_XSMP_STATE (xsmp)); -+ -+ /* Forget any pending SaveYourself plans we had */ -+ xsmp->waiting_to_save_myself = FALSE; -+ update_pending_events (xsmp); -+ -+ if (send_interact_done) -+ SmcInteractDone (xsmp->connection, False); -+ if (send_save_yourself_done) -+ SmcSaveYourselfDone (xsmp->connection, True); -+ -+ xsmp->state = send_save_yourself_done ? XSMP_STATE_SAVE_YOURSELF_DONE : XSMP_STATE_IDLE; -+} -+ -+/* SM callbacks */ -+ -+static void -+xsmp_save_yourself (SmcConn smc_conn, -+ SmPointer client_data, -+ int save_type, -+ Bool shutdown, -+ int interact_style, -+ Bool fast) -+{ -+ EggSMClientXSMP *xsmp = client_data; -+ gboolean wants_quit_requested; -+ -+ g_debug ("Received SaveYourself(%s, %s, %s, %s) in state %s", -+ save_type == SmSaveLocal ? "SmSaveLocal" : -+ save_type == SmSaveGlobal ? "SmSaveGlobal" : "SmSaveBoth", -+ shutdown ? "Shutdown" : "!Shutdown", -+ interact_style == SmInteractStyleAny ? "SmInteractStyleAny" : -+ interact_style == SmInteractStyleErrors ? "SmInteractStyleErrors" : -+ "SmInteractStyleNone", fast ? "Fast" : "!Fast", -+ EGG_SM_CLIENT_XSMP_STATE (xsmp)); -+ -+ if (xsmp->state != XSMP_STATE_IDLE && -+ xsmp->state != XSMP_STATE_SHUTDOWN_CANCELLED) -+ { -+ fix_broken_state (xsmp, "SaveYourself", FALSE, TRUE); -+ return; -+ } -+ -+ if (xsmp->waiting_to_set_initial_properties) -+ sm_client_xsmp_set_initial_properties (xsmp); -+ -+ /* If this is the initial SaveYourself, ignore it; we've already set -+ * properties and there's no reason to actually save state too. -+ */ -+ if (xsmp->expecting_initial_save_yourself) -+ { -+ xsmp->expecting_initial_save_yourself = FALSE; -+ -+ if (save_type == SmSaveLocal && -+ interact_style == SmInteractStyleNone && -+ !shutdown && !fast) -+ { -+ g_debug ("Sending SaveYourselfDone(True) for initial SaveYourself"); -+ SmcSaveYourselfDone (xsmp->connection, True); -+ /* As explained in the comment at the end of -+ * do_save_yourself(), SAVE_YOURSELF_DONE is the correct -+ * state here, not IDLE. -+ */ -+ xsmp->state = XSMP_STATE_SAVE_YOURSELF_DONE; -+ return; -+ } -+ else -+ g_warning ("First SaveYourself was not the expected one!"); -+ } -+ -+ /* Even ignoring the "fast" flag completely, there are still 18 -+ * different combinations of save_type, shutdown and interact_style. -+ * We interpret them as follows: -+ * -+ * Type Shutdown Interact Interpretation -+ * G F A/E/N do nothing (1) -+ * G T N do nothing (1)* -+ * G T A/E quit_requested (2) -+ * L/B F A/E/N save_state (3) -+ * L/B T N save_state (3)* -+ * L/B T A/E quit_requested, then save_state (4) -+ * -+ * 1. Do nothing, because the SM asked us to do something -+ * uninteresting (save open files, but then don't quit -+ * afterward) or rude (save open files without asking the user -+ * for confirmation). -+ * -+ * 2. Request interaction and then emit ::quit_requested. This -+ * perhaps isn't quite correct for the SmInteractStyleErrors -+ * case, but we don't care. -+ * -+ * 3. Emit ::save_state. The SmSaveBoth SaveYourselfs in these -+ * rows essentially get demoted to SmSaveLocal, because their -+ * Global halves correspond to "do nothing". -+ * -+ * 4. Request interaction, emit ::quit_requested, and then emit -+ * ::save_state after interacting. This is the SmSaveBoth -+ * equivalent of #2, but we also promote SmSaveLocal shutdown -+ * SaveYourselfs to SmSaveBoth here, because we want to give -+ * the user a chance to save open files before quitting. -+ * -+ * (* It would be nice if we could do something useful when the -+ * session manager sends a SaveYourself with shutdown True and -+ * SmInteractStyleNone. But we can't, so we just pretend it didn't -+ * even tell us it was shutting down. The docs for ::quit mention -+ * that it might not always be preceded by ::quit_requested.) -+ */ -+ -+ /* As an optimization, we don't actually request interaction and -+ * emit ::quit_requested if the application isn't listening to the -+ * signal. -+ */ -+ wants_quit_requested = g_signal_has_handler_pending (xsmp, g_signal_lookup ("quit_requested", EGG_TYPE_SM_CLIENT), 0, FALSE); -+ -+ xsmp->need_save_state = (save_type != SmSaveGlobal); -+ xsmp->need_quit_requested = (shutdown && wants_quit_requested && -+ interact_style != SmInteractStyleNone); -+ xsmp->interact_errors = (interact_style == SmInteractStyleErrors); -+ -+ xsmp->shutting_down = shutdown; -+ -+ do_save_yourself (xsmp); -+} -+ -+static void -+do_save_yourself (EggSMClientXSMP *xsmp) -+{ -+ if (xsmp->state == XSMP_STATE_SHUTDOWN_CANCELLED) -+ { -+ /* The SM cancelled a previous SaveYourself, but we haven't yet -+ * had a chance to tell the application, so we can't start -+ * processing this SaveYourself yet. -+ */ -+ xsmp->waiting_to_save_myself = TRUE; -+ update_pending_events (xsmp); -+ return; -+ } -+ -+ if (xsmp->need_quit_requested) -+ { -+ xsmp->state = XSMP_STATE_INTERACT_REQUEST; -+ -+ g_debug ("Sending InteractRequest(%s)", -+ xsmp->interact_errors ? "Error" : "Normal"); -+ SmcInteractRequest (xsmp->connection, -+ xsmp->interact_errors ? SmDialogError : SmDialogNormal, -+ xsmp_interact, -+ xsmp); -+ return; -+ } -+ -+ if (xsmp->need_save_state) -+ { -+ save_state (xsmp); -+ -+ /* Though unlikely, the client could have been disconnected -+ * while the application was saving its state. -+ */ -+ if (!xsmp->connection) -+ return; -+ } -+ -+ g_debug ("Sending SaveYourselfDone(True)"); -+ SmcSaveYourselfDone (xsmp->connection, True); -+ -+ /* The client state diagram in the XSMP spec says that after a -+ * non-shutdown SaveYourself, we go directly back to "idle". But -+ * everything else in both the XSMP spec and the libSM docs -+ * disagrees. -+ */ -+ xsmp->state = XSMP_STATE_SAVE_YOURSELF_DONE; -+} -+ -+static void -+save_state (EggSMClientXSMP *xsmp) -+{ -+ GKeyFile *state_file; -+ char *state_file_path, *data; -+ EggDesktopFile *desktop_file; -+ GPtrArray *restart; -+ int offset, fd; -+ -+ /* We set xsmp->state before emitting save_state, but our caller is -+ * responsible for setting it back afterward. -+ */ -+ xsmp->state = XSMP_STATE_SAVE_YOURSELF; -+ -+ state_file = egg_sm_client_save_state ((EggSMClient *)xsmp); -+ if (!state_file) -+ { -+ restart = generate_command (xsmp->restart_command, xsmp->client_id, NULL); -+ set_properties (xsmp, -+ ptrarray_prop (SmRestartCommand, restart), -+ NULL); -+ g_ptr_array_free (restart, TRUE); -+ delete_properties (xsmp, SmDiscardCommand, NULL); -+ return; -+ } -+ -+ desktop_file = egg_get_desktop_file (); -+ if (desktop_file) -+ { -+ GKeyFile *merged_file; -+ char *desktop_file_path; -+ -+ merged_file = g_key_file_new (); -+ desktop_file_path = -+ g_filename_from_uri (egg_desktop_file_get_source (desktop_file), -+ NULL, NULL); -+ if (desktop_file_path && -+ g_key_file_load_from_file (merged_file, desktop_file_path, -+ G_KEY_FILE_KEEP_COMMENTS | -+ G_KEY_FILE_KEEP_TRANSLATIONS, NULL)) -+ { -+ guint g, k, i; -+ char **groups, **keys, *value, *exec; -+ -+ groups = g_key_file_get_groups (state_file, NULL); -+ for (g = 0; groups[g]; g++) -+ { -+ keys = g_key_file_get_keys (state_file, groups[g], NULL, NULL); -+ for (k = 0; keys[k]; k++) -+ { -+ value = g_key_file_get_value (state_file, groups[g], -+ keys[k], NULL); -+ if (value) -+ { -+ g_key_file_set_value (merged_file, groups[g], -+ keys[k], value); -+ g_free (value); -+ } -+ } -+ g_strfreev (keys); -+ } -+ g_strfreev (groups); -+ -+ g_key_file_free (state_file); -+ state_file = merged_file; -+ -+ /* Update Exec key using "--sm-client-state-file %k" */ -+ restart = generate_command (xsmp->restart_command, -+ NULL, "%k"); -+ for (i = 0; i < restart->len; i++) -+ restart->pdata[i] = g_shell_quote (restart->pdata[i]); -+ g_ptr_array_add (restart, NULL); -+ exec = g_strjoinv (" ", (char **)restart->pdata); -+ g_strfreev ((char **)restart->pdata); -+ g_ptr_array_free (restart, FALSE); -+ -+ g_key_file_set_string (state_file, EGG_DESKTOP_FILE_GROUP, -+ EGG_DESKTOP_FILE_KEY_EXEC, -+ exec); -+ g_free (exec); -+ } -+ else -+ desktop_file = NULL; -+ -+ g_free (desktop_file_path); -+ } -+ -+ /* Now write state_file to disk. (We can't use mktemp(), because -+ * that requires the filename to end with "XXXXXX", and we want -+ * it to end with ".desktop".) -+ */ -+ -+ data = g_key_file_to_data (state_file, NULL, NULL); -+ g_key_file_free (state_file); -+ -+ offset = 0; -+ while (1) -+ { -+ state_file_path = g_strdup_printf ("%s%csession-state%c%s-%ld.%s", -+ g_get_user_config_dir (), -+ G_DIR_SEPARATOR, G_DIR_SEPARATOR, -+ g_get_prgname (), -+ (long)time (NULL) + offset, -+ desktop_file ? "desktop" : "state"); -+ -+ fd = open (state_file_path, O_WRONLY | O_CREAT | O_EXCL, 0644); -+ if (fd == -1) -+ { -+ if (errno == EEXIST) -+ { -+ offset++; -+ g_free (state_file_path); -+ continue; -+ } -+ else if (errno == ENOTDIR || errno == ENOENT) -+ { -+ char *sep = strrchr (state_file_path, G_DIR_SEPARATOR); -+ -+ *sep = '\0'; -+ if (g_mkdir_with_parents (state_file_path, 0755) != 0) -+ { -+ g_warning ("Could not create directory '%s'", -+ state_file_path); -+ g_free (state_file_path); -+ state_file_path = NULL; -+ break; -+ } -+ -+ continue; -+ } -+ -+ g_warning ("Could not create file '%s': %s", -+ state_file_path, g_strerror (errno)); -+ g_free (state_file_path); -+ state_file_path = NULL; -+ break; -+ } -+ -+ close (fd); -+ g_file_set_contents (state_file_path, data, -1, NULL); -+ break; -+ } -+ g_free (data); -+ -+ restart = generate_command (xsmp->restart_command, xsmp->client_id, -+ state_file_path); -+ set_properties (xsmp, -+ ptrarray_prop (SmRestartCommand, restart), -+ NULL); -+ g_ptr_array_free (restart, TRUE); -+ -+ if (state_file_path) -+ { -+ set_properties (xsmp, -+ array_prop (SmDiscardCommand, -+ "/bin/rm", "-rf", state_file_path, -+ NULL), -+ NULL); -+ g_free (state_file_path); -+ } -+} -+ -+static void -+xsmp_interact (SmcConn smc_conn, -+ SmPointer client_data) -+{ -+ EggSMClientXSMP *xsmp = client_data; -+ EggSMClient *client = client_data; -+ -+ g_debug ("Received Interact message in state %s", -+ EGG_SM_CLIENT_XSMP_STATE (xsmp)); -+ -+ if (xsmp->state != XSMP_STATE_INTERACT_REQUEST) -+ { -+ fix_broken_state (xsmp, "Interact", TRUE, TRUE); -+ return; -+ } -+ -+ xsmp->state = XSMP_STATE_INTERACT; -+ egg_sm_client_quit_requested (client); -+} -+ -+static void -+xsmp_die (SmcConn smc_conn, -+ SmPointer client_data) -+{ -+ EggSMClientXSMP *xsmp = client_data; -+ EggSMClient *client = client_data; -+ -+ g_debug ("Received Die message in state %s", -+ EGG_SM_CLIENT_XSMP_STATE (xsmp)); -+ -+ sm_client_xsmp_disconnect (xsmp); -+ egg_sm_client_quit (client); -+} -+ -+static void -+xsmp_save_complete (SmcConn smc_conn, -+ SmPointer client_data) -+{ -+ EggSMClientXSMP *xsmp = client_data; -+ -+ g_debug ("Received SaveComplete message in state %s", -+ EGG_SM_CLIENT_XSMP_STATE (xsmp)); -+ -+ if (xsmp->state == XSMP_STATE_SAVE_YOURSELF_DONE) -+ xsmp->state = XSMP_STATE_IDLE; -+ else -+ fix_broken_state (xsmp, "SaveComplete", FALSE, FALSE); -+} -+ -+static void -+xsmp_shutdown_cancelled (SmcConn smc_conn, -+ SmPointer client_data) -+{ -+ EggSMClientXSMP *xsmp = client_data; -+ EggSMClient *client = client_data; -+ -+ g_debug ("Received ShutdownCancelled message in state %s", -+ EGG_SM_CLIENT_XSMP_STATE (xsmp)); -+ -+ xsmp->shutting_down = FALSE; -+ -+ if (xsmp->state == XSMP_STATE_SAVE_YOURSELF_DONE) -+ { -+ /* We've finished interacting and now the SM has agreed to -+ * cancel the shutdown. -+ */ -+ xsmp->state = XSMP_STATE_IDLE; -+ egg_sm_client_quit_cancelled (client); -+ } -+ else if (xsmp->state == XSMP_STATE_SHUTDOWN_CANCELLED) -+ { -+ /* Hm... ok, so we got a shutdown SaveYourself, which got -+ * cancelled, but the application was still interacting, so we -+ * didn't tell it yet, and then *another* SaveYourself arrived, -+ * which we must still be waiting to tell the app about, except -+ * that now that SaveYourself has been cancelled too! Dizzy yet? -+ */ -+ xsmp->waiting_to_save_myself = FALSE; -+ update_pending_events (xsmp); -+ } -+ else -+ { -+ g_debug ("Sending SaveYourselfDone(False)"); -+ SmcSaveYourselfDone (xsmp->connection, False); -+ -+ if (xsmp->state == XSMP_STATE_INTERACT) -+ { -+ /* The application is currently interacting, so we can't -+ * tell it about the cancellation yet; we will wait until -+ * after it calls egg_sm_client_will_quit(). -+ */ -+ xsmp->state = XSMP_STATE_SHUTDOWN_CANCELLED; -+ } -+ else -+ { -+ /* The shutdown was cancelled before the application got a -+ * chance to interact. -+ */ -+ xsmp->state = XSMP_STATE_IDLE; -+ } -+ } -+} -+ -+/* Utilities */ -+ -+/* Create a restart/clone/Exec command based on @restart_command. -+ * If @client_id is non-%NULL, add "--sm-client-id @client_id". -+ * If @state_file is non-%NULL, add "--sm-client-state-file @state_file". -+ * -+ * None of the input strings are g_strdup()ed; the caller must keep -+ * them around until it is done with the returned GPtrArray, and must -+ * then free the array, but not its contents. -+ */ -+static GPtrArray * -+generate_command (char **restart_command, const char *client_id, -+ const char *state_file) -+{ -+ GPtrArray *cmd; -+ int i; -+ -+ cmd = g_ptr_array_new (); -+ g_ptr_array_add (cmd, restart_command[0]); -+ -+ if (client_id) -+ { -+ g_ptr_array_add (cmd, (char *)"--sm-client-id"); -+ g_ptr_array_add (cmd, (char *)client_id); -+ } -+ -+ if (state_file) -+ { -+ g_ptr_array_add (cmd, (char *)"--sm-client-state-file"); -+ g_ptr_array_add (cmd, (char *)state_file); -+ } -+ -+ for (i = 1; restart_command[i]; i++) -+ g_ptr_array_add (cmd, restart_command[i]); -+ -+ return cmd; -+} -+ -+/* Takes a NULL-terminated list of SmProp * values, created by -+ * array_prop, ptrarray_prop, string_prop, card8_prop, sets them, and -+ * frees them. -+ */ -+static void -+set_properties (EggSMClientXSMP *xsmp, ...) -+{ -+ GPtrArray *props; -+ SmProp *prop; -+ va_list ap; -+ guint i; -+ -+ props = g_ptr_array_new (); -+ -+ va_start (ap, xsmp); -+ while ((prop = va_arg (ap, SmProp *))) -+ g_ptr_array_add (props, prop); -+ va_end (ap); -+ -+ if (xsmp->connection) -+ { -+ SmcSetProperties (xsmp->connection, props->len, -+ (SmProp **)props->pdata); -+ } -+ -+ for (i = 0; i < props->len; i++) -+ { -+ prop = props->pdata[i]; -+ g_free (prop->vals); -+ g_free (prop); -+ } -+ g_ptr_array_free (props, TRUE); -+} -+ -+/* Takes a NULL-terminated list of property names and deletes them. */ -+static void -+delete_properties (EggSMClientXSMP *xsmp, ...) -+{ -+ GPtrArray *props; -+ char *prop; -+ va_list ap; -+ -+ if (!xsmp->connection) -+ return; -+ -+ props = g_ptr_array_new (); -+ -+ va_start (ap, xsmp); -+ while ((prop = va_arg (ap, char *))) -+ g_ptr_array_add (props, prop); -+ va_end (ap); -+ -+ SmcDeleteProperties (xsmp->connection, props->len, -+ (char **)props->pdata); -+ -+ g_ptr_array_free (props, TRUE); -+} -+ -+/* Takes an array of strings and creates a LISTofARRAY8 property. The -+ * strings are neither dupped nor freed; they need to remain valid -+ * until you're done with the SmProp. -+ */ -+static SmProp * -+array_prop (const char *name, ...) -+{ -+ SmProp *prop; -+ SmPropValue pv; -+ GArray *vals; -+ char *value; -+ va_list ap; -+ -+ prop = g_new (SmProp, 1); -+ prop->name = (char *)name; -+ prop->type = (char *)SmLISTofARRAY8; -+ -+ vals = g_array_new (FALSE, FALSE, sizeof (SmPropValue)); -+ -+ va_start (ap, name); -+ while ((value = va_arg (ap, char *))) -+ { -+ pv.length = strlen (value); -+ pv.value = value; -+ g_array_append_val (vals, pv); -+ } -+ -+ prop->num_vals = vals->len; -+ prop->vals = (SmPropValue *)vals->data; -+ -+ g_array_free (vals, FALSE); -+ -+ return prop; -+} -+ -+/* Takes a GPtrArray of strings and creates a LISTofARRAY8 property. -+ * The array contents are neither dupped nor freed; they need to -+ * remain valid until you're done with the SmProp. -+ */ -+static SmProp * -+ptrarray_prop (const char *name, GPtrArray *values) -+{ -+ SmProp *prop; -+ SmPropValue pv; -+ GArray *vals; -+ guint i; -+ -+ prop = g_new (SmProp, 1); -+ prop->name = (char *)name; -+ prop->type = (char *)SmLISTofARRAY8; -+ -+ vals = g_array_new (FALSE, FALSE, sizeof (SmPropValue)); -+ -+ for (i = 0; i < values->len; i++) -+ { -+ pv.length = strlen (values->pdata[i]); -+ pv.value = values->pdata[i]; -+ g_array_append_val (vals, pv); -+ } -+ -+ prop->num_vals = vals->len; -+ prop->vals = (SmPropValue *)vals->data; -+ -+ g_array_free (vals, FALSE); -+ -+ return prop; -+} -+ -+/* Takes a string and creates an ARRAY8 property. The string is -+ * neither dupped nor freed; it needs to remain valid until you're -+ * done with the SmProp. -+ */ -+static SmProp * -+string_prop (const char *name, const char *value) -+{ -+ SmProp *prop; -+ -+ prop = g_new (SmProp, 1); -+ prop->name = (char *)name; -+ prop->type = (char *)SmARRAY8; -+ -+ prop->num_vals = 1; -+ prop->vals = g_new (SmPropValue, 1); -+ -+ prop->vals[0].length = strlen (value); -+ prop->vals[0].value = (char *)value; -+ -+ return prop; -+} -+ -+/* Takes a char and creates a CARD8 property. */ -+static SmProp * -+card8_prop (const char *name, unsigned char value) -+{ -+ SmProp *prop; -+ char *card8val; -+ -+ /* To avoid having to allocate and free prop->vals[0], we cheat and -+ * make vals a 2-element-long array and then use the second element -+ * to store value. -+ */ -+ -+ prop = g_new (SmProp, 1); -+ prop->name = (char *)name; -+ prop->type = (char *)SmCARD8; -+ -+ prop->num_vals = 1; -+ prop->vals = g_new (SmPropValue, 2); -+ card8val = (char *)(&prop->vals[1]); -+ card8val[0] = value; -+ -+ prop->vals[0].length = 1; -+ prop->vals[0].value = card8val; -+ -+ return prop; -+} -+ -+/* ICE code. This makes no effort to play nice with anyone else trying -+ * to use libICE. Fortunately, no one uses libICE for anything other -+ * than SM. (DCOP uses ICE, but it has its own private copy of -+ * libICE.) -+ * -+ * When this moves to gtk, it will need to be cleverer, to avoid -+ * tripping over old apps that use GnomeClient or that use libSM -+ * directly. -+ */ -+ -+#include -+#include -+ -+static void ice_error_handler (IceConn ice_conn, -+ Bool swap, -+ int offending_minor_opcode, -+ unsigned long offending_sequence, -+ int error_class, -+ int severity, -+ IcePointer values); -+static void ice_io_error_handler (IceConn ice_conn); -+static void ice_connection_watch (IceConn ice_conn, -+ IcePointer client_data, -+ Bool opening, -+ IcePointer *watch_data); -+ -+static void -+ice_init (void) -+{ -+ IceSetIOErrorHandler (ice_io_error_handler); -+ IceSetErrorHandler (ice_error_handler); -+ IceAddConnectionWatch (ice_connection_watch, NULL); -+} -+ -+static gboolean -+process_ice_messages (IceConn ice_conn) -+{ -+ IceProcessMessagesStatus status; -+ -+ gdk_threads_enter (); -+ status = IceProcessMessages (ice_conn, NULL, NULL); -+ gdk_threads_leave (); -+ -+ switch (status) -+ { -+ case IceProcessMessagesSuccess: -+ return TRUE; -+ -+ case IceProcessMessagesIOError: -+ sm_client_xsmp_disconnect (IceGetConnectionContext (ice_conn)); -+ return FALSE; -+ -+ case IceProcessMessagesConnectionClosed: -+ return FALSE; -+ -+ default: -+ g_assert_not_reached (); -+ } -+} -+ -+static gboolean -+ice_iochannel_watch (GIOChannel *channel, -+ GIOCondition condition, -+ gpointer client_data) -+{ -+ return process_ice_messages (client_data); -+} -+ -+static void -+ice_connection_watch (IceConn ice_conn, -+ IcePointer client_data, -+ Bool opening, -+ IcePointer *watch_data) -+{ -+ guint watch_id; -+ -+ if (opening) -+ { -+ GIOChannel *channel; -+ int fd = IceConnectionNumber (ice_conn); -+ -+ fcntl (fd, F_SETFD, fcntl (fd, F_GETFD, 0) | FD_CLOEXEC); -+ channel = g_io_channel_unix_new (fd); -+ watch_id = g_io_add_watch (channel, G_IO_IN | G_IO_ERR, -+ ice_iochannel_watch, ice_conn); -+ g_io_channel_unref (channel); -+ -+ *watch_data = GUINT_TO_POINTER (watch_id); -+ } -+ else -+ { -+ watch_id = GPOINTER_TO_UINT (*watch_data); -+ g_source_remove (watch_id); -+ } -+} -+ -+static void -+ice_error_handler (IceConn ice_conn, -+ Bool swap, -+ int offending_minor_opcode, -+ unsigned long offending_sequence, -+ int error_class, -+ int severity, -+ IcePointer values) -+{ -+ /* Do nothing */ -+} -+ -+static void -+ice_io_error_handler (IceConn ice_conn) -+{ -+ /* Do nothing */ -+} -+ -+static void -+smc_error_handler (SmcConn smc_conn, -+ Bool swap, -+ int offending_minor_opcode, -+ unsigned long offending_sequence, -+ int error_class, -+ int severity, -+ SmPointer values) -+{ -+ /* Do nothing */ -+} -diff --git a/cut-n-paste/smclient/eggsmclient.c b/cut-n-paste/smclient/eggsmclient.c -new file mode 100644 -index 0000000..513d938 ---- /dev/null -+++ b/cut-n-paste/smclient/eggsmclient.c -@@ -0,0 +1,604 @@ -+/* -+ * Copyright (C) 2007 Novell, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Library General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Library General Public License for more details. -+ * -+ * You should have received a copy of the GNU Library General Public -+ * License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+#include "config.h" -+ -+#include -+#include -+ -+#include "eggsmclient.h" -+#include "eggsmclient-private.h" -+ -+static void egg_sm_client_debug_handler (const char *log_domain, -+ GLogLevelFlags log_level, -+ const char *message, -+ gpointer user_data); -+ -+enum { -+ SAVE_STATE, -+ QUIT_REQUESTED, -+ QUIT_CANCELLED, -+ QUIT, -+ LAST_SIGNAL -+}; -+ -+static guint signals[LAST_SIGNAL]; -+ -+struct _EggSMClientPrivate { -+ GKeyFile *state_file; -+}; -+ -+#define EGG_SM_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EGG_TYPE_SM_CLIENT, EggSMClientPrivate)) -+ -+G_DEFINE_TYPE (EggSMClient, egg_sm_client, G_TYPE_OBJECT) -+ -+static EggSMClient *global_client; -+static EggSMClientMode global_client_mode = EGG_SM_CLIENT_MODE_NORMAL; -+ -+static void -+egg_sm_client_init (EggSMClient *client) -+{ -+ ; -+} -+ -+static void -+egg_sm_client_class_init (EggSMClientClass *klass) -+{ -+ GObjectClass *object_class = G_OBJECT_CLASS (klass); -+ -+ g_type_class_add_private (klass, sizeof (EggSMClientPrivate)); -+ -+ /** -+ * EggSMClient::save_state: -+ * @client: the client -+ * @state_file: a #GKeyFile to save state information into -+ * -+ * Emitted when the session manager has requested that the -+ * application save information about its current state. The -+ * application should save its state into @state_file, and then the -+ * session manager may then restart the application in a future -+ * session and tell it to initialize itself from that state. -+ * -+ * You should not save any data into @state_file's "start group" -+ * (ie, the %NULL group). Instead, applications should save their -+ * data into groups with names that start with the application name, -+ * and libraries that connect to this signal should save their data -+ * into groups with names that start with the library name. -+ * -+ * Alternatively, rather than (or in addition to) using @state_file, -+ * the application can save its state by calling -+ * egg_sm_client_set_restart_command() during the processing of this -+ * signal (eg, to include a list of files to open). -+ **/ -+ signals[SAVE_STATE] = -+ g_signal_new ("save_state", -+ G_OBJECT_CLASS_TYPE (object_class), -+ G_SIGNAL_RUN_LAST, -+ G_STRUCT_OFFSET (EggSMClientClass, save_state), -+ NULL, NULL, -+ g_cclosure_marshal_VOID__POINTER, -+ G_TYPE_NONE, -+ 1, G_TYPE_POINTER); -+ -+ /** -+ * EggSMClient::quit_requested: -+ * @client: the client -+ * -+ * Emitted when the session manager requests that the application -+ * exit (generally because the user is logging out). The application -+ * should decide whether or not it is willing to quit (perhaps after -+ * asking the user what to do with documents that have unsaved -+ * changes) and then call egg_sm_client_will_quit(), passing %TRUE -+ * or %FALSE to give its answer to the session manager. (It does not -+ * need to give an answer before returning from the signal handler; -+ * it can interact with the user asynchronously and then give its -+ * answer later on.) If the application does not connect to this -+ * signal, then #EggSMClient will automatically return %TRUE on its -+ * behalf. -+ * -+ * The application should not save its session state as part of -+ * handling this signal; if the user has requested that the session -+ * be saved when logging out, then ::save_state will be emitted -+ * separately. -+ * -+ * If the application agrees to quit, it should then wait for either -+ * the ::quit_cancelled or ::quit signals to be emitted. -+ **/ -+ signals[QUIT_REQUESTED] = -+ g_signal_new ("quit_requested", -+ G_OBJECT_CLASS_TYPE (object_class), -+ G_SIGNAL_RUN_LAST, -+ G_STRUCT_OFFSET (EggSMClientClass, quit_requested), -+ NULL, NULL, -+ g_cclosure_marshal_VOID__VOID, -+ G_TYPE_NONE, -+ 0); -+ -+ /** -+ * EggSMClient::quit_cancelled: -+ * @client: the client -+ * -+ * Emitted when the session manager decides to cancel a logout after -+ * the application has already agreed to quit. After receiving this -+ * signal, the application can go back to what it was doing before -+ * receiving the ::quit_requested signal. -+ **/ -+ signals[QUIT_CANCELLED] = -+ g_signal_new ("quit_cancelled", -+ G_OBJECT_CLASS_TYPE (object_class), -+ G_SIGNAL_RUN_LAST, -+ G_STRUCT_OFFSET (EggSMClientClass, quit_cancelled), -+ NULL, NULL, -+ g_cclosure_marshal_VOID__VOID, -+ G_TYPE_NONE, -+ 0); -+ -+ /** -+ * EggSMClient::quit: -+ * @client: the client -+ * -+ * Emitted when the session manager wants the application to quit -+ * (generally because the user is logging out). The application -+ * should exit as soon as possible after receiving this signal; if -+ * it does not, the session manager may choose to forcibly kill it. -+ * -+ * Normally a GUI application would only be sent a ::quit if it -+ * agreed to quit in response to a ::quit_requested signal. However, -+ * this is not guaranteed; in some situations the session manager -+ * may decide to end the session without giving applications a -+ * chance to object. -+ **/ -+ signals[QUIT] = -+ g_signal_new ("quit", -+ G_OBJECT_CLASS_TYPE (object_class), -+ G_SIGNAL_RUN_LAST, -+ G_STRUCT_OFFSET (EggSMClientClass, quit), -+ NULL, NULL, -+ g_cclosure_marshal_VOID__VOID, -+ G_TYPE_NONE, -+ 0); -+} -+ -+static gboolean sm_client_disable = FALSE; -+static char *sm_client_state_file = NULL; -+static char *sm_client_id = NULL; -+static char *sm_config_prefix = NULL; -+ -+static gboolean -+sm_client_post_parse_func (GOptionContext *context, -+ GOptionGroup *group, -+ gpointer data, -+ GError **error) -+{ -+ EggSMClient *client = egg_sm_client_get (); -+ -+ if (sm_client_id == NULL) -+ { -+ const gchar *desktop_autostart_id; -+ -+ desktop_autostart_id = g_getenv ("DESKTOP_AUTOSTART_ID"); -+ -+ if (desktop_autostart_id != NULL) -+ sm_client_id = g_strdup (desktop_autostart_id); -+ } -+ -+ /* Unset DESKTOP_AUTOSTART_ID in order to avoid child processes to -+ * use the same client id. */ -+ g_unsetenv ("DESKTOP_AUTOSTART_ID"); -+ -+ if (global_client_mode != EGG_SM_CLIENT_MODE_DISABLED && -+ EGG_SM_CLIENT_GET_CLASS (client)->startup) -+ EGG_SM_CLIENT_GET_CLASS (client)->startup (client, sm_client_id); -+ return TRUE; -+} -+ -+/** -+ * egg_sm_client_get_option_group: -+ * -+ * Creates a %GOptionGroup containing the session-management-related -+ * options. You should add this group to the application's -+ * %GOptionContext if you want to use #EggSMClient. -+ * -+ * Return value: the %GOptionGroup -+ **/ -+GOptionGroup * -+egg_sm_client_get_option_group (void) -+{ -+ const GOptionEntry entries[] = { -+ { "sm-client-disable", 0, 0, -+ G_OPTION_ARG_NONE, &sm_client_disable, -+ N_("Disable connection to session manager"), NULL }, -+ { "sm-client-state-file", 0, 0, -+ G_OPTION_ARG_FILENAME, &sm_client_state_file, -+ N_("Specify file containing saved configuration"), N_("FILE") }, -+ { "sm-client-id", 0, 0, -+ G_OPTION_ARG_STRING, &sm_client_id, -+ N_("Specify session management ID"), N_("ID") }, -+ /* GnomeClient compatibility option */ -+ { "sm-disable", 0, G_OPTION_FLAG_HIDDEN, -+ G_OPTION_ARG_NONE, &sm_client_disable, -+ NULL, NULL }, -+ /* GnomeClient compatibility option. This is a dummy option that only -+ * exists so that sessions saved by apps with GnomeClient can be restored -+ * later when they've switched to EggSMClient. See bug #575308. -+ */ -+ { "sm-config-prefix", 0, G_OPTION_FLAG_HIDDEN, -+ G_OPTION_ARG_STRING, &sm_config_prefix, -+ NULL, NULL }, -+ { NULL } -+ }; -+ GOptionGroup *group; -+ -+ /* Use our own debug handler for the "EggSMClient" domain. */ -+ g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, -+ egg_sm_client_debug_handler, NULL); -+ -+ group = g_option_group_new ("sm-client", -+ _("Session management options:"), -+ _("Show session management options"), -+ NULL, NULL); -+ g_option_group_add_entries (group, entries); -+ g_option_group_set_parse_hooks (group, NULL, sm_client_post_parse_func); -+ -+ return group; -+} -+ -+/** -+ * egg_sm_client_set_mode: -+ * @mode: an #EggSMClient mode -+ * -+ * Sets the "mode" of #EggSMClient as follows: -+ * -+ * %EGG_SM_CLIENT_MODE_DISABLED: Session management is completely -+ * disabled, until the mode is changed again. The application will -+ * not even connect to the session manager. (egg_sm_client_get() -+ * will still return an #EggSMClient object.) -+ * -+ * %EGG_SM_CLIENT_MODE_NO_RESTART: The application will connect to -+ * the session manager (and thus will receive notification when the -+ * user is logging out, etc), but will request to not be -+ * automatically restarted with saved state in future sessions. -+ * -+ * %EGG_SM_CLIENT_MODE_NORMAL: The default. #EggSMCLient will -+ * function normally. -+ * -+ * This must be called before the application's main loop begins and -+ * before any call to egg_sm_client_get(), unless the mode was set -+ * earlier to %EGG_SM_CLIENT_MODE_DISABLED and this call enables -+ * session management. Note that option parsing will call -+ * egg_sm_client_get(). -+ **/ -+void -+egg_sm_client_set_mode (EggSMClientMode mode) -+{ -+ EggSMClientMode old_mode = global_client_mode; -+ -+ g_return_if_fail (global_client == NULL || global_client_mode == EGG_SM_CLIENT_MODE_DISABLED); -+ g_return_if_fail (!(global_client != NULL && mode == EGG_SM_CLIENT_MODE_DISABLED)); -+ -+ global_client_mode = mode; -+ -+ if (global_client != NULL && old_mode == EGG_SM_CLIENT_MODE_DISABLED) -+ { -+ if (EGG_SM_CLIENT_GET_CLASS (global_client)->startup) -+ EGG_SM_CLIENT_GET_CLASS (global_client)->startup (global_client, sm_client_id); -+ } -+} -+ -+/** -+ * egg_sm_client_get_mode: -+ * -+ * Gets the global #EggSMClientMode. See egg_sm_client_set_mode() -+ * for details. -+ * -+ * Return value: the global #EggSMClientMode -+ **/ -+EggSMClientMode -+egg_sm_client_get_mode (void) -+{ -+ return global_client_mode; -+} -+ -+/** -+ * egg_sm_client_get: -+ * -+ * Returns the master #EggSMClient for the application. -+ * -+ * On platforms that support saved sessions (ie, POSIX/X11), the -+ * application will only request to be restarted by the session -+ * manager if you call egg_set_desktop_file() to set an application -+ * desktop file. In particular, if the desktop file contains the key -+ * "X -+ * -+ * Return value: the master #EggSMClient. -+ **/ -+EggSMClient * -+egg_sm_client_get (void) -+{ -+ if (!global_client) -+ { -+ if (!sm_client_disable) -+ { -+#if defined (GDK_WINDOWING_WIN32) -+ global_client = egg_sm_client_win32_new (); -+#elif defined (GDK_WINDOWING_QUARTZ) -+ global_client = egg_sm_client_osx_new (); -+#else -+ /* If both D-Bus and XSMP are compiled in, try XSMP first -+ * (since it supports state saving) and fall back to D-Bus -+ * if XSMP isn't available. -+ */ -+# ifdef EGG_SM_CLIENT_BACKEND_XSMP -+ global_client = egg_sm_client_xsmp_new (); -+# endif -+# ifdef EGG_SM_CLIENT_BACKEND_DBUS -+ if (!global_client) -+ global_client = egg_sm_client_dbus_new (); -+# endif -+#endif -+ } -+ -+ /* Fallback: create a dummy client, so that callers don't have -+ * to worry about a %NULL return value. -+ */ -+ if (!global_client) -+ global_client = g_object_new (EGG_TYPE_SM_CLIENT, NULL); -+ } -+ -+ return global_client; -+} -+ -+/** -+ * egg_sm_client_is_resumed: -+ * @client: the client -+ * -+ * Checks whether or not the current session has been resumed from -+ * a previous saved session. If so, the application should call -+ * egg_sm_client_get_state_file() and restore its state from the -+ * returned #GKeyFile. -+ * -+ * Return value: %TRUE if the session has been resumed -+ **/ -+gboolean -+egg_sm_client_is_resumed (EggSMClient *client) -+{ -+ g_return_val_if_fail (client == global_client, FALSE); -+ -+ return sm_client_state_file != NULL; -+} -+ -+/** -+ * egg_sm_client_get_state_file: -+ * @client: the client -+ * -+ * If the application was resumed by the session manager, this will -+ * return the #GKeyFile containing its state from the previous -+ * session. -+ * -+ * Note that other libraries and #EggSMClient itself may also store -+ * state in the key file, so if you call egg_sm_client_get_groups(), -+ * on it, the return value will likely include groups that you did not -+ * put there yourself. (It is also not guaranteed that the first -+ * group created by the application will still be the "start group" -+ * when it is resumed.) -+ * -+ * Return value: the #GKeyFile containing the application's earlier -+ * state, or %NULL on error. You should not free this key file; it -+ * is owned by @client. -+ **/ -+GKeyFile * -+egg_sm_client_get_state_file (EggSMClient *client) -+{ -+ EggSMClientPrivate *priv = EGG_SM_CLIENT_GET_PRIVATE (client); -+ char *state_file_path; -+ GError *err = NULL; -+ -+ g_return_val_if_fail (client == global_client, NULL); -+ -+ if (!sm_client_state_file) -+ return NULL; -+ if (priv->state_file) -+ return priv->state_file; -+ -+ if (!strncmp (sm_client_state_file, "file://", 7)) -+ state_file_path = g_filename_from_uri (sm_client_state_file, NULL, NULL); -+ else -+ state_file_path = g_strdup (sm_client_state_file); -+ -+ priv->state_file = g_key_file_new (); -+ if (!g_key_file_load_from_file (priv->state_file, state_file_path, 0, &err)) -+ { -+ g_warning ("Could not load SM state file '%s': %s", -+ sm_client_state_file, err->message); -+ g_clear_error (&err); -+ g_key_file_free (priv->state_file); -+ priv->state_file = NULL; -+ } -+ -+ g_free (state_file_path); -+ return priv->state_file; -+} -+ -+/** -+ * egg_sm_client_set_restart_command: -+ * @client: the client -+ * @argc: the length of @argv -+ * @argv: argument vector -+ * -+ * Sets the command used to restart @client if it does not have a -+ * .desktop file that can be used to find its restart command. -+ * -+ * This can also be used when handling the ::save_state signal, to -+ * save the current state via an updated command line. (Eg, providing -+ * a list of filenames to open when the application is resumed.) -+ **/ -+void -+egg_sm_client_set_restart_command (EggSMClient *client, -+ int argc, -+ const char **argv) -+{ -+ g_return_if_fail (EGG_IS_SM_CLIENT (client)); -+ -+ if (EGG_SM_CLIENT_GET_CLASS (client)->set_restart_command) -+ EGG_SM_CLIENT_GET_CLASS (client)->set_restart_command (client, argc, argv); -+} -+ -+/** -+ * egg_sm_client_will_quit: -+ * @client: the client -+ * @will_quit: whether or not the application is willing to quit -+ * -+ * This MUST be called in response to the ::quit_requested signal, to -+ * indicate whether or not the application is willing to quit. The -+ * application may call it either directly from the signal handler, or -+ * at some later point (eg, after asynchronously interacting with the -+ * user). -+ * -+ * If the application does not connect to ::quit_requested, -+ * #EggSMClient will call this method on its behalf (passing %TRUE -+ * for @will_quit). -+ * -+ * After calling this method, the application should wait to receive -+ * either ::quit_cancelled or ::quit. -+ **/ -+void -+egg_sm_client_will_quit (EggSMClient *client, -+ gboolean will_quit) -+{ -+ g_return_if_fail (EGG_IS_SM_CLIENT (client)); -+ -+ if (EGG_SM_CLIENT_GET_CLASS (client)->will_quit) -+ EGG_SM_CLIENT_GET_CLASS (client)->will_quit (client, will_quit); -+} -+ -+/** -+ * egg_sm_client_end_session: -+ * @style: a hint at how to end the session -+ * @request_confirmation: whether or not the user should get a chance -+ * to confirm the action -+ * -+ * Requests that the session manager end the current session. @style -+ * indicates how the session should be ended, and -+ * @request_confirmation indicates whether or not the user should be -+ * given a chance to confirm the logout/reboot/shutdown. Both of these -+ * flags are merely hints though; the session manager may choose to -+ * ignore them. -+ * -+ * Return value: %TRUE if the request was sent; %FALSE if it could not -+ * be (eg, because it could not connect to the session manager). -+ **/ -+gboolean -+egg_sm_client_end_session (EggSMClientEndStyle style, -+ gboolean request_confirmation) -+{ -+ EggSMClient *client = egg_sm_client_get (); -+ -+ g_return_val_if_fail (EGG_IS_SM_CLIENT (client), FALSE); -+ -+ if (EGG_SM_CLIENT_GET_CLASS (client)->end_session) -+ { -+ return EGG_SM_CLIENT_GET_CLASS (client)->end_session (client, style, -+ request_confirmation); -+ } -+ else -+ return FALSE; -+} -+ -+/* Signal-emitting callbacks from platform-specific code */ -+ -+GKeyFile * -+egg_sm_client_save_state (EggSMClient *client) -+{ -+ GKeyFile *state_file; -+ char *group; -+ -+ g_return_val_if_fail (client == global_client, NULL); -+ -+ state_file = g_key_file_new (); -+ -+ g_debug ("Emitting save_state"); -+ g_signal_emit (client, signals[SAVE_STATE], 0, state_file); -+ g_debug ("Done emitting save_state"); -+ -+ group = g_key_file_get_start_group (state_file); -+ if (group) -+ { -+ g_free (group); -+ return state_file; -+ } -+ else -+ { -+ g_key_file_free (state_file); -+ return NULL; -+ } -+} -+ -+void -+egg_sm_client_quit_requested (EggSMClient *client) -+{ -+ g_return_if_fail (client == global_client); -+ -+ if (!g_signal_has_handler_pending (client, signals[QUIT_REQUESTED], 0, FALSE)) -+ { -+ g_debug ("Not emitting quit_requested because no one is listening"); -+ egg_sm_client_will_quit (client, TRUE); -+ return; -+ } -+ -+ g_debug ("Emitting quit_requested"); -+ g_signal_emit (client, signals[QUIT_REQUESTED], 0); -+ g_debug ("Done emitting quit_requested"); -+} -+ -+void -+egg_sm_client_quit_cancelled (EggSMClient *client) -+{ -+ g_return_if_fail (client == global_client); -+ -+ g_debug ("Emitting quit_cancelled"); -+ g_signal_emit (client, signals[QUIT_CANCELLED], 0); -+ g_debug ("Done emitting quit_cancelled"); -+} -+ -+void -+egg_sm_client_quit (EggSMClient *client) -+{ -+ g_return_if_fail (client == global_client); -+ -+ g_debug ("Emitting quit"); -+ g_signal_emit (client, signals[QUIT], 0); -+ g_debug ("Done emitting quit"); -+ -+ /* FIXME: should we just call gtk_main_quit() here? */ -+} -+ -+static void -+egg_sm_client_debug_handler (const char *log_domain, -+ GLogLevelFlags log_level, -+ const char *message, -+ gpointer user_data) -+{ -+ static int debug = -1; -+ -+ if (debug < 0) -+ debug = (g_getenv ("EGG_SM_CLIENT_DEBUG") != NULL); -+ -+ if (debug) -+ g_log_default_handler (log_domain, log_level, message, NULL); -+} -diff --git a/cut-n-paste/smclient/eggsmclient.h b/cut-n-paste/smclient/eggsmclient.h -new file mode 100644 -index 0000000..65e258b ---- /dev/null -+++ b/cut-n-paste/smclient/eggsmclient.h -@@ -0,0 +1,117 @@ -+/* eggsmclient.h -+ * Copyright (C) 2007 Novell, Inc. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the -+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -+ * Boston, MA 02110-1301, USA. -+ */ -+ -+#ifndef __EGG_SM_CLIENT_H__ -+#define __EGG_SM_CLIENT_H__ -+ -+#include -+ -+G_BEGIN_DECLS -+ -+#define EGG_TYPE_SM_CLIENT (egg_sm_client_get_type ()) -+#define EGG_SM_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT, EggSMClient)) -+#define EGG_SM_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT, EggSMClientClass)) -+#define EGG_IS_SM_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT)) -+#define EGG_IS_SM_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT)) -+#define EGG_SM_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT, EggSMClientClass)) -+ -+typedef struct _EggSMClient EggSMClient; -+typedef struct _EggSMClientClass EggSMClientClass; -+typedef struct _EggSMClientPrivate EggSMClientPrivate; -+ -+typedef enum { -+ EGG_SM_CLIENT_END_SESSION_DEFAULT, -+ EGG_SM_CLIENT_LOGOUT, -+ EGG_SM_CLIENT_REBOOT, -+ EGG_SM_CLIENT_SHUTDOWN -+} EggSMClientEndStyle; -+ -+typedef enum { -+ EGG_SM_CLIENT_MODE_DISABLED, -+ EGG_SM_CLIENT_MODE_NO_RESTART, -+ EGG_SM_CLIENT_MODE_NORMAL -+} EggSMClientMode; -+ -+struct _EggSMClient -+{ -+ GObject parent; -+ -+}; -+ -+struct _EggSMClientClass -+{ -+ GObjectClass parent_class; -+ -+ /* signals */ -+ void (*save_state) (EggSMClient *client, -+ GKeyFile *state_file); -+ -+ void (*quit_requested) (EggSMClient *client); -+ void (*quit_cancelled) (EggSMClient *client); -+ void (*quit) (EggSMClient *client); -+ -+ /* virtual methods */ -+ void (*startup) (EggSMClient *client, -+ const char *client_id); -+ void (*set_restart_command) (EggSMClient *client, -+ int argc, -+ const char **argv); -+ void (*will_quit) (EggSMClient *client, -+ gboolean will_quit); -+ gboolean (*end_session) (EggSMClient *client, -+ EggSMClientEndStyle style, -+ gboolean request_confirmation); -+ -+ /* Padding for future expansion */ -+ void (*_egg_reserved1) (void); -+ void (*_egg_reserved2) (void); -+ void (*_egg_reserved3) (void); -+ void (*_egg_reserved4) (void); -+}; -+ -+GType egg_sm_client_get_type (void) G_GNUC_CONST; -+ -+GOptionGroup *egg_sm_client_get_option_group (void); -+ -+/* Initialization */ -+void egg_sm_client_set_mode (EggSMClientMode mode); -+EggSMClientMode egg_sm_client_get_mode (void); -+EggSMClient *egg_sm_client_get (void); -+ -+/* Resuming a saved session */ -+gboolean egg_sm_client_is_resumed (EggSMClient *client); -+GKeyFile *egg_sm_client_get_state_file (EggSMClient *client); -+ -+/* Alternate means of saving state */ -+void egg_sm_client_set_restart_command (EggSMClient *client, -+ int argc, -+ const char **argv); -+ -+/* Handling "quit_requested" signal */ -+void egg_sm_client_will_quit (EggSMClient *client, -+ gboolean will_quit); -+ -+/* Initiate a logout/reboot/shutdown */ -+gboolean egg_sm_client_end_session (EggSMClientEndStyle style, -+ gboolean request_confirmation); -+ -+G_END_DECLS -+ -+ -+#endif /* __EGG_SM_CLIENT_H__ */ -diff --git a/help/reference/shell/Makefile.am b/help/reference/shell/Makefile.am -index 8726fba..3dfb1a2 100644 ---- a/help/reference/shell/Makefile.am -+++ b/help/reference/shell/Makefile.am -@@ -113,6 +113,7 @@ FILTER_OUT = \ - - GTKDOC_LIBS = \ - $(top_builddir)/cut-n-paste/gimpcellrenderertoggle/libgimpcellrenderertoggle.la \ -+ $(top_builddir)/cut-n-paste/smclient/libsmclient.la \ - $(top_builddir)/cut-n-paste/libgd/libgd.la \ - $(top_builddir)/properties/libevproperties.la \ - $(top_builddir)/libdocument/libevdocument3.la \ -diff --git a/po/POTFILES.in b/po/POTFILES.in -index 873676d..d235d92 100644 ---- a/po/POTFILES.in -+++ b/po/POTFILES.in -@@ -21,6 +21,8 @@ backend/tiff/evince-tiffdocument.metainfo.xml.in.in - [type: gettext/ini]backend/tiff/tiffdocument.evince-backend.in.in - backend/xps/evince-xpsdocument.metainfo.xml.in.in - [type: gettext/ini]backend/xps/xpsdocument.evince-backend.in.in -+cut-n-paste/smclient/eggdesktopfile.c -+cut-n-paste/smclient/eggsmclient.c - browser-plugin/EvBrowserPluginToolbar.cpp - data/evince.desktop.in.in - data/evince-previewer.desktop.in.in -diff --git a/shell/Makefile.am b/shell/Makefile.am -index debb80b..4a3ecaf 100644 ---- a/shell/Makefile.am -+++ b/shell/Makefile.am -@@ -93,6 +93,7 @@ evince_CPPFLAGS = \ - -I$(top_srcdir) \ - -I$(top_builddir) \ - -I$(top_srcdir)/cut-n-paste/gimpcellrenderertoggle \ -+ -I$(top_srcdir)/cut-n-paste/smclient \ - -I$(top_srcdir)/cut-n-paste/libgd/ \ - -I$(top_srcdir)/libdocument \ - -I$(top_builddir)/libdocument \ -@@ -116,6 +117,7 @@ endif - - evince_LDADD= \ - $(top_builddir)/cut-n-paste/gimpcellrenderertoggle/libgimpcellrenderertoggle.la \ -+ $(top_builddir)/cut-n-paste/smclient/libsmclient.la \ - $(top_builddir)/cut-n-paste/libgd/libgd.la \ - $(top_builddir)/properties/libevproperties.la \ - $(top_builddir)/libdocument/libevdocument3.la \ -diff --git a/shell/ev-application.c b/shell/ev-application.c -index af9ae38..4034a72 100644 ---- a/shell/ev-application.c -+++ b/shell/ev-application.c -@@ -35,6 +35,10 @@ - #endif - #include - -+#ifdef WITH_SMCLIENT -+#include "eggsmclient.h" -+#endif -+ - #include "ev-application.h" - #include "ev-file-helpers.h" - #include "ev-stock-icons.h" -@@ -56,6 +60,10 @@ struct _EvApplication { - EvMediaPlayerKeys *keys; - gboolean doc_registered; - #endif -+ -+#ifdef WITH_SMCLIENT -+ EggSMClient *smclient; -+#endif - }; - - struct _EvApplicationClass { -@@ -107,6 +115,71 @@ ev_application_new (void) - NULL); - } - -+/* Session */ -+gboolean -+ev_application_load_session (EvApplication *application) -+{ -+ GKeyFile *state_file; -+ gchar *uri; -+ -+#ifdef WITH_SMCLIENT -+ if (egg_sm_client_is_resumed (application->smclient)) { -+ state_file = egg_sm_client_get_state_file (application->smclient); -+ if (!state_file) -+ return FALSE; -+ } else -+#endif /* WITH_SMCLIENT */ -+ return FALSE; -+ -+ uri = g_key_file_get_string (state_file, "Evince", "uri", NULL); -+ if (!uri) -+ return FALSE; -+ -+ ev_application_open_uri_at_dest (application, uri, -+ gdk_screen_get_default (), -+ NULL, 0, NULL, -+ GDK_CURRENT_TIME); -+ g_free (uri); -+ g_key_file_free (state_file); -+ -+ return TRUE; -+} -+ -+#ifdef WITH_SMCLIENT -+ -+static void -+smclient_save_state_cb (EggSMClient *client, -+ GKeyFile *state_file, -+ EvApplication *application) -+{ -+ if (!application->uri) -+ return; -+ -+ g_key_file_set_string (state_file, "Evince", "uri", application->uri); -+} -+ -+static void -+smclient_quit_cb (EggSMClient *client, -+ GApplication *application) -+{ -+ g_application_quit (application); -+} -+#endif /* WITH_SMCLIENT */ -+ -+static void -+ev_application_init_session (EvApplication *application) -+{ -+#ifdef WITH_SMCLIENT -+ application->smclient = egg_sm_client_get (); -+ g_signal_connect (application->smclient, "save_state", -+ G_CALLBACK (smclient_save_state_cb), -+ application); -+ g_signal_connect (application->smclient, "quit", -+ G_CALLBACK (smclient_quit_cb), -+ application); -+#endif -+} -+ - #ifdef ENABLE_DBUS - /** - * ev_display_open_if_needed: -@@ -1229,6 +1302,8 @@ ev_application_init (EvApplication *ev_application) - if (!g_file_test (ev_application->dot_dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) - ev_application_migrate_config_dir (ev_application); - -+ ev_application_init_session (ev_application); -+ - ev_application_accel_map_load (ev_application); - } - -diff --git a/shell/ev-application.h b/shell/ev-application.h -index f81a64f..250a0e5 100644 ---- a/shell/ev-application.h -+++ b/shell/ev-application.h -@@ -49,6 +49,7 @@ typedef struct _EvApplicationClass EvApplicationClass; - GType ev_application_get_type (void) G_GNUC_CONST; - EvApplication *ev_application_new (void); - -+gboolean ev_application_load_session (EvApplication *application); - void ev_application_open_recent_view (EvApplication *application, - GdkScreen *screen, - guint32 timestamp); -diff --git a/shell/main.c b/shell/main.c -index 0901ff7..6d63ed8 100644 ---- a/shell/main.c -+++ b/shell/main.c -@@ -33,6 +33,13 @@ - #include "ev-stock-icons.h" - #include "ev-metadata.h" - -+#ifdef WITH_SMCLIENT -+#include "eggsmclient.h" -+#ifdef GDK_WINDOWING_X11 -+#include "eggdesktopfile.h" -+#endif -+#endif /* WITH_SMCLIENT */ -+ - #ifdef G_OS_WIN32 - #include - #include -@@ -270,6 +277,10 @@ main (int argc, char *argv[]) - g_option_context_set_translation_domain(context, GETTEXT_PACKAGE); - g_option_context_add_main_entries (context, goption_options, GETTEXT_PACKAGE); - -+#ifdef WITH_SMCLIENT -+ g_option_context_add_group (context, egg_sm_client_get_option_group ()); -+#endif -+ - g_option_context_add_group (context, gtk_get_option_group (TRUE)); - - if (!g_option_context_parse (context, &argc, &argv, &error)) { -@@ -294,9 +305,13 @@ main (int argc, char *argv[]) - - ev_stock_icons_init (); - -+#if defined(WITH_SMCLIENT) && defined(GDK_WINDOWING_X11) -+ egg_set_desktop_file (GNOMEDATADIR "/applications/evince.desktop"); -+#else - /* Manually set name and icon */ - g_set_application_name (_("Document Viewer")); - gtk_window_set_default_icon_name ("evince"); -+#endif /* WITH_SMCLIENT && GDK_WINDOWING_X11 */ - - application = ev_application_new (); - if (!g_application_register (G_APPLICATION (application), NULL, &error)) { -@@ -306,6 +321,7 @@ main (int argc, char *argv[]) - goto done; - } - -+ ev_application_load_session (application); - load_files (file_arguments); - - /* Change directory so we don't prevent unmounting in case the initial cwd --- -2.4.3 - diff --git a/SOURCES/evince-3.14.2-translations-complete.patch b/SOURCES/evince-3.14.2-translations-complete.patch deleted file mode 100644 index e761d66..0000000 --- a/SOURCES/evince-3.14.2-translations-complete.patch +++ /dev/null @@ -1,9585 +0,0 @@ -diff -urN evince-3.14.2/po/de.po evince-3.14.2_localized/po/de.po ---- evince-3.14.2/po/de.po 2015-03-08 13:52:48.000000000 +0530 -+++ evince-3.14.2_localized/po/de.po 2016-03-11 22:20:35.638000000 +0530 -@@ -1,14 +1,14 @@ - # Copyright (C) Martin Kretzschmar - # This file is distributed under the same license as the Evince package. --# -+# - # Based on German GPdf and GGv translations. --# -+# - # Copyright on GPdf and GGv translations is held by its translators. - # Please keep in sync with GPdf and GGv translations. --# -+# - # printer page - Druckseite - # printable area - Druckbereich --# -+# - # Martin Kretzschmar , 2004. - # Frank Arnold , 2005. - # Hendrik Richter , 2005, 2006. -@@ -19,22 +19,21 @@ - # Wolfgang Stöggl , 2010. - # Christian Kirbach , 2009, 2010. - # Benjamin Steinwender , 2013. --# -+# pnemade , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: Evince master\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-09-14 15:41+0000\n" --"PO-Revision-Date: 2014-09-14 22:17+0100\n" --"Last-Translator: Christian Kirbach \n" --"Language-Team: Deutsch \n" --"Language: de_DE\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"PO-Revision-Date: 2014-09-14 09:17+0000\n" -+"Last-Translator: Christian Kirbach \n" -+"Language-Team: Deutsch \n" -+"Language: de\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" --"X-Generator: Poedit 1.5.4\n" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format -@@ -58,7 +57,8 @@ - msgstr "Kein MIME-Typ eines Comicbuchs: %s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "" - "Der entsprechende Befehl zum Entpacken eines Comicbuchs dieses Typs konnte " - "nicht gefunden werden" -@@ -200,14 +200,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "Kein" -@@ -228,7 +228,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr " (Eine der 14 Standardschriftarten)" -@@ -237,7 +237,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr " (Keine Standardschriftart)" -@@ -300,6 +300,76 @@ - msgid "Adds support for reading XPS documents" - msgstr "Fügt Unterstützung für das Lesen von XPS-Dokumenten hinzu" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "Datei ist keine gültige .desktop-Datei" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "Version der Desktop-Datei »%s« wurde nicht erkannt" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "%s wird gestartet" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "Anwendung akzeptiert keine Dokumente als Befehlszeilenargumente" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "Nicht erkannte Startoption: %d" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "" -+"Adressen (URIs) können nicht an »Type=Link«-Desktop-Dateien weitergegeben " -+"werden" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "Kein ausführbarer Eintrag" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "Verbindung zur Sitzungsverwaltung deaktivieren" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "Datei auswählen, die eine gespeicherte Konfiguration enthält" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "DATEI" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "ID der Sitzungsverwaltung angeben" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "Kennung" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "Optionen der Sitzungsverwaltung:" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "Optionen der Sitzungsverwaltung anzeigen" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -353,8 +423,8 @@ - msgstr "Dokument drucken" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "Dokumentenbetrachter" - -@@ -426,7 +496,6 @@ - "bestätigen." - - #: ../data/org.gnome.Evince.gschema.xml.in.h:10 --#| msgid "Adjust the zoom level" - msgid "Allow links to change the zoom level." - msgstr "Verweisen das Ändern der Vergrößerungsstufe erlauben." - -@@ -451,8 +520,8 @@ - msgstr "Der Dateityp %s (%s) wird nicht unterstützt." - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "Unbekannter MIME-Typ" - -@@ -487,8 +556,8 @@ - msgstr "von %d" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "Seite %s" -@@ -544,19 +613,19 @@ - msgid "Print" - msgstr "Drucken" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "Seitenskalierung:" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "Auf Druckbereich verkleinern" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "Auf Druckbereich anpassen" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -569,8 +638,8 @@ - "• \"Fit to Printable Area\": Document pages are enlarged or reduced as " - "required to fit the printable area of the printer page.\n" - msgstr "" --"Die Dokumentseiten skalieren, so dass sie auf die gewählte Druckseite " --"passen. Wählen Sie eine der folgenden Optionen:\n" -+"Die Dokumentseiten skalieren, so dass sie auf die gewählte Druckseite passen." -+" Wählen Sie eine der folgenden Optionen:\n" - "\n" - "• »Kein«: Es wird keine Skalierung durchgeführt.\n" - "\n" -@@ -580,11 +649,11 @@ - "• »Auf Druckbereich anpassen«: Dokumentseiten werden bei Bedarf vergrößert " - "oder verkleinert, um in den Druckbereich der Seite zu passen.\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "Automatisch drehen und zentrieren" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." -@@ -592,11 +661,11 @@ - "Druckseiten auf das Hoch-/Querformat jeder Dokumentseite anpassen. Die " - "Dokumentseiten werden in der Druckseite zentriert." - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" - msgstr "Die Seitengröße anhand der Größe der Dokumentseite wählen" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." -@@ -604,7 +673,7 @@ - "Legt fest, ob jede Seite auf der gleichen Papiergröße wie die Dokumentseite " - "gedruckt werden soll." - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "Seitenverarbeitung" - -@@ -688,15 +757,11 @@ - msgid "Print settings file" - msgstr "Einstellungsdatei drucken" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "DATEI" -- - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "GNOME Dokumentenvorschau" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "Dokument konnte nicht gedruckt werden" - -@@ -801,7 +866,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "default:mm" -@@ -926,7 +991,7 @@ - msgid "Close" - msgstr "Schließen" - --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " -@@ -938,7 +1003,7 @@ - "weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder " - "(nach Ihrer Option) jeder späteren Version.\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " -@@ -950,7 +1015,7 @@ - "Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. " - "Details finden Sie in der GNU General Public License.\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " -@@ -960,15 +1025,15 @@ - "erhalten haben. Falls nicht, schreiben Sie an die Free Software Foundation, " - "Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "Evince" - --#: ../shell/ev-application.c:1026 -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996-2014 Die Evince-Autoren" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" - msgstr "" - "Martin Kretzschmar \n" -@@ -982,11 +1047,11 @@ - "Christian Kirbach \n" - "Paul Seyfert " - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "Zum vorherigen Chronikeintrag gehen" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "Zum nächsten Chronikeintrag gehen" - -@@ -1151,19 +1216,19 @@ - msgid "Thumbnails" - msgstr "Vorschaubilder" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "Ein vorhandenes Dokument öffnen" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "Ein Wort oder einen Ausdruck im Dokument suchen" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "Dateioptionen" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "Ansichtsoptionen" - -@@ -1171,106 +1236,106 @@ - msgid "Supported Image Files" - msgstr "Unterstützte Bildformate" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "Das Dokument enthält keine Seiten" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "Das Dokument enthält nur leere Seiten" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "Dokument »%s« konnte nicht geöffnet werden." - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "Dokument wird von »%s« geladen" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "Dokument wird heruntergeladen (%d%%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "Laden der entfernten Datei ist fehlgeschlagen." - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "Dokument wird erneut von %s geladen" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "Dokument konnte nicht erneut geladen werden." - --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "Dokument öffnen" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "Dokument wird in %s gespeichert" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "Anlage wird in %s gespeichert" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "Bild wird in %s gespeichert" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "Die Datei konnte nicht als »%s« gespeichert werden." - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "Dokument wird hochgeladen (%d%%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "Anlage wird hochgeladen (%d%%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "Bild wird hochgeladen (%d%%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "Eine Kopie speichern" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "Das momentan angezeigte Dokument konnte nicht gesendet werden" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "Der beinhaltende Ordner konnte nicht geöffnet werden." - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" - msgstr[0] "%d ausstehender Auftrag in Warteschlange" - msgstr[1] "%d ausstehende Aufträge in Warteschlange" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "Druckauftrag »%s«" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." -@@ -1278,7 +1343,7 @@ - "Das Dokument enthält Formularfelder, die ausgefüllt wurden. Wenn keine Kopie " - "gespeichert wird, gehen die Einträge dauerhaft verloren." - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." -@@ -1286,20 +1351,20 @@ - "Das Dokument enthält neue oder geänderte Anmerkungen. Wenn keine Kopie " - "gespeichert wird, gehen die Einträge dauerhaft verloren." - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "Soll vor dem Schließen eine Kopie von »%s« gespeichert werden?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "Schließen _ohne zu speichern" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "Eine Kopie _speichern" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "" -@@ -1309,9 +1374,10 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" - msgstr[0] "" -@@ -1321,52 +1387,52 @@ - "%d Druckaufträge sind aktiv. Soll vor dem Schließen auf das Beenden des " - "Druckens gewartet werden?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "" - "Wenn Sie das Fenster schließen, werden ausstehende Druckaufträge nicht " - "ausgeführt." - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "Drucken a_bbrechen und schließen" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "Nach dem Drucken _schließen" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "Derzeit im Präsentationsmodus" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5181 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" - msgstr[0] "%d Mal auf dieser Seite gefunden" - msgstr[1] "%d Mal auf dieser Seite gefunden" - --#: ../shell/ev-window.c:5186 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "Nicht gefunden" - --#: ../shell/ev-window.c:5192 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "Noch %3d%% zu durchsuchen" - --#: ../shell/ev-window.c:5512 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "Eingabemarke-Navigation aktivieren?" - --#: ../shell/ev-window.c:5514 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "_Aktivieren" - --#: ../shell/ev-window.c:5517 -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " -@@ -1377,39 +1443,39 @@ - "erlaubt es Ihnen mit der Tastatur die Seite zu bewegen sowie Text zu " - "markieren. Möchten Sie die Eingabemarke-Navigation einschalten?" - --#: ../shell/ev-window.c:5522 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "Diese Nachricht nicht mehr anzeigen" - --#: ../shell/ev-window.c:6038 ../shell/ev-window.c:6054 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "Externe Anwendung konnte nicht geöffnet werden." - --#: ../shell/ev-window.c:6111 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "Externer Link konnte nicht geöffnet werden" - --#: ../shell/ev-window.c:6314 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "Es wurde kein geeignetes Format zum Speichern des Bildes gefunden" - --#: ../shell/ev-window.c:6346 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "Das Bild konnte nicht gespeichert werden." - --#: ../shell/ev-window.c:6381 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "Bild speichern" - --#: ../shell/ev-window.c:6532 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "Anlage konnte nicht geöffnet werden" - --#: ../shell/ev-window.c:6588 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "Die Anlage konnte nicht gespeichert werden." - --#: ../shell/ev-window.c:6636 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "Anlage speichern" - -@@ -1477,60 +1543,59 @@ - msgid "6400%" - msgstr "6400%" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "GNOME Dokumentenbetrachter" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "Die anzuzeigende Seitenbezeichnung des Dokuments." - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "SEITE" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "Die anzuzeigende Seitennummer des Dokuments." - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "NUMMER" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "Name des anzuzeigenden Ziels" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "DEST" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "Evince im Vollbildmodus starten" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "Evince im Präsentationsmodus starten" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "Evince als Vorschaubetrachter starten" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "Das Schlagwort welches im Dokument gesucht werden soll" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "ZEICHENKETTE" - --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[DATEI …]" - - #: ../shell/evince-menus.ui.h:1 --#| msgid "Open in New _Window" - msgid "_New Window" - msgstr "_Neues Fenster" - -@@ -1695,7 +1760,6 @@ - msgstr "Eigenschaften für Anmerkungen …" - - #: ../shell/evince-menus.ui.h:47 --#| msgid "Annotations" - msgid "Remove Annotation" - msgstr "Anmerkung entfernen" - -@@ -1714,173 +1778,3 @@ - msgstr "" - "Die folgenden Dokumentformate werden unterstützt: PDF, PS, EPS, XPS, DjVu, " - "TIFF, DVI (inkl. SyncTeX) und Comicbuch-Archive (CBR, CBT, CBZ, CB7)." -- --#~ msgid "Toggle between view of recent items and open document" --#~ msgstr "" --#~ "Ansicht zwischen zuletzt geöffneten Dokumenten und dem offenen Dokument " --#~ "umschalten" -- --#~ msgid "%s — Password Required" --#~ msgstr "%s — Passwort erforderlich" -- --#~ msgid "_Recent" --#~ msgstr "_Zuletzt" -- --#~ msgid "Open a recently used document" --#~ msgstr "Eines der zuletzt geöffneten Dokumente öffnen" -- --#~ msgid "" --#~ "Document Viewer\n" --#~ "Using %s (%s)" --#~ msgstr "" --#~ "Dokumentenbetrachter\n" --#~ "Verwendet %s (%s)" -- --#~ msgid "_Bookmarks" --#~ msgstr "_Lesezeichen" -- --#~ msgid "_View in new window" --#~ msgstr "In neuem Fenster an_zeigen" -- --#~ msgid "Open a copy of the current document in a new window" --#~ msgstr "" --#~ "Eine Kopie des momentan angezeigten Dokuments in einem neuen Fenster " --#~ "öffnen" -- --#~ msgid "Save a copy of the current document" --#~ msgstr "Eine Kopie des momentan angezeigten Dokuments speichern" -- --#~ msgid "Send current document by mail, instant message…" --#~ msgstr "" --#~ "Das momentan angezeigte Dokument per E-Mail, Sofortnachricht, … versenden" -- --#~ msgid "Show the folder which contains this file in the file manager" --#~ msgstr "Den Ordner im Dateimanager anzeigen, der diese Datei beinhaltet." -- --#~ msgid "Reload the document" --#~ msgstr "Das Dokument aktualisieren" -- --#~ msgid "Go to the first page" --#~ msgstr "Zur ersten Seite gehen" -- --#~ msgid "Go to the last page" --#~ msgstr "Zur letzten Seite gehen" -- --#~ msgid "Go to Pa_ge" --#~ msgstr "Zu Seite _gehen" -- --#~ msgid "Go to Page" --#~ msgstr "Zu Seite gehen" -- --#~ msgid "Add a bookmark for the current page" --#~ msgstr "Ein Lesezeichen für die momentan geöffnete Seite hinzufügen" -- --#~ msgid "Leave Fullscreen" --#~ msgstr "Vollbild verlassen" -- --#~ msgid "Leave fullscreen mode" --#~ msgstr "Vollbildmodus verlassen" -- --#~ msgid "Start Presentation" --#~ msgstr "Präsentation starten" -- --#~ msgid "Start a presentation" --#~ msgstr "Eine Präsentation starten" -- --#~ msgid "Show or hide the side pane" --#~ msgstr "Die Seitenleiste anzeigen/verbergen" -- --#~ msgid "Show odd pages on the left in dual mode" --#~ msgstr "Zwei Seiten gleichzeitig anzeigen (ungerade Seiten links)" -- --#~ msgid "Expand the window to fill the screen" --#~ msgstr "Das Fenster bildschirmfüllend vergrößern" -- --#~ msgid "Run document as a presentation" --#~ msgstr "Das Dokument als Präsentation anzeigen" -- --#~ msgid "Show page contents with the colors inverted" --#~ msgstr "Seiteninhalt mit invertierten Farben darstellen" -- --#~ msgid "_Find…" --#~ msgstr "_Suchen …" -- --#~ msgid "Zoom" --#~ msgstr "Vergrößern" -- --#~ msgid "History" --#~ msgstr "Chronik" -- --#~ msgid "Open Folder" --#~ msgstr "Ordner öffnen" -- --#~ msgid "Send To" --#~ msgstr "Senden an" -- --#~ msgid "Previous" --#~ msgstr "Vorherige" -- --#~ msgid "Next" --#~ msgstr "Nächste" -- --#~ msgid "File is not a valid .desktop file" --#~ msgstr "Datei ist keine gültige .desktop-Datei" -- --#~ msgid "Unrecognized desktop file Version '%s'" --#~ msgstr "Version der Desktop-Datei »%s« wurde nicht erkannt" -- --#~ msgid "Starting %s" --#~ msgstr "%s wird gestartet" -- --#~ msgid "Application does not accept documents on command line" --#~ msgstr "Anwendung akzeptiert keine Dokumente als Befehlszeilenargumente" -- --#~ msgid "Unrecognized launch option: %d" --#~ msgstr "Nicht erkannte Startoption: %d" -- --#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" --#~ msgstr "" --#~ "Adressen (URIs) können nicht an »Type=Link«-Desktop-Dateien weitergegeben " --#~ "werden" -- --#~ msgid "Not a launchable item" --#~ msgstr "Kein ausführbarer Eintrag" -- --#~ msgid "Disable connection to session manager" --#~ msgstr "Verbindung zur Sitzungsverwaltung deaktivieren" -- --#~ msgid "Specify file containing saved configuration" --#~ msgstr "Datei auswählen, die eine gespeicherte Konfiguration enthält" -- --#~ msgid "Specify session management ID" --#~ msgstr "ID der Sitzungsverwaltung angeben" -- --#~ msgid "ID" --#~ msgstr "Kennung" -- --#~ msgid "Session management options:" --#~ msgstr "Optionen der Sitzungsverwaltung:" -- --#~ msgid "Show session management options" --#~ msgstr "Optionen der Sitzungsverwaltung anzeigen" -- --#~ msgid "Fit Page" --#~ msgstr "Seite anpassen" -- --#~ msgid "Fit Width" --#~ msgstr "Breite einpassen" -- --#~ msgid "By extension" --#~ msgstr "Nach Endung" -- --#~ msgid "Send _To..." --#~ msgstr "Senden _an …" -- --#~ msgid "Page %s — %s" --#~ msgstr "Seite %s — %s" -- --#~ msgid "Navigation" --#~ msgstr "Navigation" -- --#~ msgid "Back" --#~ msgstr "Zurück" -diff -urN evince-3.14.2/po/es.po evince-3.14.2_localized/po/es.po ---- evince-3.14.2/po/es.po 2015-03-08 13:52:48.000000000 +0530 -+++ evince-3.14.2_localized/po/es.po 2016-03-11 22:20:35.669000000 +0530 -@@ -2,29 +2,28 @@ - # Traducción de Evince al español. - # Copyright (C) Spanish translation for Evince - # This file is distributed under the same license as the Evince package. --# -+# - # Antonio Ognio , 2005. - # Francisco Javier F. Serrador , 2005, 2006. - # Juanje Ojeda Croissier , 2008, 2009. - # Jorge González , 2007, 2008, 2010. - # Daniel Mustieles , 2010, 2011, 2012, 2013, 2014. --# -+# pnemade , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: evince.master\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-09-04 03:41+0000\n" --"PO-Revision-Date: 2014-09-04 11:19+0200\n" --"Last-Translator: Daniel Mustieles \n" --"Language-Team: Español; Castellano \n" --"Language: \n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"PO-Revision-Date: 2014-09-04 09:19+0000\n" -+"Last-Translator: Daniel Mustieles \n" -+"Language-Team: Español; Castellano \n" -+"Language: es\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" --"X-Generator: Gtranslator 2.91.6\n" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format -@@ -48,7 +47,8 @@ - msgstr "No es un tipo MIME de cómic: %s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "" - "No se puede encontrar un comando apropiado para descomprimir este tipo de " - "cómic" -@@ -187,14 +187,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "Ninguno" -@@ -215,7 +215,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr " (una de las tipografías estándar de 14 puntos)" -@@ -224,7 +224,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr " (no es una de las estándares de 14 puntos)" -@@ -287,6 +287,75 @@ - msgid "Adds support for reading XPS documents" - msgstr "Añade soporte para leer documentos XPS" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "El archivo no es un archivo .desktop válido" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "Versión «%s» del archivo .desktop no reconocida" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "Iniciando %s" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "La aplicación no acepta documentos en la línea de comandos" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "Opción de lanzamiento no reconocida: %d" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "" -+"No se pueden pasar URI de documentos a una entrada .desktop «Type=Link»" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "No es un elemento lanzable" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "Desactivar la conexión con el gestor de sesiones" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "Especificar el archivo que contiene la configuración guardada" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "ARCHIVO" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "Especificar el ID de gestión de sesión" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "Opciones de gestión de la sesión:" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "Mostrar las opciones de gestión de la sesión" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -340,8 +409,8 @@ - msgstr "Imprimir documento" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "Visor de documentos" - -@@ -408,7 +477,6 @@ - "navegación de cursor." - - #: ../data/org.gnome.Evince.gschema.xml.in.h:10 --#| msgid "Adjust the zoom level" - msgid "Allow links to change the zoom level." - msgstr "Permitir que los enlaces cambien el nivel de ampliación." - -@@ -433,8 +501,8 @@ - msgstr "El tipo de archivo %s (%s) no está soportado" - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "Tipo MIME desconocido" - -@@ -469,8 +537,8 @@ - msgstr "de %d" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "Página %s" -@@ -526,19 +594,19 @@ - msgid "Print" - msgstr "Imprimir" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "Escalado de página:" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "Encoger a un área imprimible" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "Ajustar a un área imprimible" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -564,11 +632,11 @@ - "reducen según se requiera para ajustarse al área de impresión de página de " - "la impresora.\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "Rotar automáticamente y centrar" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." -@@ -577,12 +645,12 @@ - "con cada página del documento. Las páginas del documento se centrarán en la " - "página de impresión." - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" - msgstr "" - "Seleccionar el tamaño de página usando tamaños de páginas de documentos" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." -@@ -590,7 +658,7 @@ - "Cuando está activado, cada página se imprimirá en el mismo tamaño de papel " - "que la página del documento." - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "Gestión de páginas" - -@@ -674,15 +742,11 @@ - msgid "Print settings file" - msgstr "Archivo de ajustes de impresión" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "ARCHIVO" -- - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "Visor de documentos de Gnome" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "No se pudo imprimir el documento" - -@@ -785,7 +849,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "default:mm" -@@ -910,7 +974,7 @@ - msgid "Close" - msgstr "Cerrada" - --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " -@@ -922,7 +986,7 @@ - "Software Foundation; ya sea en su versión 2 ó (a su criterio)en una versión " - "posterior.\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " -@@ -933,7 +997,7 @@ - "ninguna garantía implícita de COMERCIALIDAD o IDONEIDAD PARA UN FIN " - "DETERMINADO. Mire la Licencia General GNU para más detalles.\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " -@@ -943,15 +1007,15 @@ - "con Evince; si no es el caso, escriba a la Free Software Foundation, Inc., " - "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 EE. UU.\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "Evince" - --#: ../shell/ev-application.c:1026 -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996–2014 Los autores de Evince" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" - msgstr "" - "Daniel Mustieles , 2010-2012\n" -@@ -960,11 +1024,11 @@ - "Daniel Fernández , 2005\n" - "Antonio Ognio , 2004-2005" - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "Ir al elemento del histórico anterior" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "Ir al siguiente elemento del histórico" - -@@ -1129,19 +1193,19 @@ - msgid "Thumbnails" - msgstr "Miniaturas" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "Abre un documento existente" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "Busca una palabra o frase en el documento" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "Opciones del archivo" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "Opciones de la vista" - -@@ -1149,106 +1213,106 @@ - msgid "Supported Image Files" - msgstr "Archivos de imagen soportados" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "El documento no contiene ninguna página" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "El documento sólo contiene páginas vacías" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "No se pudo abrir el documento «%s»." - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "Cargando documento desde «%s»" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "Descargando documento (%d%%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "Falló al cargar el archivo remoto." - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "Recargando el documento desde %s" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "Falló al recargar el documento." - --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "Abrir documento" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "Guardando el documento en %s" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "Guardando el adjunto en %s" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "Guardando la imagen en %s" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "El archivo no se pudo guardar como «%s»." - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "Subiendo el documento (%d%%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "Subiendo el adjunto (%d%%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "Subiendo la imagen (%d%%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "Guardar una copia" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "No se pudo enviar el documento actual" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "No se pudo abrir la carpeta contenedora" - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" - msgstr[0] "%d trabajo pendiente en la cola" - msgstr[1] "%d trabajos pendientes en la cola" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "Imprimiendo trabajo «%s»" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." -@@ -1256,7 +1320,7 @@ - "El documento contiene campos de formulario que se han rellenado. Los cambios " - "se perderán permanentemente si no guarda una copia." - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." -@@ -1264,20 +1328,20 @@ - "El documento contiene anotaciones nuevas o modificadas. Los cambios se " - "perderán automáticamente si no guarda una copia." - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "¿Guardar una copia del documento «%s» antes de cerrar?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "Cerrar _sin guardar" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "Guardar una _copia" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "" -@@ -1286,9 +1350,10 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" - msgstr[0] "" -@@ -1298,51 +1363,51 @@ - "Hay %d trabajos de impresión activos. ¿Quiere esperar a que termine la " - "impresora antes de cerrar?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "" - "Si cierra la ventana, los trabajos de impresión pendientes no se imprimirán." - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "Cancelar la _impresión y cerrar" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "Cerrar _después de imprimir" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "Ejecutándose en modo presentación" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5181 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" - msgstr[0] "%d encontrado en esta página" - msgstr[1] "%d encontrados en esta página" - --#: ../shell/ev-window.c:5186 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "No encontrado" - --#: ../shell/ev-window.c:5192 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "%3d%% restante para buscar" - --#: ../shell/ev-window.c:5512 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "¿Activar la navegación de cursor?" - --#: ../shell/ev-window.c:5514 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "_Activar" - --#: ../shell/ev-window.c:5517 -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " -@@ -1353,39 +1418,39 @@ - "permitiéndole moverse por el texto y seleccionarlo con el teclado. ¿Quiere " - "activar la navegación de cursor?" - --#: ../shell/ev-window.c:5522 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "No volver a mostrar este mensaje" - --#: ../shell/ev-window.c:6038 ../shell/ev-window.c:6054 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "No se pudo lanzar la aplicación externa." - --#: ../shell/ev-window.c:6111 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "No se pudo abrir el enlace externo" - --#: ../shell/ev-window.c:6314 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "No se pudo encontrar el formato apropiado para guardar la imagen" - --#: ../shell/ev-window.c:6346 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "La imagen no se pudo guardar." - --#: ../shell/ev-window.c:6381 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "Guardar imagen" - --#: ../shell/ev-window.c:6532 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "No se pudo abrir el adjunto" - --#: ../shell/ev-window.c:6588 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "El adjunto no se pudo guardar." - --#: ../shell/ev-window.c:6636 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "Guardar adjuntos" - -@@ -1453,55 +1518,55 @@ - msgid "6400%" - msgstr "6400%" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "Visor de documentos de Gnome" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "La etiqueta de página del documento que mostrar." - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "PÁGINA" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "El número de página del documento que mostrar." - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "NÚMERO" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "Nombre del destino que mostrar." - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "DESTINO" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "Ejecutar Evince en modo pantalla completa" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "Ejecutar Evince en modo presentación" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "Ejecutar Evince como un previsualizador" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "La palabra o frase que buscar en el documento" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "CADENA" - --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[ARCHIVO…]" - -@@ -1688,256 +1753,4 @@ - msgstr "" - "Soporta los siguientes formatos de documentos: PDF, PS, EPS, XPS, DjVu, " - "TIFF, DVI (con SyncTeX), y archivos de libros de cómics (CBR, CBT, CBZ, CB7)." -- --#~ msgid "Toggle between view of recent items and open document" --#~ msgstr "Cambiar entre la vista de elementos recientes y documentos abiertos" -- --#~ msgid "%s — Password Required" --#~ msgstr "%s — Se requiere una contraseña" -- --#~ msgid "_Recent" --#~ msgstr "_Recientes" -- --#~ msgid "Zoom" --#~ msgstr "Ampliación" -- --#~ msgid "Open a recently used document" --#~ msgstr "Abrir un documento usado recientemente" -- --#~ msgid "_Bookmarks" --#~ msgstr "_Marcadores" -- --#~ msgid "_View in new window" --#~ msgstr "Ver en una _ventana nueva" -- --#~ msgid "Open a copy of the current document in a new window" --#~ msgstr "Abre una copia del documento actual en una ventana nueva" -- --#~ msgid "Save a copy of the current document" --#~ msgstr "Guarda una copia del documento actual" -- --#~ msgid "Send current document by mail, instant message…" --#~ msgstr "Enviar el documento actual por correo-e, mensajería instantánea…" -- --#~ msgid "Show the folder which contains this file in the file manager" --#~ msgstr "" --#~ "Mostrar en el gestor de archivos la carpeta que contiene este archivo" -- --#~ msgid "Reload the document" --#~ msgstr "Recarga el documento" -- --#~ msgid "Go to the first page" --#~ msgstr "Ir a la primera página" -- --#~ msgid "Go to the last page" --#~ msgstr "Ir a la última página" -- --#~ msgid "Go to Pa_ge" --#~ msgstr "_Ir a la página" -- --#~ msgid "Go to Page" --#~ msgstr "Ir a la página" -- --#~ msgid "Add a bookmark for the current page" --#~ msgstr "Añadir un marcador para la página actual" -- --#~ msgid "Leave Fullscreen" --#~ msgstr "Salir de «Pantalla completa»" -- --#~ msgid "Leave fullscreen mode" --#~ msgstr "Salir del modo a pantalla completa" -- --#~ msgid "Start Presentation" --#~ msgstr "Iniciar presentación" -- --#~ msgid "Start a presentation" --#~ msgstr "Iniciar una presentación" -- --#~ msgid "Show or hide the side pane" --#~ msgstr "Muestra o oculta el panel lateral" -- --#~ msgid "Show odd pages on the left in dual mode" --#~ msgstr "" --#~ "Mostrar las páginas impares a la izquierda en el modo de doble página" -- --#~ msgid "Expand the window to fill the screen" --#~ msgstr "Expandir la ventana hasta llenar la pantalla" -- --#~ msgid "Run document as a presentation" --#~ msgstr "Ver el documento como una presentación" -- --#~ msgid "Show page contents with the colors inverted" --#~ msgstr "Mostrar el contenido de la página invirtiendo los colores" -- --#~ msgid "_Find…" --#~ msgstr "_Buscar…" -- --#~ msgid "History" --#~ msgstr "Histórico" -- --#~ msgid "Open Folder" --#~ msgstr "Abrir carpeta" -- --#~ msgid "Send To" --#~ msgstr "Enviar a" -- --#~ msgid "Previous" --#~ msgstr "Anterior" -- --#~ msgid "Next" --#~ msgstr "Siguiente" -- --#~ msgid "" --#~ "Document Viewer\n" --#~ "Using %s (%s)" --#~ msgstr "" --#~ "Visor de documentos\n" --#~ "Usando %s (%s)" -- --#~ msgid "File is not a valid .desktop file" --#~ msgstr "El archivo no es un archivo .desktop válido" -- --#~ msgid "Unrecognized desktop file Version '%s'" --#~ msgstr "Versión «%s» del archivo .desktop no reconocida" -- --#~ msgid "Starting %s" --#~ msgstr "Iniciando %s" -- --#~ msgid "Application does not accept documents on command line" --#~ msgstr "La aplicación no acepta documentos en la línea de comandos" -- --#~ msgid "Unrecognized launch option: %d" --#~ msgstr "Opción de lanzamiento no reconocida: %d" -- --#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" --#~ msgstr "" --#~ "No se pueden pasar URI de documentos a una entrada .desktop «Type=Link»" -- --#~ msgid "Not a launchable item" --#~ msgstr "No es un elemento lanzable" -- --#~ msgid "Disable connection to session manager" --#~ msgstr "Desactivar la conexión con el gestor de sesiones" -- --#~ msgid "Specify file containing saved configuration" --#~ msgstr "Especificar el archivo que contiene la configuración guardada" -- --#~ msgid "Specify session management ID" --#~ msgstr "Especificar el ID de gestión de sesión" -- --#~ msgid "ID" --#~ msgstr "ID" -- --#~ msgid "Session management options:" --#~ msgstr "Opciones de gestión de la sesión:" -- --#~ msgid "Show session management options" --#~ msgstr "Mostrar las opciones de gestión de la sesión" -- --#~ msgid "Fit Page" --#~ msgstr "Ajustar página" -- --#~ msgid "Fit Width" --#~ msgstr "Ajustar anchura" -- --#~ msgid "By extension" --#~ msgstr "Por extensión" -- --#~ msgid "Send _To..." --#~ msgstr "En_viar a…" -- --#~ msgid "Page %s — %s" --#~ msgstr "Página %s — %s" -- --#~ msgid "Navigation" --#~ msgstr "Navegación" -- --#~ msgid "Back" --#~ msgstr "Atrás" -- --#~ msgid "Move across visited pages" --#~ msgstr "Moverse a través de las páginas visitadas" -- --#~ msgid "Show “_%s”" --#~ msgstr "Mostrar «_%s»" -- --#~ msgid "_Move on Toolbar" --#~ msgstr "_Mover a la barra de herramientas" -- --#~ msgid "Move the selected item on the toolbar" --#~ msgstr "Mueve el elemento seleccionado a la barra de herramientas" -- --#~ msgid "_Remove from Toolbar" --#~ msgstr "_Quitar de la barra de herramientas" -- --#~ msgid "Remove the selected item from the toolbar" --#~ msgstr "Quitar el elemento seleccionado de la barra de herramientas" -- --#~ msgid "_Delete Toolbar" --#~ msgstr "_Eliminar barra de herramientas" -- --#~ msgid "Remove the selected toolbar" --#~ msgstr "Quitar barra de herramientas seleccionada" -- --#~ msgid "Separator" --#~ msgstr "Separador" -- --#~ msgid "Best Fit" --#~ msgstr "Ajuste óptimo" -- --#~ msgid "Fit Page Width" --#~ msgstr "Ajustar al ancho de página" -- --#~ msgid "_Best Fit" --#~ msgstr "Ajuste óp_timo" -- --#~ msgid "Fit Page _Width" --#~ msgstr "Ajustar al a_ncho de página" -- --#~ msgid "Find:" --#~ msgstr "Buscar:" -- --#~ msgid "Find Pre_vious" --#~ msgstr "Buscar _anterior" -- --#~ msgid "Find Ne_xt" --#~ msgstr "Buscar _siguiente" -- --#~ msgid "Toolbar Editor" --#~ msgstr "Editor de la barra de herramientas" -- --#~ msgid "_File" --#~ msgstr "_Archivo" -- --#~ msgid "_Edit" --#~ msgstr "_Editar" -- --#~ msgid "_View" --#~ msgstr "_Ver" -- --#~ msgid "_Go" --#~ msgstr "_Ir" -- --#~ msgid "T_oolbar" --#~ msgstr "Barra de _herramientas" -- --#~ msgid "_Contents" --#~ msgstr "Índ_ice" -- --#~ msgid "_Toolbar" --#~ msgstr "Barra de _herramientas" -- --#~ msgid "Show or hide the toolbar" --#~ msgstr "Muestra u oculta la barra de herramientas" -- --#~ msgid "_Dual (Even pages left)" --#~ msgstr "_Dual (páginas pares a la izquierda)" -- --#~ msgid "Show two pages at once with even pages on the left" --#~ msgstr "Mostrar dos páginas a la vez con las páginas pares a la izquierda" -- --#~ msgid "There was an error displaying help" --#~ msgstr "Hubo un error al mostrar la ayuda" -- --#~ msgid "Toggle case sensitive search" --#~ msgstr "Conmutar búsqueda discriminando capitalización" -+"" -diff -urN evince-3.14.2/po/fr.po evince-3.14.2_localized/po/fr.po ---- evince-3.14.2/po/fr.po 2015-03-08 13:52:48.000000000 +0530 -+++ evince-3.14.2_localized/po/fr.po 2016-03-11 22:20:35.695000000 +0530 -@@ -1,7 +1,7 @@ - # French translation of evince. - # Copyright (C) 2005-2014 The Free Software Foundation, Inc. - # This file is distributed under the GNU General Public License Version 2. --# -+# - # Vincent Carriere , 2005. - # Christophe Merlet , 2005-2006. - # Vincent Untz , 2005. -@@ -16,21 +16,22 @@ - # Milan Bouchet-Valat , 2010. - # Bruno Brouard , 2012. - # Guillaume Bernard , 2014. --# -+# Sam Friedmann , 2016. #zanata -+# pnemade , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: Evince HEAD\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-09-06 03:40+0000\n" --"PO-Revision-Date: 2014-09-06 10:05+0200\n" --"Last-Translator: Guillaume Bernard \n" --"Language-Team: français \n" --"Language: fr\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"PO-Revision-Date: 2016-03-03 03:57+0000\n" -+"Last-Translator: Sam Friedmann \n" -+"Language-Team: français \n" -+"Language: fr\n" - "Plural-Forms: nplurals=2; plural=(n > 1);\n" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format -@@ -57,7 +58,8 @@ - msgstr "Mauvais type MIME bande dessinée : %s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "" - "Impossible de trouver une commande appropriée pour décompresser ce type de " - "bande dessinée" -@@ -196,14 +198,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "Aucun" -@@ -224,7 +226,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr " (une des 14 polices standards)" -@@ -233,7 +235,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr " (pas une des 14 polices standards)" -@@ -296,6 +298,76 @@ - msgid "Adds support for reading XPS documents" - msgstr "Ajoute la prise en charge de la lecture des documents XPS" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "File n'est pas un fichier .desktop valide" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "Version du fichier .desktop « %s » non reconnue" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "Lancement de %s" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "L'application n'accepte pas de documents sur la ligne de commande" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "Option de lancement non reconnue : %d" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "" -+"Impossible de passer les URI de documents vers une entrée .desktop de type " -+"« Type=Link »" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "Élément impossible à lancer" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "Désactive la connexion au gestionnaire de sessions" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "Indique un fichier contenant la configuration enregistrée" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "FICHIER" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "Indique l'ID de la gestion de sessions" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "Options de gestion de sessions :" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "Afficher les options de gestion de sessions" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -349,8 +421,8 @@ - msgstr "Imprimer le document" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "Visionneur de documents" - -@@ -444,8 +516,8 @@ - msgstr "Le type de fichier %s (%s) n'est pas pris en charge" - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "Type MIME inconnu" - -@@ -480,8 +552,8 @@ - msgstr "sur %d" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "Page %s" -@@ -537,19 +609,19 @@ - msgid "Print" - msgstr "Imprimer" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "Ajustement des pages :" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "Réduire selon la zone imprimable" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "Ajuster selon la zone imprimable" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -574,11 +646,11 @@ - "• Ajuster selon la zone imprimable : les pages sont réduites ou agrandies " - "afin de correspondre au mieux à la zone imprimable de l'imprimante.\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "Pivoter et centrer automatiquement" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." -@@ -587,11 +659,12 @@ - "document imprimé. Les pages sont centrées dans la zone d'impression de " - "l'imprimante." - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" --msgstr "Choisir la taille du papier en fonction de celle des pages du document" -+msgstr "" -+"Choisir la taille du papier en fonction de celle des pages du document" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." -@@ -599,7 +672,7 @@ - "Si activé, chaque page est imprimée selon la taille de papier indiquée dans " - "le document." - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "Gestion des pages" - -@@ -683,15 +756,11 @@ - msgid "Print settings file" - msgstr "Imprimer le fichier de paramètres" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "FICHIER" -- - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "Prévisualiseur de documents de GNOME" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "L'impression du document a échoué" - -@@ -794,7 +863,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "default:mm" -@@ -919,7 +988,7 @@ - msgid "Close" - msgstr "Fermer" - --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " -@@ -931,7 +1000,7 @@ - "que publiée par la Free Software Foundation ; version 2 de la licence,\n" - "ou (à votre discrétion) toute version ultérieure.\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " -@@ -943,25 +1012,25 @@ - "D'ADÉQUATION À UN BESOIN PARTICULIER. Pour plus de détails, voir la Licence " - "Publique Générale GNU.\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " - "Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - msgstr "" - "Un exemplaire de la Licence Publique Générale GNU doit être fourni avec " --"Evince ; si ce n'est pas le cas, écrivez à la Free Software Foundation, " --"Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n" -+"Evince ; si ce n'est pas le cas, écrivez à la Free Software Foundation, Inc." -+", 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "Evince" - --#: ../shell/ev-application.c:1026 -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996-2014 Les auteurs d'Evince" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" - msgstr "" - "Vincent Carriere \n" -@@ -975,11 +1044,11 @@ - "Pierre Lemaire \n" - "Bruno Brouard " - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "Aller à l'élément précédent de l'historique" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "Aller à l'élément suivant de l'historique" - -@@ -1144,19 +1213,19 @@ - msgid "Thumbnails" - msgstr "Vignettes" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "Ouvre un document existant" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "Recherche un mot ou une phrase dans le document" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "Options des fichiers" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "Options d'affichage" - -@@ -1164,135 +1233,137 @@ - msgid "Supported Image Files" - msgstr "Fichiers images pris en charge" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "Le document n'a aucune page" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "Le document ne contient que des pages vides" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "Impossible d'ouvrir le document « %s »." - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "Chargement du document à partir de « %s »" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "Téléchargement du document (%d %%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "Impossible de charger le fichier distant." - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "Rechargement du document à partir de %s" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "Le rechargement du document a échoué." - --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "Ouvrir un document" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "Enregistrement du document vers %s" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "Enregistrement de la pièce jointe vers %s" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "Enregistrement de l'image vers %s" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "Le fichier ne peut pas être enregistré sous « %s »." - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "Envoi du document (%d %%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "Envoi de la pièce jointe (%d %%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "Envoi de l'image (%d %%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "Enregistrer une copie" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "Impossible d'envoyer le document actuel" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "Impossible d'ouvrir le dossier parent" - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" - msgstr[0] "%d tâche en attente dans la file" - msgstr[1] "%d tâches en attente dans la file" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "Impression de la tâche « %s »" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." - msgstr "" - "Le document contient des champs de formulaire qui ont été remplis. Si vous " - "n'enregistrez pas une copie, les modifications seront définitivement perdues." -+"" - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." - msgstr "" - "Le document contient des annotations nouvelles ou modifiées. Si vous " - "n'enregistrez pas une copie, les modifications seront définitivement perdues." -+"" - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "Enregistrer une copie du document « %s » avant de fermer ?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "Fermer _sans enregistrer" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "Enregistrer une _copie" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "Faut-il attendre la fin de l'impression de « %s » avant de fermer ?" -@@ -1300,9 +1371,10 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" - msgstr[0] "" -@@ -1312,52 +1384,52 @@ - "%d tâches d'impression sont en cours. Faut-il attendre la fin de " - "l'impression avant de fermer ?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "" - "Si vous fermez la fenêtre, les tâches en attente d'impression ne seront pas " - "imprimées." - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "Annuler l'_impression et fermer" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "Fermer _après l'impression" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "Exécution en mode présentation" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5181 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" - msgstr[0] "Trouvé %d fois sur cette page" - msgstr[1] "Trouvés %d fois sur cette page" - --#: ../shell/ev-window.c:5186 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "Non trouvé" - --#: ../shell/ev-window.c:5192 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "%3d %% restant à rechercher" - --#: ../shell/ev-window.c:5512 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "Activer la navigation au curseur ?" - --#: ../shell/ev-window.c:5514 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "_Activer" - --#: ../shell/ev-window.c:5517 -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " -@@ -1368,39 +1440,39 @@ - "permettant de se déplacer et de sélectionner du texte avec votre clavier. " - "Voulez-vous activer la navigation au curseur ?" - --#: ../shell/ev-window.c:5522 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "Ne plus montrer ce message" - --#: ../shell/ev-window.c:6038 ../shell/ev-window.c:6054 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "Impossible de lancer l'application externe." - --#: ../shell/ev-window.c:6111 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "Impossible d'ouvrir le lien externe" - --#: ../shell/ev-window.c:6314 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "Impossible de trouver le format approprié pour enregistrer l'image" - --#: ../shell/ev-window.c:6346 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "L'image ne peut pas être enregistrée." - --#: ../shell/ev-window.c:6381 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "Enregistrer l'image" - --#: ../shell/ev-window.c:6532 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "Impossible d'ouvrir la pièce jointe" - --#: ../shell/ev-window.c:6588 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "La pièce jointe ne peut pas être enregistrée." - --#: ../shell/ev-window.c:6636 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "Enregistrer la pièce jointe" - -@@ -1468,55 +1540,55 @@ - msgid "6400%" - msgstr "6400 %" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "Visionneur de documents de GNOME" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "L'étiquette de la page du document à afficher." - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "PAGE" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "Le numéro de la page du document à afficher." - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "NUMÉRO" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "Destination nommée à afficher." - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "DEST" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "Exécute evince en mode plein écran" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "Exécute evince en mode présentation" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "Exécute evince en mode aperçu" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "Le mot ou la phrase à rechercher dans le document" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "CHAÎNE" - --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[FICHIER…]" - -@@ -1694,7 +1766,8 @@ - - #: ../evince.appdata.xml.in.h:3 - msgid "This is a document viewer for the GNOME desktop." --msgstr "Cette application est un visionneur de documents pour le bureau GNOME." -+msgstr "" -+"Cette application est un visionneur de documents pour le bureau GNOME." - - #: ../evince.appdata.xml.in.h:4 - msgid "" -diff -urN evince-3.14.2/po/it.po evince-3.14.2_localized/po/it.po ---- evince-3.14.2/po/it.po 2014-11-29 15:10:16.000000000 +0530 -+++ evince-3.14.2_localized/po/it.po 2016-03-11 22:20:35.715000000 +0530 -@@ -3,22 +3,21 @@ - # This file is distributed under the same license as the Evince package. - # Francesco Marletta , 2005, 2006, 2007, 2008, 2009, 2010. - # Claudio Arseni , 2011, 2012, 2013, 2014. --# -+# pnemade , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: evince\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-09-05 03:40+0000\n" --"PO-Revision-Date: 2014-09-05 12:09+0200\n" --"Last-Translator: Claudio Arseni \n" --"Language-Team: Italian \n" --"Language: it\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"PO-Revision-Date: 2014-09-04 10:09+0000\n" -+"Last-Translator: Claudio Arseni \n" -+"Language-Team: Italian \n" -+"Language: it\n" - "Plural-Forms: nplurals=2; plural=(n != 1);\n" --"X-Generator: Gtranslator 2.91.6\n" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format -@@ -42,7 +41,8 @@ - msgstr "Non è un tipo MIME di fumetti: %s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "" - "Impossibile trovare un comando appropriato per decomprimere questo tipo di " - "fumetto" -@@ -182,14 +182,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "Campo vuoto" -@@ -210,7 +210,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr " (è uno dei 14 tipi di carattere standard)" -@@ -219,7 +219,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr " (non è uno dei 14 tipi di carattere standard)" -@@ -282,6 +282,75 @@ - msgid "Adds support for reading XPS documents" - msgstr "Aggiunge il supporto per la lettura dei documenti XPS" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "Il file non è un file .desktop valido" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "Versione «%s» del file .desktop non riconosciuta" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "Avvio di %s" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "L'applicazione non accetta documenti sulla riga di comando" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "Opzione di lancio non riconosciuta: %d" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "" -+"Impossibile passare URI di documenti a un elemento desktop con «Type=Link»" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "Non è un oggetto lanciabile" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "Disabilita la connessione al gestore sessioni" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "Specifica il file contenente la configurazione salvata" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "FILE" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "Specifica l'ID di gestione della sessione" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "Opzioni di gestione sessione:" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "Mostra le opzioni di gestione della sessione" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -330,18 +399,16 @@ - msgstr "Rimpicciolisce il documento" - - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:368 --#| msgid "Downloading document (%d%%)" - msgid "Download document" - msgstr "Scarica documento" - - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:381 --#| msgid "Print this document" - msgid "Print document" - msgstr "Stampa documento" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "Visualizzatore documenti" - -@@ -408,7 +475,6 @@ - "navigazione con cursore." - - #: ../data/org.gnome.Evince.gschema.xml.in.h:10 --#| msgid "Adjust the zoom level" - msgid "Allow links to change the zoom level." - msgstr "Consente ai collegamenti di modificare il livello di ingrandimento." - -@@ -433,8 +499,8 @@ - msgstr "Il tipo di file %s (%s) non è supportato" - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "Tipo MIME sconosciuto" - -@@ -469,8 +535,8 @@ - msgstr "di %d" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "Pagina %s" -@@ -505,7 +571,6 @@ - msgstr "Stampa della pagina %d di %d…" - - #: ../libview/ev-print-operation.c:1214 --#| msgid "PostScript is not supported by this printer." - msgid "Requested format is not supported by this printer." - msgstr "Il formato richiesto non è supportato da questa stampante." - -@@ -528,19 +593,19 @@ - msgid "Print" - msgstr "Stampa" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "Scala pagina:" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "Riduci all'area stampabile" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "Adatta all'area stampabile" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -559,17 +624,18 @@ - "• «Nessuna»: non viene eseguita alcuna scalatura della pagina.\n" - "\n" - "• «Riduci all'area stampabile»: le pagine del documento più grandi dell'area " --"di stampa sono ridotte per riempire l'area stampabile della pagina di " --"stampa.\n" -+"di stampa sono ridotte per riempire l'area stampabile della pagina di stampa." -+"\n" - "\n" - "• «Adatta all'area stampabile»: le pagine del documento sono ingrandite o " --"ridotte alla bisogna per riempire l'area stampabile della pagina di stampa.\n" -+"ridotte alla bisogna per riempire l'area stampabile della pagina di stampa." -+"\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "Ruotare e centrare automaticamente" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." -@@ -578,13 +644,13 @@ - "all'orientamento di ogni pagina del documento. Le pagine del documento " - "verranno centrate nella pagina di stampa." - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" - msgstr "" - "Selezionare la dimensione della pagina usando la dimensione della pagina del " - "documento" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." -@@ -592,7 +658,7 @@ - "Quando abilitata, ogni pagina verrà stampata usando la stessa dimensione " - "della pagina nel documento." - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "Gestione pagina" - -@@ -677,16 +743,12 @@ - msgid "Print settings file" - msgstr "File con impostazioni di stampa" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "FILE" -- - # [NdT] Lascio visualizzatore anche per Previewer - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "Anteprima documenti di GNOME" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "Stampa del documento non riuscita" - -@@ -791,7 +853,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "default:mm" -@@ -918,7 +980,7 @@ - msgstr "Chiudi" - - # [ndT] ho cambiato apposta la punteggiatura --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " -@@ -929,7 +991,7 @@ - "termini della licenza GNU GPL, pubblicata dalla Free Software Foundation, " - "versione 2 o (a propria scelta) successiva.\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " -@@ -940,7 +1002,7 @@ - "senza neppure l'implicita garanzia di COMMERCIABILITÀ o IDONEITÀ A UNO SCOPO " - "PARTICOLARE. Consultare la licenza GNU GPL per maggiori dettagli.\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " -@@ -948,29 +1010,28 @@ - msgstr "" - "Insieme a Evince dovrebbe essere stata fornita anche una copia della licenza " - "GNU GPL, in caso contrario è possibile richiederla scrivendo a: Free " --"Software Foundation Inc., 51 Franklin Street, Fifth Floor, Boston, MA " --"02110-1301 USA\n" -+"Software Foundation Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-" -+"1301 USA\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "Evince" - --#: ../shell/ev-application.c:1026 --#| msgid "© 1996–2012 The Evince authors" -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996-2014 gli autori di Evince" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" - msgstr "" - "Claudio Arseni, \n" - "Francesco Marletta, " - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "Va all'oggetto precedente della cronologia" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "Va all'oggetto successivo della cronologia" - -@@ -1134,19 +1195,19 @@ - msgid "Thumbnails" - msgstr "Miniature" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "Apre un documento esistente" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "Trova una parola o frase nel documento" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "Opzioni file" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "Visualizza opzioni" - -@@ -1154,107 +1215,107 @@ - msgid "Supported Image Files" - msgstr "File immagine supportati" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "Il documento non contiene pagine" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "Il documento contiene solo pagine vuote" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "Impossibile aprire il documento «%s»." - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "Caricamento documento da «%s»" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "Scaricamento documento (%d%%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "Caricamento del file remoto non riuscito." - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "Aggiornamento del documento da %s" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "Aggiornamento del documento non riuscito." - - # titolo di dialogo --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "Apri documento" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "Salvataggio del documento in %s" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "Salvataggio dell'allegato in %s" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "Salvataggio dell'immagine in %s" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "Il file non può essere salvato come «%s»." - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "Caricamento documento (%d%%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "Caricamento allegato (%d%%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "Caricamento immagine (%d%%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "Salva una copia" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "Impossibile inviare il documento corrente" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "Impossibile aprire la cartella che contiene il file" - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" - msgstr[0] "%d lavoro in attesa di essere stampato" - msgstr[1] "%d lavori in attesa di essere stampati" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "Stampa del lavoro «%s»" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." -@@ -1262,7 +1323,7 @@ - "Il documento contiene dei campi che sono stati compilati. Se non si salva " - "una copia del documento, le modifiche verranno perse per sempre." - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." -@@ -1270,20 +1331,20 @@ - "Il documento contiene annotazioni nuove o modificate. Se non si salva una " - "copia del documento, le modifiche verranno perse per sempre." - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "Salvare una copia del documento «%s» prima della chiusura?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "Chiudi senza sal_vare" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "Salva una _copia" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "Attendere la fine del lavoro di stampa «%s» prima di chiudere?" -@@ -1291,9 +1352,10 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" - msgstr[0] "" -@@ -1303,55 +1365,51 @@ - "Ci sono %d lavori di stampa attivi. Attendere la fine delle stampe prima di " - "chiudere?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "" - "Chiudendo la finestra, i lavori di stampa in attesa non verranno stampati." - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "Annulla stam_pa e chiudi" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "Chiudi _dopo la stampa" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "Esecuzione in modalità presentazione" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5181 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" - msgstr[0] "%d corrispondenza in questa pagina" - msgstr[1] "%d corrispondenze in questa pagina" - --#: ../shell/ev-window.c:5186 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "Non trovata" - --#: ../shell/ev-window.c:5192 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "%3d%% rimanente da cercare" - --#: ../shell/ev-window.c:5512 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "Abilitare la navigazione con cursore?" - --#: ../shell/ev-window.c:5514 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "A_bilita" - --#: ../shell/ev-window.c:5517 --#| msgid "" --#| "Pressing F7 turns the caret navigation on or off. This feature places a " --#| "moveable cursor in text pages, allowing you to move around and select " --#| "text with your keyboard. Do you want to enable the caret navigation on?" -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " -@@ -1362,50 +1420,48 @@ - "consentendo di muoversi e selezionare il testo usando la tastiera. Abilitare " - "la navigazione con cursore?" - --#: ../shell/ev-window.c:5522 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "Non mostrare più questo messaggio" - --#: ../shell/ev-window.c:6038 ../shell/ev-window.c:6054 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "Impossibile lanciare l'applicazione esterna." - --#: ../shell/ev-window.c:6111 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "Impossibile aprire il collegamento esterno" - --#: ../shell/ev-window.c:6314 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "Impossibile trovare un formato appropriato per salvare l'immagine" - --#: ../shell/ev-window.c:6346 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "L'immagine non può essere salvata." - --#: ../shell/ev-window.c:6381 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "Salva immagine" - --#: ../shell/ev-window.c:6532 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "Impossibile aprire l'allegato" - --#: ../shell/ev-window.c:6588 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "L'allegato non può essere salvato." - --#: ../shell/ev-window.c:6636 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "Salva allegato" - - # titolo di dialogo - #: ../shell/ev-window-title.c:118 --#| msgid "Open Document" - msgid "Recent Documents" - msgstr "Documenti recenti" - - #: ../shell/ev-window-title.c:153 ../shell/ev-window-title.c:157 --#| msgid "Password required" - msgid "Password Required" - msgstr "Password richiesta" - -@@ -1465,61 +1521,60 @@ - msgid "6400%" - msgstr "6400%" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "Visualizzatore documenti di GNOME" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "L'etichetta della pagina del documento da visualizzare." - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "PAGINA" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "Il numero di pagina del documento da visualizzare." - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "NUMERO" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "Il segnaposto PDF da visualizzare." - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "DESTINAZIONE" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "Esegue evince in modalità schermo intero" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "Esegue evince in modalità presentazione" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "Esegue evince per vedere l'anteprima di stampa" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "La parola o la frase da trovare nel documento" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "STRINGA" - - # [NdT] lo adeguo, anche se non sono molto d'accordo con gli sviluppatori sull'uso di caratteri unicode nel messaggi a riga di comando. --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[FILE…]" - - #: ../shell/evince-menus.ui.h:1 --#| msgid "Open in New _Window" - msgid "_New Window" - msgstr "_Nuova finestra" - -@@ -1561,35 +1616,29 @@ - msgstr "Ruota a _destra" - - #: ../shell/evince-menus.ui.h:11 --#| msgid "_First Page" - msgid "First Page" - msgstr "Prima pagina" - - # acceleratore come da linee guida - #: ../shell/evince-menus.ui.h:12 --#| msgid "_Previous Page" - msgid "Previous Page" - msgstr "Pagina precedente" - - # acceleratore come da linee guida - #: ../shell/evince-menus.ui.h:13 --#| msgid "_Next Page" - msgid "Next Page" - msgstr "Pagina successiva" - - # acceleratore come da linee guida - #: ../shell/evince-menus.ui.h:14 --#| msgid "_Last Page" - msgid "Last Page" - msgstr "Ultima pagina" - - #: ../shell/evince-menus.ui.h:15 --#| msgid "Zoom In" - msgid "Zoom _In" - msgstr "A_umenta" - - #: ../shell/evince-menus.ui.h:16 --#| msgid "Zoom Out" - msgid "Zoom _Out" - msgstr "Ri_duci" - -@@ -1630,7 +1679,6 @@ - msgstr "Stam_pa…" - - #: ../shell/evince-menus.ui.h:26 --#| msgid "P_roperties" - msgid "P_roperties…" - msgstr "Pr_oprietà…" - -@@ -1651,7 +1699,6 @@ - msgstr "_Aggiungi segnalibro" - - #: ../shell/evince-menus.ui.h:31 --#| msgid "Close" - msgid "_Close" - msgstr "_Chiudi" - -@@ -1696,7 +1743,6 @@ - msgstr "Proprietà annotazione…" - - #: ../shell/evince-menus.ui.h:47 --#| msgid "Annotations" - msgid "Remove Annotation" - msgstr "Rimuovi annotazioni" - -@@ -1715,145 +1761,3 @@ - msgstr "" - "Supporta i seguenti formati: PDF, PS, EPS, XPS, DjVu, TIFF, DVI (con " - "SyncTeX), e archivi di fumetti (CBR, CBT, CBZ, CB7)." -- --#~ msgid "Open a recently used document" --#~ msgstr "Apre un documento usato di recente" -- --#~ msgid "" --#~ "Document Viewer\n" --#~ "Using %s (%s)" --#~ msgstr "" --#~ "Visualizzatore documenti.\n" --#~ "Utilizza %s (%s)." -- --#~ msgid "_Bookmarks" --#~ msgstr "Segnali_bri" -- --#~ msgid "_Recent" --#~ msgstr "_Recente" -- --#~| msgid "Open in New _Window" --#~ msgid "_View in new window" --#~ msgstr "_Visualizza in una nuova finestra" -- --#~ msgid "Open a copy of the current document in a new window" --#~ msgstr "Apre una copia del documento attuale in una nuova finestra" -- --#~ msgid "Save a copy of the current document" --#~ msgstr "Salva una copia del documento attuale" -- --#~ msgid "Send current document by mail, instant message…" --#~ msgstr "Invia il documento corrente per email, messaggistica istantanea…" -- --#~ msgid "Show the folder which contains this file in the file manager" --#~ msgstr "Mostra la cartella che contiene questo documento nel gestore file" -- --#~ msgid "Reload the document" --#~ msgstr "Ricarica il documento" -- --#~ msgid "Go to the first page" --#~ msgstr "Va alla prima pagina" -- --#~ msgid "Go to the last page" --#~ msgstr "Va all'ultima pagina" -- --#~ msgid "Go to Pa_ge" --#~ msgstr "Va alla pa_gina" -- --#~ msgid "Go to Page" --#~ msgstr "Va alla pagina" -- --#~ msgid "Add a bookmark for the current page" --#~ msgstr "Aggiunge un segnalibro per la pagina corrente" -- --# [NdT] come in epiphany --#~ msgid "Leave Fullscreen" --#~ msgstr "Finestra normale" -- --#~ msgid "Leave fullscreen mode" --#~ msgstr "Esce dalla modalità a schermo intero" -- --#~ msgid "Start Presentation" --#~ msgstr "Avvia presentazione" -- --#~ msgid "Start a presentation" --#~ msgstr "Avvia una presentazione" -- --#~ msgid "Show or hide the side pane" --#~ msgstr "Mostra o nasconde il riquadro laterale" -- --#~ msgid "Show odd pages on the left in dual mode" --#~ msgstr "In modalità duale mostra a sinistra le pagine dispari" -- --#~ msgid "Expand the window to fill the screen" --#~ msgstr "Espande la finestra fino a riempire lo schermo" -- --#~ msgid "Run document as a presentation" --#~ msgstr "Mostra il documento come una presentazione" -- --#~ msgid "Show page contents with the colors inverted" --#~ msgstr "Mostra i contenuti delle pagine con i colori invertiti" -- --#~ msgid "_Find…" --#~ msgstr "Tr_ova…" -- --#~ msgid "Zoom" --#~ msgstr "Ingrandimento" -- --#~ msgid "History" --#~ msgstr "Cronologia" -- --#~ msgid "Open Folder" --#~ msgstr "Apri cartella" -- --#~ msgid "Send To" --#~ msgstr "Invia a" -- --#~ msgid "Previous" --#~ msgstr "Precedente" -- --#~ msgid "Next" --#~ msgstr "Successiva" -- --#~ msgid "%s — Password Required" --#~ msgstr "%s — Richiesta password" -- --#~ msgid "File is not a valid .desktop file" --#~ msgstr "Il file non è un file .desktop valido" -- --#~ msgid "Unrecognized desktop file Version '%s'" --#~ msgstr "Versione «%s» del file .desktop non riconosciuta" -- --#~ msgid "Starting %s" --#~ msgstr "Avvio di %s" -- --#~ msgid "Application does not accept documents on command line" --#~ msgstr "L'applicazione non accetta documenti sulla riga di comando" -- --#~ msgid "Unrecognized launch option: %d" --#~ msgstr "Opzione di lancio non riconosciuta: %d" -- --#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" --#~ msgstr "" --#~ "Impossibile passare URI di documenti a un elemento desktop con «Type=Link»" -- --#~ msgid "Not a launchable item" --#~ msgstr "Non è un oggetto lanciabile" -- --#~ msgid "Disable connection to session manager" --#~ msgstr "Disabilita la connessione al gestore sessioni" -- --#~ msgid "Specify file containing saved configuration" --#~ msgstr "Specifica il file contenente la configurazione salvata" -- --#~ msgid "Specify session management ID" --#~ msgstr "Specifica l'ID di gestione della sessione" -- --#~ msgid "ID" --#~ msgstr "ID" -- --#~ msgid "Session management options:" --#~ msgstr "Opzioni di gestione sessione:" -- --#~ msgid "Show session management options" --#~ msgstr "Mostra le opzioni di gestione della sessione" -diff -urN evince-3.14.2/po/ja.po evince-3.14.2_localized/po/ja.po ---- evince-3.14.2/po/ja.po 2016-03-11 13:17:48.266000000 +0530 -+++ evince-3.14.2_localized/po/ja.po 2016-03-11 22:20:35.735000000 +0530 -@@ -9,29 +9,28 @@ - # Hideki Yamane , 2011. - # Jiro Matsuzawa , 2011, 2013, 2014. - # Ikuya Awashiro , 2012, 2014. --# -+# kmoriguc , 2016. #zanata -+# pnemade , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: evince master\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-09-18 03:41+0000\n" --"PO-Revision-Date: 2014-09-18 22:47+0900\n" --"Last-Translator: Jiro Matsuzawa \n" --"Language-Team: Japanese \n" --"Language: ja\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"PO-Revision-Date: 2016-03-11 12:54+0000\n" -+"Last-Translator: kmoriguc \n" -+"Language-Team: Japanese \n" -+"Language: ja\n" - "Plural-Forms: nplurals=1; plural=0;\n" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format - msgid "" - "Error launching the command “%s” in order to decompress the comic book: %s" --msgstr "" --"コミックブックを解凍するためコマンド “%s” を起動する際にエラーが発生しまし" --"た: %s" -+msgstr "コミックブックを解凍するためコマンド “%s” を起動する際にエラーが発生しました: %s" - - #: ../backend/comics/comics-document.c:224 - #, c-format -@@ -49,7 +48,8 @@ - msgstr "コミックブックの MIME 型ではありません: %s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "このタイプのコミックブックを解凍するのに適したコマンドが見つかりません" - - #: ../backend/comics/comics-document.c:488 -@@ -92,9 +92,7 @@ - msgid "" - "The document is composed of several files. One or more of these files cannot " - "be accessed." --msgstr "" --"そのドキュメントは複数のファイルを結合したものです。それらのファイルは個別に" --"アクセスすることはできません。" -+msgstr "そのドキュメントは複数のファイルを結合したものです。それらのファイルは個別にアクセスすることはできません。" - - #: ../backend/djvu/djvudocument.evince-backend.in.in.h:1 - #: ../backend/djvu/evince-djvudocument.metainfo.xml.in.in.h:1 -@@ -170,9 +168,8 @@ - "14 fonts. If the substitute fonts selected by fontconfig are not the same as " - "the fonts used to create the PDF, the rendering may not be correct." - msgstr "" --"このドキュメントには、PDF 標準の 14 フォント以外に埋め込みでないフォントが含" --"まれています。fontconfig による代替フォントが PDF 生成に使われたフォントと異" --"なる場合、適切なレンダリングがおこなわれない可能性があります。" -+"このドキュメントには、PDF 標準の 14 フォント以外に埋め込みでないフォントが含まれています。fontconfig による代替フォントが PDF " -+"生成に使われたフォントと異なる場合、適切なレンダリングがおこなわれない可能性があります。" - - #: ../backend/pdf/ev-poppler.cc:1129 - msgid "All fonts are either standard or embedded." -@@ -185,14 +182,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "なし" -@@ -213,7 +210,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr " (標準 14 フォントのひとつ)" -@@ -222,7 +219,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr " (標準 14 フォントのひとつではない)" -@@ -285,6 +282,74 @@ - msgid "Adds support for reading XPS documents" - msgstr "XPS ドキュメントの読み込みサポートを追加する" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "ファイルは無効な .desktop ファイルです" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "desktop ファイルのバージョン '%s' を認識できません" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "%s の起動中" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "コマンドラインからドキュメントを指定できません" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "起動オプションが認識できません: %d" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "ドキュメントの URI を 'Type=Link' という desktop エントリに渡せません" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "起動できないアイテムです" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "セッションマネージャーに接続しない" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "設定が保存されているファイルを指定する" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "FILE" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "セッション ID を指定する" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "セッション管理用のオプション:" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "セッション管理用のオプションを表示する" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -338,8 +403,8 @@ - msgstr "ドキュメントを印刷します" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "ドキュメントビューアー" - -@@ -350,8 +415,7 @@ - #: ../data/evince.desktop.in.in.h:3 - msgid "pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;" - msgstr "" --"pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;ポストスクリプト;ド" --"キュメント;文書;プレゼンテーション;" -+"pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;ポストスクリプト;ドキュメント;文書;プレゼンテーション;" - - #: ../data/evince-previewer.desktop.in.in.h:1 - msgid "Print Preview" -@@ -393,9 +457,7 @@ - msgid "" - "The maximum size that will be used to cache rendered pages, limits maximum " - "zoom level." --msgstr "" --"描画ページのキャッシュに使用される最大サイズです。この値によって最大ズームレ" --"ベルが制限されます。" -+msgstr "描画ページのキャッシュに使用される最大サイズです。この値によって最大ズームレベルが制限されます。" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:9 - msgid "" -@@ -404,9 +466,8 @@ - msgstr "キャレット移動を有効にするかどうか確認ダイアログを表示する" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:10 --#, fuzzy - msgid "Allow links to change the zoom level." --msgstr "ズームレベルを調節します" -+msgstr "リンクによるズームレベル変更を許可する" - - #: ../libdocument/ev-attachment.c:310 ../libdocument/ev-attachment.c:331 - #, c-format -@@ -429,8 +490,8 @@ - msgstr "ファイルタイプ %s (%s) はサポートしていません" - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "不明な MIME 型です" - -@@ -465,8 +526,8 @@ - msgstr "/ %d" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "%s ページ" -@@ -522,19 +583,19 @@ - msgid "Print" - msgstr "印刷" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "ページの拡大縮小:" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "印刷可能な領域に合わせて縮小" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "印刷可能な領域に合わせる" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -547,41 +608,36 @@ - "• \"Fit to Printable Area\": Document pages are enlarged or reduced as " - "required to fit the printable area of the printer page.\n" - msgstr "" --"選択されたプリンターページに合わせてドキュメントページを拡大縮小します。以下" --"から1つ選択してください:\n" -+"選択されたプリンターページに合わせてドキュメントページを拡大縮小します。以下から1つ選択してください:\n" - "\n" - "• \"なし\": ページの拡大縮小は行われません。\n" - "\n" --"• \"印刷可能な領域に合わせて縮小\": 印刷可能な領域よりドキュメントページが大" --"きな場合はプリンターページの印刷可能な領域に合わせて縮小します。\n" -+"• \"印刷可能な領域に合わせて縮小\": 印刷可能な領域よりドキュメントページが大きな場合はプリンターページの印刷可能な領域に合わせて縮小します。\n" - "\n" --"• \"印刷可能な領域に合わせる\": 必要に応じてプリンターページの印刷可能な領域" --"に合わせてドキュメントページの拡大または縮小を行います。\n" -+"• \"印刷可能な領域に合わせる\": 必要に応じてプリンターページの印刷可能な領域に合わせてドキュメントページの拡大または縮小を行います。\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "自動回転して中央揃え" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." - msgstr "" --"各ページのプリンターページ方向を回転して各ドキュメントページの方向に合わせま" --"す。ドキュメントページはプリンターページ内の中央に配置されます。" -+"各ページのプリンターページ方向を回転して各ドキュメントページの方向に合わせます。ドキュメントページはプリンターページ内の中央に配置されます。" - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" - msgstr "ドキュメントのページサイズを利用してページサイズを選択する" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." --msgstr "" --"有効にした場合、各ページはドキュメントページと同じサイズの紙に印刷されます。" -+msgstr "有効にした場合、各ページはドキュメントページと同じサイズの紙に印刷されます。" - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "ページの取り扱い" - -@@ -669,15 +725,11 @@ - msgid "Print settings file" - msgstr "プリンター設定ファイル" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "FILE" -- - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "GNOME ドキュメントプレビューアー" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "ドキュメントの印刷に失敗しました" - -@@ -780,7 +832,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "default:mm" -@@ -905,47 +957,45 @@ - msgid "Close" - msgstr "閉じる" - --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " - "Foundation; either version 2 of the License, or (at your option) any later " - "version.\n" - msgstr "" --"Evince はフリーソフトウェアです; フリーソフトウェア財団が発行する GNU 一般公" --"衆利用許諾契約書の第二版、あるいはそれ以降の版が定める条項の下で本プログラム" --"を再頒布または変更することができます。\n" -+"Evince はフリーソフトウェアです; フリーソフトウェア財団が発行する GNU " -+"一般公衆利用許諾契約書の第二版、あるいはそれ以降の版が定める条項の下で本プログラムを再頒布または変更することができます。\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " - "FOR A PARTICULAR PURPOSE. See the GNU General Public License for more " - "details.\n" - msgstr "" --"Evince は役立つものであることを期待して配布されていますが、完全に無保証です。" --"商用利用または特定の目的における適合性の保証はありません。詳細は GNU 一般公衆" --"利用許諾契約書をご覧ください。\n" -+"Evince は役立つものであることを期待して配布されていますが、完全に無保証です。商用利用または特定の目的における適合性の保証はありません。詳細は " -+"GNU 一般公衆利用許諾契約書をご覧ください。\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " - "Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - msgstr "" --"あなたは、本プログラムと一緒に GNU 一般公衆利用許諾契約書の写しを受け取ってい" --"るはずです。そうでない場合は、Free Software Foundation, Inc., 51 Franklin " --"Street, Fifth Floor, Boston, MA 02110-1301 USA まで手紙を書いてください。\n" -+"あなたは、本プログラムと一緒に GNU 一般公衆利用許諾契約書の写しを受け取っているはずです。そうでない場合は、Free Software " -+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 " -+"USA まで手紙を書いてください。\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "Evince" - --#: ../shell/ev-application.c:1026 -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996-2014 Evince 開発者" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" - msgstr "" - "相花 毅 \n" -@@ -957,11 +1007,11 @@ - "あわしろいくや \n" - "日本GNOMEユーザー会 " - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "前の履歴へ移動します" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "次の履歴へ移動します" - -@@ -980,9 +1030,7 @@ - msgid "" - "This document is locked and can only be read by entering the correct " - "password." --msgstr "" --"このドキュメントはロックされているので、正しいパスワードを入力したときのみ読" --"み込みが可能です。" -+msgstr "このドキュメントはロックされているので、正しいパスワードを入力したときのみ読み込みが可能です。" - - #: ../shell/ev-password-view.c:151 ../shell/ev-password-view.c:269 - msgid "_Unlock Document" -@@ -1124,19 +1172,19 @@ - msgid "Thumbnails" - msgstr "サムネイル" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "ドキュメントを開きます" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "このドキュメントの中にある単語や語句を検索します" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "ファイルオプション" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "表示オプション" - -@@ -1144,134 +1192,130 @@ - msgid "Supported Image Files" - msgstr "サポートする画像ファイル" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "ドキュメントにはページがありません" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "ドキュメントには空のページしかありません" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "ドキュメント“%s”を開けません。" - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "“%s” からドキュメントを読み込んでいます" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "ドキュメントのダウンロード中 (%d%%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "リモートファイルの読み込みに失敗しました。" - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "%s からドキュメントを再度読み込んでいます" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "ドキュメントの再読み込みに失敗しました。" - --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "ドキュメントを開く" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "%s にドキュメントを保存しています" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "%s に添付ファイルを保存しています" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "%s に画像を保存しています" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "ファイルを \"%s\" として保存できませんでした。" - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "ドキュメントのアップロード中 (%d%%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "添付ファイルのアップロード中 (%d%%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "画像のアップロード中 (%d%%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "名前を付けて保存" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "現在のドキュメントを送れません" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "フォルダーを開けません" - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" - msgstr[0] "保留中の印刷ジョブが %d 個あります" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "印刷ジョブ \"%s\"" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." --msgstr "" --"ドキュメントには内容を埋めたフォームフィールドが含まれています。名前を付けて" --"保存しない場合は変更点は失われます。" -+msgstr "ドキュメントには内容を埋めたフォームフィールドが含まれています。名前を付けて保存しない場合は変更点は失われます。" - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." --msgstr "" --"ドキュメントには新規もしくは更新された注釈が含まれています。名前を付けて保存" --"しない場合は変更点は失われます。" -+msgstr "ドキュメントには新規もしくは更新された注釈が含まれています。名前を付けて保存しない場合は変更点は失われます。" - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "ドキュメント \"%s\" を閉じる前に名前を付けて保存しますか?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "保存せずに閉じる(_W)" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "名前を付けて保存(_C)" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "印刷ジョブの \"%s\" が完了するまで閉じずに待機しますか?" -@@ -1279,100 +1323,98 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" --msgstr[0] "" --"現在 %d 個の印刷ジョブがあります。すべてのジョブが完了するまで、閉じずに待機" --"しますか?" -+msgstr[0] "現在 %d 個の印刷ジョブがあります。すべてのジョブが完了するまで、閉じずに待機しますか?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "ウィンドウを閉じた場合、保留中の印刷ジョブは破棄されます。" - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "キャンセルして閉じる(_P)" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "印刷してから閉じる(_A)" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "プレゼンテーションモードで実行中です" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5181 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" - msgstr[0] "このページで %d 個見つかりました" - --#: ../shell/ev-window.c:5186 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "見つかりません" - --#: ../shell/ev-window.c:5192 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "検索残り %3d%%" - --#: ../shell/ev-window.c:5512 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "キャレット移動を有効にしますか?" - --#: ../shell/ev-window.c:5514 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "有効(_E)" - --#: ../shell/ev-window.c:5517 -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " - "with your keyboard. Do you want to enable the caret navigation?" - msgstr "" --"F7 を押すとキャレット移動の有効無効を切り替えます。この機能を有効にすると、移" --"動可能なカーソルがテキストページに表示され、キーボード操作で移動したり、テキ" --"ストを選択したりできるようになります。キャレット移動を有効にしますか?" -+"F7 " -+"を押すとキャレット移動の有効無効を切り替えます。この機能を有効にすると、移動可能なカーソルがテキストページに表示され、キーボード操作で移動したり、テキストを選択したりできるようになります。キャレット移動を有効にしますか?" - --#: ../shell/ev-window.c:5522 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "このメッセージを今後表示しない" - --#: ../shell/ev-window.c:6038 ../shell/ev-window.c:6054 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "外部のアプリケーションを起動できませんでした。" - --#: ../shell/ev-window.c:6111 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "外部へのリンクを開けません" - --#: ../shell/ev-window.c:6314 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "画像を保存するのに適切な形式が見つかりませんでした" - --#: ../shell/ev-window.c:6346 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "画像を保存できませんでした。" - --#: ../shell/ev-window.c:6381 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "画像の保存" - --#: ../shell/ev-window.c:6532 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "添付ファイルを開けません" - --#: ../shell/ev-window.c:6588 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "添付ファイルを保存できませんでした。" - --#: ../shell/ev-window.c:6636 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "添付ファイルの保存" - -@@ -1440,55 +1482,55 @@ - msgid "6400%" - msgstr "6400%" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "GNOME ドキュメントビューアー" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "表示するドキュメントのページラベル" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "PAGE" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "表示するドキュメントのページ番号" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "NUMBER" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "表示する Named destination" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "DEST" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "フルスクリーンモードで起動する" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "プレゼンテーションモードで起動する" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "プレビューアーで起動する" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "ドキュメントの中から単語や語句を検索する" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "STRING" - --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[ファイル…]" - -@@ -1662,266 +1704,16 @@ - - #: ../evince.appdata.xml.in.h:2 - msgid "Document viewer for popular document formats" --msgstr "" -+msgstr "一般的なドキュメント形式のドキュメントビューアー" - - #: ../evince.appdata.xml.in.h:3 - msgid "This is a document viewer for the GNOME desktop." --msgstr "" -+msgstr "これは GNOME デスクトップ向けのドキュメントビューアーです。" - - #: ../evince.appdata.xml.in.h:4 - msgid "" - "It supports the following document formats: PDF, PS, EPS, XPS, DjVu, TIFF, " - "DVI (with SyncTeX), and Comic Books archives (CBR, CBT, CBZ, CB7)." - msgstr "" -- --#~ msgid "Toggle between view of recent items and open document" --#~ msgstr "" --#~ "最近使用したドキュメント一覧画面と使用中のドキュメント画面を切り替えます" -- --#~ msgid "%s — Password Required" --#~ msgstr "%s — パスワードが必要です" -- --#~ msgid "_Recent" --#~ msgstr "最近開いたファイル(_R)" -- --#~ msgid "Open a recently used document" --#~ msgstr "最近開いたドキュメントを再び開きます" -- --#~ msgid "" --#~ "Document Viewer\n" --#~ "Using %s (%s)" --#~ msgstr "" --#~ "ドキュメントビューアー\n" --#~ "%s (%s) を利用" -- --#~ msgid "_Bookmarks" --#~ msgstr "ブックマーク(_B)" -- --#~ msgid "_View in new window" --#~ msgstr "新しいウィンドウで表示(_V)" -- --#~ msgid "Open a copy of the current document in a new window" --#~ msgstr "このドキュメントのコピーを新しいウィンドウで開きます" -- --#~ msgid "Save a copy of the current document" --#~ msgstr "名前を付けてこのドキュメントを保存します" -- --#~ msgid "Send current document by mail, instant message…" --#~ msgstr "現在のドキュメントをメールやインスタントメッセージで送ります" -- --#~ msgid "Show the folder which contains this file in the file manager" --#~ msgstr "このファイルが存在するフォルダーをファイルマネージャーで表示します" -- --#~ msgid "Reload the document" --#~ msgstr "ドキュメントを再読み込みします" -- --#~ msgid "Go to the first page" --#~ msgstr "先頭のページに移動します" -- --#~ msgid "Go to the last page" --#~ msgstr "最後のページに移動します" -- --#~ msgid "Go to Pa_ge" --#~ msgstr "指定ページ(_G)" -- --#~ msgid "Go to Page" --#~ msgstr "指定したページに移動します" -- --#~ msgid "Add a bookmark for the current page" --#~ msgstr "現在のページをブックマークに追加します" -- --#~ msgid "Leave Fullscreen" --#~ msgstr "フルスクリーンの解除" -- --#~ msgid "Leave fullscreen mode" --#~ msgstr "フルスクリーンモードを解除します" -- --#~ msgid "Start Presentation" --#~ msgstr "プレゼンテーション表示" -- --#~ msgid "Start a presentation" --#~ msgstr "プレゼンテーション表示を開始します" -- --#~ msgid "Show or hide the side pane" --#~ msgstr "サイドペインの表示を ON/OFF します" -- --#~ msgid "Show odd pages on the left in dual mode" --#~ msgstr "見開きモードで奇数ページを左に表示します" -- --#~ msgid "Expand the window to fill the screen" --#~ msgstr "画面全体を覆うようにウィンドウを拡大します" -- --#~ msgid "Run document as a presentation" --#~ msgstr "ドキュメントをプレゼンテーションとして表示します" -- --#~ msgid "Show page contents with the colors inverted" --#~ msgstr "ページの内容を色を反転して表示します" -- --#~ msgid "_Find…" --#~ msgstr "検索(_F)…" -- --#~ msgid "Zoom" --#~ msgstr "ズーム" -- --#~ msgid "History" --#~ msgstr "履歴" -- --#~ msgid "Open Folder" --#~ msgstr "フォルダーを開く" -- --#~ msgid "Send To" --#~ msgstr "送る" -- --#~ msgid "Previous" --#~ msgstr "前へ" -- --#~ msgid "Next" --#~ msgstr "次へ" -- --#~ msgid "File is not a valid .desktop file" --#~ msgstr "ファイルは無効な .desktop ファイルです" -- --#~ msgid "Unrecognized desktop file Version '%s'" --#~ msgstr "desktop ファイルのバージョン '%s' を認識できません" -- --#~ msgid "Starting %s" --#~ msgstr "%s の起動中" -- --#~ msgid "Application does not accept documents on command line" --#~ msgstr "コマンドラインからドキュメントを指定できません" -- --#~ msgid "Unrecognized launch option: %d" --#~ msgstr "起動オプションが認識できません: %d" -- --#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" --#~ msgstr "" --#~ "ドキュメントの URI を 'Type=Link' という desktop エントリに渡せません" -- --#~ msgid "Not a launchable item" --#~ msgstr "起動できないアイテムです" -- --#~ msgid "Disable connection to session manager" --#~ msgstr "セッションマネージャーに接続しない" -- --#~ msgid "Specify file containing saved configuration" --#~ msgstr "設定が保存されているファイルを指定する" -- --#~ msgid "Specify session management ID" --#~ msgstr "セッション ID を指定する" -- --#~ msgid "ID" --#~ msgstr "ID" -- --#~ msgid "Session management options:" --#~ msgstr "セッション管理用のオプション:" -- --#~ msgid "Show session management options" --#~ msgstr "セッション管理用のオプションを表示する" -- --#~ msgid "By extension" --#~ msgstr "拡張子順" -- --#~ msgid "Send _To..." --#~ msgstr "送る(_T)..." -- --#~ msgid "Fit Page" --#~ msgstr "ページに合わせる" -- --#~ msgid "Fit Width" --#~ msgstr "幅に合わせる" -- --#~ msgid "Show “_%s”" --#~ msgstr "\"%s\" の表示" -- --#~ msgid "_Move on Toolbar" --#~ msgstr "ツールバー上で移動(_M)" -- --#~ msgid "Move the selected item on the toolbar" --#~ msgstr "選択したアイテムをツールバー上で移動します" -- --#~ msgid "_Remove from Toolbar" --#~ msgstr "ツールバーから削除(_R)" -- --#~ msgid "Remove the selected item from the toolbar" --#~ msgstr "選択したアイテムをツールバーから削除します" -- --#~ msgid "_Delete Toolbar" --#~ msgstr "ツールバーの削除(_D)" -- --#~ msgid "Remove the selected toolbar" --#~ msgstr "選択したツールバーを削除します" -- --#~ msgid "Separator" --#~ msgstr "セパレーター" -- --#~ msgid "Best Fit" --#~ msgstr "全体に合わせる" -- --#~ msgid "Fit Page Width" --#~ msgstr "幅に合わせる" -- --#~ msgid "_Best Fit" --#~ msgstr "全体に合わせる(_B)" -- --#~ msgid "Fit Page _Width" --#~ msgstr "幅に合わせる(_W)" -- --#~ msgid "Find:" --#~ msgstr "検索:" -- --#~ msgid "Find Pre_vious" --#~ msgstr "前を検索(_V)" -- --#~ msgid "Find Ne_xt" --#~ msgstr "次を検索(_X)" -- --#~ msgid "Page %s — %s" --#~ msgstr "%s - %s ページ" -- --#~ msgid "There was an error displaying help" --#~ msgstr "ヘルプを表示する際にエラーが発生しました" -- --#~ msgid "Toolbar Editor" --#~ msgstr "ツールバーの編集" -- --#~ msgid "_File" --#~ msgstr "ファイル(_F)" -- --#~ msgid "_Edit" --#~ msgstr "編集(_E)" -- --#~ msgid "_View" --#~ msgstr "表示(_V)" -- --#~ msgid "_Go" --#~ msgstr "移動(_G)" -- --#~ msgid "T_oolbar" --#~ msgstr "ツールバー(_O)" -- --#~ msgid "_Contents" --#~ msgstr "目次(_C)" -- --#~ msgid "_Toolbar" --#~ msgstr "ツールバー(_T)" -- --#~ msgid "Show or hide the toolbar" --#~ msgstr "ツールバーの表示を ON/OFF します" -- --#~ msgid "_Dual (Even pages left)" --#~ msgstr "見開きページ (偶数ページを左に)(_D)" -- --#~ msgid "Show two pages at once with even pages on the left" --#~ msgstr "偶数ページを左にして一度に2ページ表示します" -- --#~ msgid "Navigation" --#~ msgstr "ナビゲーション" -- --#~ msgid "Back" --#~ msgstr "戻る" -- --#~ msgid "Move across visited pages" --#~ msgstr "表示したページへ移動します" -- --#~ msgid "Toggle case sensitive search" --#~ msgstr "大小文字を区別して検索します" -+"これは以下のドキュメント形式をサポートします。PDF、PS、EPS、XPS、DjVu、TIFF、DVI (SyncTeX)、および Comic " -+"Books アーカイブ (CBR、CBT、CBZ、CB7)。" -diff -urN evince-3.14.2/po/ko.po evince-3.14.2_localized/po/ko.po ---- evince-3.14.2/po/ko.po 2015-03-08 13:52:48.000000000 +0530 -+++ evince-3.14.2_localized/po/ko.po 2016-03-11 22:20:35.762000000 +0530 -@@ -2,26 +2,26 @@ - # This file is distributed under the same license as the evince package. - # Young-Ho Cha , 2005 - # Changwoo Ryu , 2006-2014. --# -+# - # 새로 번역하시는 분은 아래 translator-credits에 추가해 주세요. --# -+# - # 주의: - # - Evince는 "에빈스"로 음역 --# -+# pnemade , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: evince\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-09-05 15:40+0000\n" --"PO-Revision-Date: 2014-10-01 13:00+0900\n" --"Last-Translator: Changwoo Ryu \n" --"Language-Team: GNOME Korea \n" --"Language: Korean\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"PO-Revision-Date: 2014-10-01 04:00+0000\n" -+"Last-Translator: Changwoo Ryu \n" -+"Language-Team: GNOME Korea \n" -+"Language: ko\n" - "Plural-Forms: nplurals=1; plural=0;\n" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format -@@ -45,7 +45,8 @@ - msgstr "만화책 MIME 형식이 아닙니다: %s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "이 종류의 만화책의 압축을 풀 명령을 찾지 못했습니다." - - #: ../backend/comics/comics-document.c:488 -@@ -88,9 +89,7 @@ - msgid "" - "The document is composed of several files. One or more of these files cannot " - "be accessed." --msgstr "" --"문서가 여러 개 파일로 이루어져 있고, 그 파일 중에 접근할 수 없는 파일이 있습" --"니다." -+msgstr "문서가 여러 개 파일로 이루어져 있고, 그 파일 중에 접근할 수 없는 파일이 있습니다." - - #: ../backend/djvu/djvudocument.evince-backend.in.in.h:1 - #: ../backend/djvu/evince-djvudocument.metainfo.xml.in.in.h:1 -@@ -166,8 +165,8 @@ - "14 fonts. If the substitute fonts selected by fontconfig are not the same as " - "the fonts used to create the PDF, the rendering may not be correct." - msgstr "" --"PDF 표준 글꼴 14개가 아닌 외부 글꼴이 들어 있습니다. fontconfig에서 선택한 대" --"체 글꼴이 PDF를 만들 때 사용한 글꼴과 다르면 렌더링이 틀릴 수도 있습니다." -+"PDF 표준 글꼴 14개가 아닌 외부 글꼴이 들어 있습니다. fontconfig에서 선택한 대체 글꼴이 PDF를 만들 때 사용한 글꼴과 " -+"다르면 렌더링이 틀릴 수도 있습니다." - - #: ../backend/pdf/ev-poppler.cc:1129 - msgid "All fonts are either standard or embedded." -@@ -180,14 +179,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "없음" -@@ -208,7 +207,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr "(표준 글꼴 14개 중 하나)" -@@ -217,7 +216,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr "(표준 글꼴 14개 아님)" -@@ -280,6 +279,74 @@ - msgid "Adds support for reading XPS documents" - msgstr "XPS 문서를 읽는 기능을 추가합니다" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "<파일>" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -334,8 +401,8 @@ - msgstr "문서 인쇄" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "문서 보기" - -@@ -346,8 +413,7 @@ - #: ../data/evince.desktop.in.in.h:3 - msgid "pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;" - msgstr "" --"pdf;ps;postscript;포스트스크립트;dvi;xps;djvu;tiff;document;문서;" --"presentation;프리젠테이션;" -+"pdf;ps;postscript;포스트스크립트;dvi;xps;djvu;tiff;document;문서;presentation;프리젠테이션;" - - #: ../data/evince-previewer.desktop.in.in.h:1 - msgid "Print Preview" -@@ -389,9 +455,7 @@ - msgid "" - "The maximum size that will be used to cache rendered pages, limits maximum " - "zoom level." --msgstr "" --"렌더링한 페이지를 저장할 캐시의 최대 크기. 이 값에 따라 최대 확대/축소 단계" --"를 제한됩니다." -+msgstr "렌더링한 페이지를 저장할 캐시의 최대 크기. 이 값에 따라 최대 확대/축소 단계를 제한됩니다." - - #: ../data/org.gnome.Evince.gschema.xml.in.h:9 - msgid "" -@@ -424,8 +488,8 @@ - msgstr "%s(%s) 파일 형식은 지원하지 않습니다" - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "알 수 없는 MIME 형식" - -@@ -462,8 +526,8 @@ - msgstr "전체 %d" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "페이지 %s" -@@ -519,19 +583,19 @@ - msgid "Print" - msgstr "인쇄" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "페이지 크기 조절:" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "인쇄 가능 영역으로 줄이기" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "인쇄 가능 영역에 맞추기" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -544,40 +608,35 @@ - "• \"Fit to Printable Area\": Document pages are enlarged or reduced as " - "required to fit the printable area of the printer page.\n" - msgstr "" --"문서 페이지를 프린터 페이지에 맞춰 크기를 조정합니다. 다음 중 하나를 선택하십" --"시오:\n" -+"문서 페이지를 프린터 페이지에 맞춰 크기를 조정합니다. 다음 중 하나를 선택하십시오:\n" - "\n" - "• \"없음\": 페이지 크기 조정을 하지 않습니다.\n" - "\n" --"• \"인쇄 가능 영역으로 줄이기\": 인쇄 가능 영역보다 큰 페이지를 축소해서 인" --"쇄 가능 영역에 맞춥니다.\n" -+"• \"인쇄 가능 영역으로 줄이기\": 인쇄 가능 영역보다 큰 페이지를 축소해서 인쇄 가능 영역에 맞춥니다.\n" - "\n" --"• \"인쇄 가능 영역에 맞추기\": 페이지를 필요에 따라 확대하거나 축소해서 인쇄 " --"가능 영역에 맞춥니다.\n" -+"• \"인쇄 가능 영역에 맞추기\": 페이지를 필요에 따라 확대하거나 축소해서 인쇄 가능 영역에 맞춥니다.\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "자동 회전 및 가운데 정렬" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." --msgstr "" --"문서 페이지에 맞게 프린터 페이지 방향을 회전합니다. 문서 페이지는 프린터 페이" --"지 가운데에 맞춥니다." -+msgstr "문서 페이지에 맞게 프린터 페이지 방향을 회전합니다. 문서 페이지는 프린터 페이지 가운데에 맞춥니다." - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" - msgstr "문서 페이지 크기를 사용해 페이지 크기 선택" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." - msgstr "페이지를 문서 페이지와 같은 크기의 종이에 인쇄합니다." - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "페이지 처리" - -@@ -663,15 +722,11 @@ - msgid "Print settings file" - msgstr "설정 파일을 인쇄합니다" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "<파일>" -- - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "그놈 문서 미리 보기" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "문서를 인쇄하는데 실패했습니다" - -@@ -774,7 +829,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "default:mm" -@@ -899,7 +954,7 @@ - msgid "Close" - msgstr "닫기" - --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " -@@ -911,7 +966,7 @@ - "Foundation; either version 2 of the License, or (at your option) any later " - "version.\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " -@@ -923,7 +978,7 @@ - "FOR A PARTICULAR PURPOSE. See the GNU General Public License for more " - "details.\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " -@@ -933,25 +988,24 @@ - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " - "Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "에빈스" - --#: ../shell/ev-application.c:1026 -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996–2014 The Evince authors" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" --msgstr "" --"류창우\n" -+msgstr "류창우\n" - "차영호" - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "이전 기록 항목으로 이동합니다" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "다음 기록 항목으로 이동합니다" - -@@ -1112,19 +1166,19 @@ - msgid "Thumbnails" - msgstr "미리 보기" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "문서를 엽니다" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "문서에서 단어나 문장을 찾습니다" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "파일 옵션" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "보기 옵션" - -@@ -1132,134 +1186,130 @@ - msgid "Supported Image Files" - msgstr "지원하는 그림 파일" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "문서에 페이지가 없습니다" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "문서에 빈 페이지만 들어 있습니다" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "“%s” 문서를 열 수 없습니다." - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "“%s”에서 문서를 읽어들이는 중입니다" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "문서를 다운로드하는 중입니다(%d%%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "원격 파일을 읽어들이는데 실패했습니다." - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "문서를 %s에서 다시 읽는 중입니다" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "문서를 다시 읽는데 실패했습니다." - --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "문서 열기" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "문서를 %s에 저장하는 중입니다" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "첨부를 %s에 저장하는 중입니다" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "그림을 %s에 저장하는 중입니다" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "파일을 “%s”(으)로 저장할 수 없습니다." - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "문서를 업로드하는 중입니다(%d%%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "첨부를 업로드하는 중입니다(%d%%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "그림을 업로드하는 중입니다(%d%%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "다른 이름으로 저장" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "현재 문서를 보낼 수 없습니다" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "들어 있는 폴더를 열 수 없습니다" - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" - msgstr[0] "큐에 밀린 인쇄 작업이 %d개 있습니다" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "인쇄 작업 “%s”" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." --msgstr "" --"문서에 채워 넣은 필드가 있습니다. 복사물을 저장하지 않으면 바뀐 사항을 잃어버" --"릴 수 있습니다." -+msgstr "문서에 채워 넣은 필드가 있습니다. 복사물을 저장하지 않으면 바뀐 사항을 잃어버릴 수 있습니다." - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." --msgstr "" --"문서에 새로 추가하거나 수정한 추가 정보가 있습니다. 복사물을 저장하지 않으면 " --"바뀐 사항을 잃어버릴 수 있습니다." -+msgstr "문서에 새로 추가하거나 수정한 추가 정보가 있습니다. 복사물을 저장하지 않으면 바뀐 사항을 잃어버릴 수 있습니다." - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "닫기 전에 “%s” 문서의 복사본을 저장하시겠습니까?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "저장하지 않고 닫기(_W)" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "복사물 저장(_C)" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "닫기 전에 “%s” 인쇄 작업을 마칠 때까지 기다리시겠습니까?" -@@ -1267,100 +1317,98 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" --msgstr[0] "" --"진행 중인 인쇄 작업이 %d개 있습니다. 닫기 전에 인쇄를 마칠 때까지 기다리시겠" --"습니까?" -+msgstr[0] "진행 중인 인쇄 작업이 %d개 있습니다. 닫기 전에 인쇄를 마칠 때까지 기다리시겠습니까?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "창을 닫으면, 밀린 인쇄 작업은 인쇄하지 않습니다." - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "인쇄 취소 및 닫기(_P)" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "인쇄 후 닫기(_A)" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "프리젠테이션 모드로 실행 중입니다" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5181 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" - msgstr[0] "이 페이지에서 %d개 찾음" - --#: ../shell/ev-window.c:5186 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "없음" - --#: ../shell/ev-window.c:5192 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "찾는데 %3d%% 남음" - --#: ../shell/ev-window.c:5512 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "캐럿 이동 모드를 사용합니까?" - --#: ../shell/ev-window.c:5514 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "사용(_E)" - --#: ../shell/ev-window.c:5517 -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " - "with your keyboard. Do you want to enable the caret navigation?" - msgstr "" --"F7을 누르면 캐럿 이동 모드를 켜거나 끕니다. 이 기능은 텍스트 페이지에 이동하" --"는 커서를 놓아서 키보드를 이용해 텍스트 사이를 이동하거나 텍스트를 선택할 수 " --"있습니다. 캐럿 이동 모드를 사용하시겠습니까?" -+"F7을 누르면 캐럿 이동 모드를 켜거나 끕니다. 이 기능은 텍스트 페이지에 이동하는 커서를 놓아서 키보드를 이용해 텍스트 사이를 " -+"이동하거나 텍스트를 선택할 수 있습니다. 캐럿 이동 모드를 사용하시겠습니까?" - --#: ../shell/ev-window.c:5522 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "이 메시지 다시 보지 않기" - --#: ../shell/ev-window.c:6038 ../shell/ev-window.c:6054 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "외부 프로그램을 실행할 수 없습니다." - --#: ../shell/ev-window.c:6111 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "외부 링크를 열 수 없습니다" - --#: ../shell/ev-window.c:6314 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "그림을 저장할 적당한 형식을 찾을 수 없습니다" - --#: ../shell/ev-window.c:6346 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "그림을 저장할 수 없습니다." - --#: ../shell/ev-window.c:6381 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "그림 저장" - --#: ../shell/ev-window.c:6532 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "첨부를 열 수 없습니다" - --#: ../shell/ev-window.c:6588 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "첨부를 저장할 수 없습니다." - --#: ../shell/ev-window.c:6636 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "첨부 저장" - -@@ -1428,55 +1476,55 @@ - msgid "6400%" - msgstr "6400%" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "그놈 문서 보기" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "표시할 문서의 페이지 레이블." - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "<페이지>" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "표시할 문서의 페이지 번호." - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "<번호>" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "표시할 대상 위치의 이름." - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "<대상>" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "에빈스를 전체 화면 모드로 실행합니다" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "에빈스를 프리젠테이션 모드로 실행합니다" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "에빈스를 미리 보기로 실행합니다" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "문서에서 찾을 단어나 문장" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "<문자열>" - --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[파일...]" - -@@ -1660,4 +1708,6 @@ - msgid "" - "It supports the following document formats: PDF, PS, EPS, XPS, DjVu, TIFF, " - "DVI (with SyncTeX), and Comic Books archives (CBR, CBT, CBZ, CB7)." --msgstr "다음 문서 형식을 지원합니다: PDF, PS, EPS, XPS, DjVu, TIFF, DVI(SyncTeX 사용), 만화책 묶음(CBR, CBT, CBZ, CB7)." -+msgstr "" -+"다음 문서 형식을 지원합니다: PDF, PS, EPS, XPS, DjVu, TIFF, DVI(SyncTeX 사용), 만화책 묶음(CBR, " -+"CBT, CBZ, CB7)." -diff -urN evince-3.14.2/po/pt_BR.po evince-3.14.2_localized/po/pt_BR.po ---- evince-3.14.2/po/pt_BR.po 2015-03-08 13:52:48.000000000 +0530 -+++ evince-3.14.2_localized/po/pt_BR.po 2016-03-11 22:20:35.771000000 +0530 -@@ -16,29 +16,30 @@ - # Antonio Fernandes C. Neto , 2012. - # Rafael Ferreira , 2013, 2014. - # Enrico Nicoletto , 2014. --# -+# msuppesd , 2016. #zanata -+# pnemade , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: evince\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-09-04 15:41+0000\n" --"PO-Revision-Date: 2014-09-04 13:58-0300\n" --"Last-Translator: Enrico Nicoletto \n" --"Language-Team: Brazilian Portuguese \n" --"Language: pt_BR\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"PO-Revision-Date: 2016-03-03 04:47+0000\n" -+"Last-Translator: msuppesd \n" -+"Language-Team: Brazilian Portuguese \n" -+"Language: pt-BR\n" - "Plural-Forms: nplurals=2; plural=(n > 1);\n" --"X-Generator: Poedit 1.6.5\n" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format - msgid "" - "Error launching the command “%s” in order to decompress the comic book: %s" - msgstr "" --"Erro ao lançar o comando \"%s\" para descomprimir a revista em quadrinhos: %s" -+"Erro ao lançar o comando \"%s\" para descomprimir a revista em quadrinhos: " -+"%s" - - #: ../backend/comics/comics-document.c:224 - #, c-format -@@ -56,7 +57,8 @@ - msgstr "Não é um tipo MIME de revistas em quadrinhos: %s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "" - "Não foi possível localizar um comando apropriado para descomprimir este tipo " - "de revista em quadrinhos" -@@ -183,6 +185,7 @@ - "Este documento contém fontes não embutidas que não são das 14 fontes padrão " - "do PDF. Se as fontes substitutas selecionadas pelo fontconfig não forem as " - "mesmas que as usadas para criar o PDF, a renderização pode não ficar correta." -+"" - - #: ../backend/pdf/ev-poppler.cc:1129 - msgid "All fonts are either standard or embedded." -@@ -195,14 +198,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "Nenhum" -@@ -223,7 +226,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr " (Uma das 14 fontes padrão)" -@@ -232,7 +235,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr " (Não é uma das 14 fontes padrão)" -@@ -295,6 +298,76 @@ - msgid "Adds support for reading XPS documents" - msgstr "Adiciona suporte para leitura de documentos XPS" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "Este não é um arquivo .desktop válido" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "Versão '%s' do arquivo desktop não reconhecida" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "Iniciando %s" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "O aplicativo não aceita documentos na linha de comando" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "Opção de inicialização não reconhecida: %d" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "" -+"Não é possível passar os URIs do documento para uma entrada de desktop " -+"\"Type=Link\"" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "Não é um item inicializável" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "Desabilitar a conexão com o gerenciador de sessão" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "Especificar o arquivo contendo a configuração salva" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "ARQUIVO" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "Especificar a ID de gerenciamento de sessão" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "Opções de gerenciamento de sessão:" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "Mostrar as opções de gerenciamento de sessão" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -348,8 +421,8 @@ - msgstr "Imprimir documento" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "Visualizador de documentos" - -@@ -377,6 +450,7 @@ - msgid "Override document restrictions, like restriction to copy or to print." - msgstr "" - "Ignora restrições do documento original, como restrição a cópia ou impressão." -+"" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:3 - msgid "Automatically reload the document" -@@ -439,8 +513,8 @@ - msgstr "Não há suporte ao tipo de arquivo %s (%s)" - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "Tipo MIME desconhecido" - -@@ -475,8 +549,8 @@ - msgstr "de %d" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "Página %s" -@@ -532,19 +606,19 @@ - msgid "Print" - msgstr "Imprimir" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "Escala:" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "Encolher para a área de impressão" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "Ajustar para a área de impressão" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -570,11 +644,11 @@ - "ou reduzidas conforme necessário para ajustar a área de impressão da página " - "da impressora.\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "Rotacionar e centralizar automaticamente" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." -@@ -583,11 +657,11 @@ - "de cada página do documento. As páginas do documento serão centralizadas " - "dentro da página da impressora." - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" - msgstr "Selecionar tamanho da página usando o tamanho da página do documento" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." -@@ -595,7 +669,7 @@ - "Quando habilitado, cada página será impressa com o mesmo tamanho de papel da " - "página do documento." - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "Manuseio de página" - -@@ -679,15 +753,11 @@ - msgid "Print settings file" - msgstr "Imprimir arquivo de configurações" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "ARQUIVO" -- - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "Visualizador de documentos do GNOME" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "Falha ao imprimir o documento" - -@@ -790,7 +860,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "default:mm" -@@ -915,7 +985,7 @@ - msgid "Close" - msgstr "Fechar" - --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " -@@ -927,7 +997,7 @@ - "Software Livre; seja a versão 2 da Licença ou (se preferir) qualquer versão " - "mais recente.\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " -@@ -939,7 +1009,7 @@ - "ADAPTAÇÃO A UM PROPÓSITO EM PARTICULAR. Veja a Licença Pública Geral GNU " - "(GPL) para mais detalhes.\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " -@@ -949,15 +1019,15 @@ - "com o Evince; se não, escreva para a Free Software Foundation, Inc. 51 " - "Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "Evince" - --#: ../shell/ev-application.c:1026 -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996–2014 Os autores do Evince" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" - msgstr "" - "Raphael Higino \n" -@@ -976,11 +1046,11 @@ - "Rafael Ferreira \n" - "Enrico Nicoletto " - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "Ir para o item de histórico anterior" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "Ir para o próximo item de histórico" - -@@ -1142,19 +1212,19 @@ - msgid "Thumbnails" - msgstr "Miniaturas" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "Abrir um documento existente" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "Localizar uma palavra ou frase no documento" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "Opções do arquivo" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "Opções de visualização" - -@@ -1162,106 +1232,106 @@ - msgid "Supported Image Files" - msgstr "Arquivos de imagens com suporte" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "O documento não contém páginas" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "O documento contém apenas páginas vazias" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "Não foi possível abrir o documento \"%s\"." - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "Carregando o documento a partir de \"%s\"" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "Baixando o documento (%d%%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "Falha ao carregar o arquivo remoto." - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "Recarregando o documento a partir de %s" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "Falha ao recarregar o documento." - --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "Abrir documento" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "Salvando o documento em %s" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "Salvando o anexo em %s" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "Salvando a imagem em %s" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "Não foi possível salvar o arquivo como \"%s\"." - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "Enviando o documento (%d%%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "Enviando o anexo (%d%%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "Enviando a imagem (%d%%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "Salvar uma cópia" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "Não foi possível enviar o documento atual" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "Não foi possível abrir a pasta que contém o arquivo" - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" - msgstr[0] "%d trabalho pendente na fila" - msgstr[1] "%d trabalhos pendentes na fila" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "Imprimindo o trabalho \"%s\"" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." -@@ -1269,7 +1339,7 @@ - "O documento contém campos de formulário que foram preenchidos. Se você não " - "salvar uma cópia, as alterações serão permanentemente perdidas." - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." -@@ -1277,20 +1347,20 @@ - "O documento contém anotações novas ou modificadas. Se você não salvar uma " - "cópia, as alterações serão permanentemente perdidas." - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "Salvar uma cópia do documento \"%s\" antes de fechar?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "F_echar sem salvar" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "Salvar uma _cópia" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "Aguardar o término da impressão do trabalho \"%s\" antes de fechar?" -@@ -1298,9 +1368,10 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" - msgstr[0] "" -@@ -1310,52 +1381,52 @@ - "Existem %d trabalhos de impressão ativos. Aguardar o término das impressões " - "antes de fechar?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "" - "Se você fechar a janela, os trabalhos de impressão pendentes não serão " - "impressos." - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "Cancelar im_pressão e fechar" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "Fechar depois de im_primir" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "Executando em modo de apresentação" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5181 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" - msgstr[0] "%d resultado nesta página" - msgstr[1] "%d resultados nesta página" - --#: ../shell/ev-window.c:5186 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "Não encontrado" - --#: ../shell/ev-window.c:5192 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "%3d%% restante para pesquisar" - --#: ../shell/ev-window.c:5512 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "Habilitar navegação do cursor?" - --#: ../shell/ev-window.c:5514 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "_Habilitar" - --#: ../shell/ev-window.c:5517 -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " -@@ -1366,39 +1437,39 @@ - "navegar por um texto e selecioná-lo usando o seu teclado. Você deseja " - "habilitar a navegação com cursor?" - --#: ../shell/ev-window.c:5522 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "Não mostrar esta mensagem novamente" - --#: ../shell/ev-window.c:6038 ../shell/ev-window.c:6054 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "Não foi possível executar o aplicativo externo." - --#: ../shell/ev-window.c:6111 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "Não foi possível abrir o link externo" - --#: ../shell/ev-window.c:6314 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "Não foi possível encontrar formato apropriado para salvar imagem" - --#: ../shell/ev-window.c:6346 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "Não foi possível salvar a imagem." - --#: ../shell/ev-window.c:6381 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "Salvar imagem" - --#: ../shell/ev-window.c:6532 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "Não foi possível abrir o anexo" - --#: ../shell/ev-window.c:6588 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "Não foi possível salvar o anexo." - --#: ../shell/ev-window.c:6636 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "Salvar anexo" - -@@ -1466,55 +1537,55 @@ - msgid "6400%" - msgstr "6400%" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "Visualizador de documentos do GNOME" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "A etiqueta de página do documento a ser exibida." - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "PÁGINA" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "O número da página do documento a ser exibida." - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "NÚMERO" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "Destino nomeado a ser exibido." - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "DEST" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "Executa o Evince em modo de tela cheia" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "Executa o Evince em modo de apresentação" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "Executa o Evince como visualizador" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "A palavra ou frase a ser localizada no documento" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "EXPRESSÃO" - --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[ARQUIVO…]" - -@@ -1702,9 +1773,3 @@ - "Há suporte aos seguintes formatos de documentos: PDF, PS, EPS, XPS, DjVu, " - "TIFF, DVI (com SyncTeX) e arquivos de revistas em quadrinhos (CBR, CBT, CBZ, " - "CB7)." -- --#~ msgid "Toggle between view of recent items and open document" --#~ msgstr "Alternar entre visualização de itens recentes e documento aberto" -- --#~ msgid "%s — Password Required" --#~ msgstr "%s — Senha requerida" -diff -urN evince-3.14.2/po/ru.po evince-3.14.2_localized/po/ru.po ---- evince-3.14.2/po/ru.po 2015-03-08 13:52:48.000000000 +0530 -+++ evince-3.14.2_localized/po/ru.po 2016-03-11 22:20:35.789000000 +0530 -@@ -2,27 +2,27 @@ - # Russian translation of evince. - # Copyright (C) 2005-2009, 2010 The Free Software Foundation, Inc. - # This file is distributed under the same license as the evince package. --# -+# - # Nickolay V. Shmyrev , 2005. - # Yuri Kozlov , 2010, 2012. - # Yuri Myasoedov , 2012, 2013, 2014. --# -+# pnemade , 2016. #zanata -+# ypoyarko , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: evince trunk\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-09-04 15:41+0000\n" --"PO-Revision-Date: 2014-09-04 22:02+0400\n" --"Last-Translator: Yuri Myasoedov \n" --"Language-Team: русский \n" --"Language: ru\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\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" --"X-Generator: Gtranslator 2.91.6\n" -+"PO-Revision-Date: 2016-03-07 12:40+0000\n" -+"Last-Translator: ypoyarko \n" -+"Language-Team: русский \n" -+"Language: ru\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" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format -@@ -46,7 +46,8 @@ - msgstr "Тип MIME документа не относится к комиксам: %s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "" - "Не удалось найти подходящей команды для разжатия данного типа книги комиксов" - -@@ -80,7 +81,8 @@ - - #: ../backend/comics/evince-comicsdocument.metainfo.xml.in.in.h:2 - msgid "Adds support for reading comic books" --msgstr "Добавляет поддержку для чтения документов в формате Comic Book Archive" -+msgstr "" -+"Добавляет поддержку для чтения документов в формате Comic Book Archive" - - #: ../backend/djvu/djvu-document.c:175 - msgid "DjVu document has incorrect format" -@@ -184,14 +186,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "Отсутствует" -@@ -212,7 +214,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr " (один из шрифтов Standard 14)" -@@ -221,7 +223,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr " (не из шрифтов Standard 14)" -@@ -284,6 +286,74 @@ - msgid "Adds support for reading XPS documents" - msgstr "Добавляет поддержку для чтения документов в формате XPS" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "Файл не является действительным файлом .desktop" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "Неизвестная версия файла .desktop «%s»" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "Запуск %s" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "Приложение не принимает документы в командной строке" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "Неизвестный параметр запуска: %d" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "Невозможно передать URI в запись «Type=Link» файла .desktop" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "Не является запускаемым элементом" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "Запретить подключение к диспетчеру сеансов" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "Укажите файл с сохраненными параметрами" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "ФАЙЛ" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "Укажите ID управления сеансом" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "Параметры управления сеансом:" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "Показать параметры управления сеансом" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -329,18 +399,16 @@ - msgstr "Уменьшить размер страницы" - - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:368 --#| msgid "Downloading document (%d%%)" - msgid "Download document" - msgstr "Загрузить документ" - - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:381 --#| msgid "Print this document" - msgid "Print document" - msgstr "Напечатать документ" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "Просмотр документов" - -@@ -409,7 +477,6 @@ - "стрелок." - - #: ../data/org.gnome.Evince.gschema.xml.in.h:10 --#| msgid "Adjust the zoom level" - msgid "Allow links to change the zoom level." - msgstr "Ссылки могут изменять масштаб." - -@@ -434,8 +501,8 @@ - msgstr "Тип файлов %s (%s) не поддерживается" - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "Неизвестный MIME тип документа" - -@@ -470,8 +537,8 @@ - msgstr "из %d" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "Страница %s" -@@ -527,19 +594,19 @@ - msgid "Print" - msgstr "Напечатать" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "Масштабирование страницы:" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "Урезать до области печати" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "Уместить в область печати" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -562,11 +629,11 @@ - "• \"Уместить в область печати\": Страницы документа будут увеличены или " - "уменьшены в соответствии с областью печати страницы принтера.\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "Автоматическое вращение и центрирование" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." -@@ -574,11 +641,11 @@ - "Изменять ориентацию страницы принтера в соответствии с каждой страницей " - "документа. Страницы документа будут центрированы на странице принтера." - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" - msgstr "Выбор размера страницы на основе размера страницы документа" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." -@@ -586,7 +653,7 @@ - "Если включено, то каждая страница будет напечатана с одним размером бумаги, " - "как у страницы документа." - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "Обработка страницы" - -@@ -670,15 +737,11 @@ - msgid "Print settings file" - msgstr "Напечатать файл параметров" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "ФАЙЛ" -- - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "Предварительный просмотр документов" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "Не удалось напечатать документ" - -@@ -781,7 +844,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "default:mm" -@@ -906,7 +969,7 @@ - msgid "Close" - msgstr "Закрыть" - --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " -@@ -918,7 +981,7 @@ - "опубликованной Free Software Foundation; либо версии 2 лицензии, либо (на " - "ваше усмотрение) любой более поздней версии.\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " -@@ -930,7 +993,7 @@ - "КАКИМ-ЛИБО ТРЕБОВАНИЯМ. Для получения дополнительной информации ознакомьтесь " - "с GNU General Public License.\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " -@@ -940,23 +1003,23 @@ - "Если этого не произошло, напишите to the Free Software Foundation, Inc., 51 " - "Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "Evince" - --#: ../shell/ev-application.c:1026 -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996-2014 авторы Evince" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" - msgstr "Николай В. Шмырёв " - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "Перейти к предыдущему элементу журнала" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "Перейти к следующему элементу журнала" - -@@ -1118,19 +1181,19 @@ - msgid "Thumbnails" - msgstr "Образцы страниц" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "Открыть документ" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "Найти слово или фразу в документе" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "Параметры файла" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "Параметры просмотра" - -@@ -1138,94 +1201,94 @@ - msgid "Supported Image Files" - msgstr "Поддерживаемые файлы изображений" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "Документ не содержит страниц" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "Документ содержит только пустые страницы" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "Не удалось открыть документ «%s»." - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "Загрузка документа из «%s»" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "Загрузка документа (%d%%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "Не удалось загрузить файл извне." - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "Обновление документа из %s" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "Не удалось обновить документ." - --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "Открыть документ" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "Сохранение документа в %s" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "Сохранение вложения в %s" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "Сохранение изображения в %s" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "Документ не может быть сохранён в файле «%s»." - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "Сохранение удалённого документа (%d%%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "Сохранение удалённого приложения (%d%%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "Сохранение удалённого изображения (%d%%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "Сохранить копию" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "Не удалось отправить текущий документ" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "Не удалось открыть папку с файлом" - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" -@@ -1233,12 +1296,12 @@ - msgstr[1] "%d задания ожидают в очереди" - msgstr[2] "%d заданий ожидает в очереди" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "Печать задания «%s»" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." -@@ -1246,7 +1309,7 @@ - "Документ содержит поля форм, которые были заполнены. Если вы не сохраните " - "копию, изменения будут навсегда потеряны." - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." -@@ -1254,20 +1317,20 @@ - "Документ содержит новые или изменённые примечания. Если вы не сохраните " - "копию, изменения будут навсегда потеряны." - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "Сохранить копию документа «%s» перед закрытием?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "Закрыть _без сохранения" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "Сохранить _копию" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "Ожидать завершения задания на печать «%s» перед закрытием?" -@@ -1275,9 +1338,10 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" - msgstr[0] "" -@@ -1290,28 +1354,28 @@ - "Имеется %d активных заданий для печати. Подождать их завершения перед " - "закрытием?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "" - "Если вы закроете окно, задания на печать, поставленные в очередь, не будут " - "выполнены." - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "Отменить _печать и закрыть" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "Закрыть п_осле печати" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "Запущен режим презентации" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5181 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" -@@ -1319,24 +1383,24 @@ - msgstr[1] "%d совпадения" - msgstr[2] "%d совпадений" - --#: ../shell/ev-window.c:5186 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "Не найдено" - --#: ../shell/ev-window.c:5192 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "%3d%% остаётся для поиска" - --#: ../shell/ev-window.c:5512 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "Включить курсорную навигацию?" - --#: ../shell/ev-window.c:5514 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "_Включить" - --#: ../shell/ev-window.c:5517 -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " -@@ -1346,49 +1410,47 @@ - "позволяет перемещать курсор на текстовых страницах и выделять текст с " - "помощью клавиатуры. Включить курсорную навигацию?" - --#: ../shell/ev-window.c:5522 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "Не показывать больше это сообщение" - --#: ../shell/ev-window.c:6038 ../shell/ev-window.c:6054 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "Не удалось запустить внешнее приложение." - --#: ../shell/ev-window.c:6111 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "Не удалось открыть внешнюю ссылку" - --#: ../shell/ev-window.c:6314 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "Не удалось найти подходящий формат для сохранения изображения" - --#: ../shell/ev-window.c:6346 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "Не удалось сохранить изображение." - --#: ../shell/ev-window.c:6381 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "Сохранить изображение" - --#: ../shell/ev-window.c:6532 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "Не удалось открыть вложение" - --#: ../shell/ev-window.c:6588 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "Не удалось сохранить вложение." - --#: ../shell/ev-window.c:6636 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "Сохранить вложение" - - #: ../shell/ev-window-title.c:118 --#| msgid "Open Document" - msgid "Recent Documents" - msgstr "Недавние документы" - - #: ../shell/ev-window-title.c:153 ../shell/ev-window-title.c:157 --#| msgid "Password required" - msgid "Password Required" - msgstr "Требуется пароль" - -@@ -1448,60 +1510,59 @@ - msgid "6400%" - msgstr "6400%" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "Просмотр документов" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "Открыть документ на указанном ярлыке." - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "СТРАНИЦА" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "Открыть документ на указанной странице." - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "НОМЕР" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "Открыть именованное назначение." - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "НАЗНАЧЕНИЕ" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "Запустить Evince в полноэкранном режиме" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "Запустить Evince в режиме презентации" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "Запустить Evince в режиме предварительного просмотра" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "Слово или фраза, которые надо найти в документе" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "СТРОКА" - --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[ФАЙЛ…]" - - #: ../shell/evince-menus.ui.h:1 --#| msgid "Open in New _Window" - msgid "_New Window" - msgstr "_Создать окно" - -@@ -1542,7 +1603,6 @@ - msgstr "Повернуть в_право" - - #: ../shell/evince-menus.ui.h:11 --#| msgid "_First Page" - msgid "First Page" - msgstr "Первая страница" - -@@ -1555,7 +1615,6 @@ - msgstr "Следующая страница" - - #: ../shell/evince-menus.ui.h:14 --#| msgid "_Last Page" - msgid "Last Page" - msgstr "Последняя страница" - -@@ -1668,7 +1727,6 @@ - msgstr "Свойства примечания…" - - #: ../shell/evince-menus.ui.h:47 --#| msgid "Annotations" - msgid "Remove Annotation" - msgstr "Удалить примечание" - -diff -urN evince-3.14.2/po/zh_CN.po evince-3.14.2_localized/po/zh_CN.po ---- evince-3.14.2/po/zh_CN.po 2014-11-29 15:10:16.000000000 +0530 -+++ evince-3.14.2_localized/po/zh_CN.po 2016-03-11 22:20:35.802000000 +0530 -@@ -11,26 +11,25 @@ - # Tao Wang , 2010. - # Xhacker Liu , 2010. - # tuhaihe <1132321739qq@gmail.com>, 2012. --# -+# - # Note: "Comic Book" is a file type, refer to http://en.wikipedia.org/wiki/Comic_Book_Archive_file - # YunQiang Su , 2012, 2013. --# -+# pnemade , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: evince master\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-09-03 16:05+0000\n" --"PO-Revision-Date: 2014-09-23 19:10+0800\n" --"Last-Translator: Yunqiang Su \n" --"Language-Team: Chinese (simplified) \n" --"Language: zh_CN\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"PO-Revision-Date: 2014-09-23 11:10+0000\n" -+"Last-Translator: Yunqiang Su \n" -+"Language-Team: Chinese (simplified) \n" -+"Language: zh-CN\n" - "Plural-Forms: nplurals=1; plural=0;\n" - "X-DamnedLies-Scope: partial\n" --"X-Generator: Poedit 1.6.9\n" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format -@@ -54,7 +53,8 @@ - msgstr "不是 Comic Book 文档的 MIME 类型:%s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "无法找到合适的命令来解压这种类型的 Comic Book 文档" - - #: ../backend/comics/comics-document.c:488 -@@ -173,8 +173,8 @@ - "14 fonts. If the substitute fonts selected by fontconfig are not the same as " - "the fonts used to create the PDF, the rendering may not be correct." - msgstr "" --"该文档包含了未嵌入的字体,且字体并不是 PDF 原生支持的 14 种标准字体。如果由 " --"fontconfig 选择的替代字体与创建 PDF 时所用字体不一致,渲染可能不太正确。" -+"该文档包含了未嵌入的字体,且字体并不是 PDF 原生支持的 14 种标准字体。如果由 fontconfig 选择的替代字体与创建 PDF " -+"时所用字体不一致,渲染可能不太正确。" - - #: ../backend/pdf/ev-poppler.cc:1129 - msgid "All fonts are either standard or embedded." -@@ -187,14 +187,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "无" -@@ -215,7 +215,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr " (14 种标准字体之一)" -@@ -224,7 +224,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr " (14 种标准字体范围之外)" -@@ -287,6 +287,74 @@ - msgid "Adds support for reading XPS documents" - msgstr "增加支持阅读 XPS 文档的功能" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "文件不是有效的 .desktop 文件" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "无法识别的桌面文件版本“%s”" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "正在启动 %s" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "应用程序在命令行不接受文档" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "无法识别的启动选项:%d" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "无法将文档 URL 传递给“Type=Link”的桌面项" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "不是可调用项" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "禁用到会话管理器的连接" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "指定包含已保存配置的文件" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "文件" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "指定会话管理 ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "会话管理选项:" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "显示会话管理选项" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -340,8 +408,8 @@ - msgstr "打印文档" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "文档查看器" - -@@ -351,8 +419,7 @@ - - #: ../data/evince.desktop.in.in.h:3 - msgid "pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;" --msgstr "" --"pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;文档;演示;幻灯;" -+msgstr "pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;文档;演示;幻灯;" - - #: ../data/evince-previewer.desktop.in.in.h:1 - msgid "Print Preview" -@@ -427,8 +494,8 @@ - msgstr "不支持文件类型 %s (%s)" - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "未知的 MIME 类型" - -@@ -463,8 +530,8 @@ - msgstr "共 %d 页" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "第 %s 页" -@@ -520,19 +587,19 @@ - msgid "Print" - msgstr "打印" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "页面缩放:" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "缩小至可打印区域" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "适合于打印区域" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -549,34 +616,31 @@ - "\n" - "• “否”:不执行页面缩放\n" - "\n" --"• “缩小至打印区域”:缩小大于可打印区域的文档页面以适合打印机页面的可打印区" --"域。\n" -+"• “缩小至打印区域”:缩小大于可打印区域的文档页面以适合打印机页面的可打印区域。\n" - "\n" - "• “适合于打印区域”:按要求缩小或放大文档页面以适合打印机页面的可打印区域。\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "自动旋转并居中" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." --msgstr "" --"旋转每个页面的打印机页面方向以匹配每个文档页面的方向。文档页面将在打印机页面" --"内居中。" -+msgstr "旋转每个页面的打印机页面方向以匹配每个文档页面的方向。文档页面将在打印机页面内居中。" - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" - msgstr "使用文档页面大小选定页面大小" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." - msgstr "当启用时,每页将打印于跟文档页面同样大小的纸张上。" - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "页面处理" - -@@ -660,15 +724,11 @@ - msgid "Print settings file" - msgstr "打印设置文件" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "文件" -- - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "GNOME 文档预览器" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "打印文档失败" - -@@ -771,7 +831,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "默认:毫米" -@@ -896,17 +956,17 @@ - msgid "Close" - msgstr "关闭" - --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " - "Foundation; either version 2 of the License, or (at your option) any later " - "version.\n" - msgstr "" --"Evince 是自由软件;您可以按照自由软件基金会所发布的 GNU GPL 许可对其再发放和/" --"或修改它;至于 GPL 的版本,您可以使用第二版或任何更新的版本。\n" -+"Evince 是自由软件;您可以按照自由软件基金会所发布的 GNU GPL 许可对其再发放和/或修改它;至于 GPL " -+"的版本,您可以使用第二版或任何更新的版本。\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " -@@ -917,7 +977,7 @@ - "它提供任何形式的担保,也无法保证它可以在特定用途中得到您希望的\n" - "结果。请参看 GNU GPL 许可中的更多细节。\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " -@@ -927,15 +987,15 @@ - "的话,您可以写信给自由软件基金会,地址是:\n" - "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "Evince" - --#: ../shell/ev-application.c:1026 -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996–2014 Evince 作者" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" - msgstr "" - "Aron Xu , 2009, 2010, 2011\n" -@@ -959,11 +1019,11 @@ - "rainofchaos https://launchpad.net/~rainofchaos\n" - "zhangmiao https://launchpad.net/~mymzhang" - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "转到上一历史条目" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "转到下一历史条目" - -@@ -1124,19 +1184,19 @@ - msgid "Thumbnails" - msgstr "缩略图" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "打开已有文档" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "在文档中查找单词或短语" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "文件选项" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "查看选项" - -@@ -1144,130 +1204,130 @@ - msgid "Supported Image Files" - msgstr "支持的图像文件" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "此文档不包含任何页面" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "这个文档只包含空页面" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "无法打开文档“%s”。" - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "正在从“%s”载入文档" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "正在下载文档 (%d%%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "载入远程文档失败。" - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "正在从 %s 重新载入文档" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "重新载入文档失败。" - --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "打开文档" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "正在保存文档到 %s" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "正在保存附件到 %s" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "正在保存图片到 %s" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "文件无法另存为“%s”。" - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "正在上传文档 (%d%%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "正在上传附件 (%d%%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "正在上传图片 (%d%%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "保存副本" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "无法保存当前文档" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "无法打开所在的文件夹" - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" - msgstr[0] "队列中有 %d 个等待执行的任务" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "正在打印任务“%s”" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." - msgstr "文档包含了已经填写的表单。如果您不保存副本,修改将会永久丢失。" - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." - msgstr "文档包含了新的或修改过的注释。如果您不保存副本,修改将会永久丢失。" - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "关闭前保存文档“%s”的副本吗?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "关闭且不保存(_W)" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "保存副本(_C)" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "等待打印任务“%s”完成后再关闭吗?" -@@ -1275,97 +1335,96 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" - msgstr[0] "有 %d 项活动的打印任务。等待打印完成后再关闭吗?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "如果你关闭该窗口,正在等待执行的打印任务将不会被打印。" - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "取消打印并关闭(_P)" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "打印后关闭(_A)" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "以放映模式运行" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5181 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" - msgstr[0] "本页上找到 %d 次" - --#: ../shell/ev-window.c:5186 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "未找到" - --#: ../shell/ev-window.c:5192 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "搜索还剩 %3d%%" - --#: ../shell/ev-window.c:5512 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "启用光标浏览?" - --#: ../shell/ev-window.c:5514 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "启用(_E)" - --#: ../shell/ev-window.c:5517 -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " - "with your keyboard. Do you want to enable the caret navigation?" --msgstr "" --"按下 F7 可以打开或关闭光标浏览功能。这个功能会在文字页面中显示一个可移动光" --"标,允许您用键盘四处移动并选择文字。您想要启用光标浏览吗?" -+msgstr "按下 F7 可以打开或关闭光标浏览功能。这个功能会在文字页面中显示一个可移动光标,允许您用键盘四处移动并选择文字。您想要启用光标浏览吗?" - --#: ../shell/ev-window.c:5522 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "不再显示这条信息" - --#: ../shell/ev-window.c:6038 ../shell/ev-window.c:6054 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "无法启动外部程序。" - --#: ../shell/ev-window.c:6111 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "无法打开外部链接" - --#: ../shell/ev-window.c:6314 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "无法找到恰当的格式以保存图像" - --#: ../shell/ev-window.c:6346 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "无法保存图像。" - --#: ../shell/ev-window.c:6381 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "保存图像" - --#: ../shell/ev-window.c:6532 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "无法打开附件" - --#: ../shell/ev-window.c:6588 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "无法保存附件。" - --#: ../shell/ev-window.c:6636 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "保存附件" - -@@ -1433,55 +1492,55 @@ - msgid "6400%" - msgstr "6400%" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "GNOME 文档查看器" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "要显示的文档的页标签。" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "页面" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "要显示的文档的页编号。" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "页号" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "显示指定名称的目标。" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "DEST" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "以全屏模式运行 evince" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "以放映模式运行 evince" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "以预览程序模式运行 evince" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "文档中待查找的单词或短语" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "字符串" - --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[文件...]" - -@@ -1666,452 +1725,5 @@ - "It supports the following document formats: PDF, PS, EPS, XPS, DjVu, TIFF, " - "DVI (with SyncTeX), and Comic Books archives (CBR, CBT, CBZ, CB7)." - msgstr "" --"它支持以下的文档格式: PDF, PS, EPS, XPS, DjVu, TIFF, DVI(和SyncTex), 和动画书" --"档案(CBR, CBT, CBZ, CB7)" -- --#~ msgid "Toggle between view of recent items and open document" --#~ msgstr "切换查看最近项和开放文档" -- --#~ msgid "Open a recently used document" --#~ msgstr "打开最近使用的文档" -- --#~ msgid "_Bookmarks" --#~ msgstr "书签(_B)" -- --#~ msgid "_Recent" --#~ msgstr "最近的(_R)" -- --#~ msgid "_View in new window" --#~ msgstr "在新窗口中查看(_V)" -- --#~ msgid "Open a copy of the current document in a new window" --#~ msgstr "在新窗口中打开当前文档的副本" -- --#~ msgid "Save a copy of the current document" --#~ msgstr "保存当前文档的副本" -- --#~ msgid "Send current document by mail, instant message…" --#~ msgstr "通过邮件、即时通讯等发送当前文档..." -- --#~ msgid "Show the folder which contains this file in the file manager" --#~ msgstr "在文件管理器中显示该文件所在的文件夹" -- --#~ msgid "Reload the document" --#~ msgstr "重新载入文档" -- --#~ msgid "Go to the first page" --#~ msgstr "转到第一页" -- --#~ msgid "Go to the last page" --#~ msgstr "转到最后一页" -- --#~ msgid "Go to Pa_ge" --#~ msgstr "转到指定页(_G)" -- --#~ msgid "Go to Page" --#~ msgstr "转到指定页" -- --#~ msgid "Add a bookmark for the current page" --#~ msgstr "为当前页面添加书签" -- --#~ msgid "Leave Fullscreen" --#~ msgstr "离开全屏" -- --#~ msgid "Leave fullscreen mode" --#~ msgstr "离开全屏模式" -- --#~ msgid "Start Presentation" --#~ msgstr "开始演示" -- --#~ msgid "Start a presentation" --#~ msgstr "开始演示" -- --#~ msgid "Show or hide the side pane" --#~ msgstr "显示或隐藏侧边栏" -- --#~ msgid "Show odd pages on the left in dual mode" --#~ msgstr "在双页模式中左侧显示奇数页" -- --#~ msgid "Expand the window to fill the screen" --#~ msgstr "将窗口展开为全屏幕" -- --#~ msgid "Run document as a presentation" --#~ msgstr "将文档以演示文稿放映" -- --#~ msgid "Show page contents with the colors inverted" --#~ msgstr "使用反色来显示页面内容" -- --#~ msgid "_Find…" --#~ msgstr "查找(_F)..." -- --#~ msgid "Zoom" --#~ msgstr "缩放" -- --#~ msgid "History" --#~ msgstr "历史" -- --#~ msgid "Open Folder" --#~ msgstr "打开文件夹" -- --#~ msgid "Send To" --#~ msgstr "发送至" -- --#~ msgid "Previous" --#~ msgstr "上一页" -- --#~ msgid "Next" --#~ msgstr "下一页" -- --#~ msgid "%s — Password Required" --#~ msgstr "%s - 需要密码" -- --#~ msgid "" --#~ "Document Viewer\n" --#~ "Using %s (%s)" --#~ msgstr "" --#~ "文档查看器\n" --#~ "使用 %s (%s)" -- --#~ msgid "File is not a valid .desktop file" --#~ msgstr "文件不是有效的 .desktop 文件" -- --#~ msgid "Unrecognized desktop file Version '%s'" --#~ msgstr "无法识别的桌面文件版本“%s”" -- --#~ msgid "Starting %s" --#~ msgstr "正在启动 %s" -- --#~ msgid "Application does not accept documents on command line" --#~ msgstr "应用程序在命令行不接受文档" -- --#~ msgid "Unrecognized launch option: %d" --#~ msgstr "无法识别的启动选项:%d" -- --#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" --#~ msgstr "无法将文档 URL 传递给“Type=Link”的桌面项" -- --#~ msgid "Not a launchable item" --#~ msgstr "不是可调用项" -- --#~ msgid "Disable connection to session manager" --#~ msgstr "禁用到会话管理器的连接" -- --#~ msgid "Specify file containing saved configuration" --#~ msgstr "指定包含已保存配置的文件" -- --#~ msgid "Specify session management ID" --#~ msgstr "指定会话管理 ID" -- --#~ msgid "ID" --#~ msgstr "ID" -- --#~ msgid "Session management options:" --#~ msgstr "会话管理选项:" -- --#~ msgid "Show session management options" --#~ msgstr "显示会话管理选项" -- --#~ msgid "Fit Page" --#~ msgstr "适合页面" -- --#~ msgid "Fit Width" --#~ msgstr "适合宽度" -- --#~ msgid "By extension" --#~ msgstr "按扩展名" -- --#~ msgid "Send _To..." --#~ msgstr "发送到(_T)..." -- --#~ msgid "Show “_%s”" --#~ msgstr "显示“%s”" -- --#~ msgid "_Move on Toolbar" --#~ msgstr "在工具栏上移动(_M)" -- --#~ msgid "Move the selected item on the toolbar" --#~ msgstr "在工具栏上移动选中项" -- --#~ msgid "_Remove from Toolbar" --#~ msgstr "从工具栏中删除(_R)" -- --#~ msgid "Remove the selected item from the toolbar" --#~ msgstr "从工具栏中删除选中项" -- --#~ msgid "_Delete Toolbar" --#~ msgstr "删除工具栏(_D)" -- --#~ msgid "Remove the selected toolbar" --#~ msgstr "删除选中的工具栏" -- --#~ msgid "Separator" --#~ msgstr "分隔符" -- --#~ msgid "Best Fit" --#~ msgstr "适合页长" -- --#~ msgid "Fit Page Width" --#~ msgstr "适合页宽" -- --#~ msgid "_Best Fit" --#~ msgstr "适合页长(_B)" -- --#~ msgid "Fit Page _Width" --#~ msgstr "适合页宽(_W)" -- --#~ msgid "Find:" --#~ msgstr "查找:" -- --#~ msgid "Find Pre_vious" --#~ msgstr "查找上一个(_V)" -- --#~ msgid "Find Ne_xt" --#~ msgstr "查找下一个(_X)" -- --#~ msgid "Page %s — %s" --#~ msgstr "第 %s 页 - %s" -- --#~ msgid "There was an error displaying help" --#~ msgstr "显示帮助时出现一个错误" -- --#~ msgid "Toolbar Editor" --#~ msgstr "工具栏编辑器" -- --#~ msgid "_File" --#~ msgstr "文件(_F)" -- --#~ msgid "_Edit" --#~ msgstr "编辑(_E)" -- --#~ msgid "_View" --#~ msgstr "查看(_V)" -- --#~ msgid "_Go" --#~ msgstr "转到(_G)" -- --#~ msgid "T_oolbar" --#~ msgstr "工具栏(_O)" -- --#~ msgid "_Contents" --#~ msgstr "目录(_C)" -- --#~ msgid "_Toolbar" --#~ msgstr "工具栏(_T)" -- --#~ msgid "Show or hide the toolbar" --#~ msgstr "显示或隐藏工具栏" -- --#~ msgid "_Dual (Even pages left)" --#~ msgstr "双面(_D),偶数页在左侧" -- --#~ msgid "Show two pages at once with even pages on the left" --#~ msgstr "一次显示两页,偶数页在左侧" -- --#~ msgid "Navigation" --#~ msgstr "导航" -- --#~ msgid "Back" --#~ msgstr "后退" -- --#~ msgid "Move across visited pages" --#~ msgstr "在已浏览的页面中移动" -- --#~ msgid "Toggle case sensitive search" --#~ msgstr "切换区分大小写搜索" -- --#~ msgid "" --#~ "Boolean options available: true enables thumbnailing and false disables " --#~ "the creation of new thumbnails" --#~ msgstr "可选布尔值选项:true 代表允许缩略图而 false 代表禁止创建新缩略图" -- --#~ msgid "Enable thumbnailing of PDF Documents" --#~ msgstr "启用 PDF 文档的缩略图" -- --#~ msgid "Thumbnail command for PDF Documents" --#~ msgstr "PDF 文档的缩略图命令" -- --#~ msgid "" --#~ "Valid command plus arguments for the PDF Document thumbnailer. See " --#~ "Nautilus thumbnailer documentation for more information." --#~ msgstr "" --#~ "PDF 文档缩略图生成器的有效命令及参数。更多信息请参看 Nautilus 的缩略图生成" --#~ "器文档。" -- --#~ msgid "Converting %s" --#~ msgstr "正在转换 %s" -- --#~ msgid "%d of %d documents converted" --#~ msgstr "已转换 %d 个文档,共 %d 个文档" -- --#~ msgid "Converting metadata" --#~ msgstr "正在转换元数据" -- --#~ msgid "" --#~ "The metadata format used by Evince has changed, and hence it needs to be " --#~ "migrated. If the migration is cancelled the metadata storage will not " --#~ "work." --#~ msgstr "" --#~ "被 Evince 使用的元数据已经改变,因此它需要被迁移。如果迁移操作被取消,元数" --#~ "据存放处将不会工作。" -- --#~ msgid "Impress Slides" --#~ msgstr "Impress 幻灯片" -- --#~ msgid "No error" --#~ msgstr "无错误" -- --#~ msgid "Not enough memory" --#~ msgstr "没有足够的内存" -- --#~ msgid "Cannot find ZIP signature" --#~ msgstr "无法找到 ZIP 签名" -- --#~ msgid "Invalid ZIP file" --#~ msgstr "无效的 ZIP 文件" -- --#~ msgid "Multi file ZIPs are not supported" --#~ msgstr "不支持多文件 ZIP" -- --#~ msgid "Cannot read data from file" --#~ msgstr "无法从文件读取数据" -- --#~ msgid "Cannot find file in the ZIP archive" --#~ msgstr "无法在 ZIP 压缩包中找到文件" -- --#~ msgid "Unknown error" --#~ msgstr "未知错误" -- --#~ msgid "Page Set_up…" --#~ msgstr "页面设置(_U)..." -- --#~ msgid "Set up the page settings for printing" --#~ msgstr "为打印设定页面设置" -- --#~ msgid "DJVU document has incorrect format" --#~ msgstr "Djvu 文档的格式不正确" -- --#~ msgid "Print..." --#~ msgstr "打印..." -- --#~ msgid "_Save a Copy..." --#~ msgstr "保存副本(_S)..." -- --#~ msgid "_Print..." --#~ msgstr "打印(_P)..." -- --#~ msgid "_Find..." --#~ msgstr "查找(_F)..." -- --#~ msgid "Failed to create file “%s”: %s" --#~ msgstr "创建文件“%s”失败:%s" -- --#~ msgid "Search string" --#~ msgstr "搜索字符串" -- --#~ msgid "The name of the string to be found" --#~ msgstr "要查找的字符串名称" -- --#~ msgid "Case sensitive" --#~ msgstr "区分大小写" -- --#~ msgid "TRUE for a case sensitive search" --#~ msgstr "TRUE 代表进行区分大小写的搜索" -- --#~ msgid "Highlight color" --#~ msgstr "高亮颜色" -- --#~ msgid "Color of highlight for all matches" --#~ msgstr "全部匹配的高亮颜色" -- --#~ msgid "Current color" --#~ msgstr "当前颜色" -- --#~ msgid "Color of highlight for the current match" --#~ msgstr "当前匹配的高亮颜色" -- --#~ msgid "Recover previous documents?" --#~ msgstr "恢复上一个文档?" -- --#~ msgid "" --#~ "Evince appears to have exited unexpectedly the last time it was run. You " --#~ "can recover the opened documents." --#~ msgstr "Evince 看起来在上次运行的没有正常的退出。 您可以覆盖打开的文档。" -- --#~ msgid "_Don't Recover" --#~ msgstr "不复原(_D)" -- --#~ msgid "Crash Recovery" --#~ msgstr "崩溃复原" -- --#~ msgid "Couldn't create symlink “%s”: " --#~ msgstr "不能创建系统链接 “%s”: " -- --#~ msgid "Cannot open a copy." --#~ msgstr "无法打开副本" -- --#~ msgid "_Remember forever" --#~ msgstr "永远记住(_R)" -- --#~ msgid "_Remember password until you logout" --#~ msgstr "此会话记住密码(_R)" -- --#~ msgid "_Forget password immediately" --#~ msgstr "立即忘记密码(_F)" -- --#~ msgid "_Domain:" --#~ msgstr "域(_D):" -- --#~ msgid "_Username:" --#~ msgstr "用户名(_U):" -- --#~ msgid "Connect as u_ser:" --#~ msgstr "连接为用户(_S):" -- --#~ msgid "Connect _anonymously" --#~ msgstr "匿名连接(_A)" -- --#~ msgid "Co_nnect" --#~ msgstr "连接(_N)" -- --#~ msgid "Couldn't create symlink “%s”: %s" --#~ msgstr "无法创建符号链接“%s”:%s" -- --#~ msgid "File corrupted." --#~ msgstr "文件已损坏。" -- --#~ msgid "© 1996-2007 The Evince authors" --#~ msgstr "(C) 1996-2007 Evince 作者" -- --#~ msgid "Print Set_up..." --#~ msgstr "打印设置(_U)..." -- --#~ msgid "Loading document from %s" --#~ msgstr "正在从 %s 载入文档" -- --#~ msgid "No files in archive." --#~ msgstr "档案中没有文件。" -- --#~ msgid "" --#~ "You were trying to print to a printer using the “%s” driver. This program " --#~ "requires a PostScript printer driver." --#~ msgstr "" --#~ "您正在尝试使用“%s”驱动程序打印到打印机。此程序需要 PostScript 打印机驱动程" --#~ "序。" -- --#~ msgid "Invalid URI: “%s”" --#~ msgstr "无效的 URI:“%s”" -- --#~ msgid "Unsupported URI: “%s”" --#~ msgstr "不支持的 URI:“%s”" -- --#~ msgid "Error: %s" --#~ msgstr "错误:%s" -- --#~ msgid "Error: dvipdfm exited with non-zero status." --#~ msgstr "错误:dvipdfm 以非零状态退出。" -- --#~ msgid "Open “%s”" --#~ msgstr "打开“%s”" -- --#~ msgid "Empty" --#~ msgstr "空" -+"它支持以下的文档格式: PDF, PS, EPS, XPS, DjVu, TIFF, DVI(和SyncTex), 和动画书档案(CBR, CBT, " -+"CBZ, CB7)" -diff -urN evince-3.14.2/po/zh_TW.po evince-3.14.2_localized/po/zh_TW.po ---- evince-3.14.2/po/zh_TW.po 2015-03-08 13:52:48.000000000 +0530 -+++ evince-3.14.2_localized/po/zh_TW.po 2016-03-11 22:20:35.824000000 +0530 -@@ -6,22 +6,21 @@ - # Wei-Lun Chao , 2005, 2010. - # Woodman Tuen , 2006-07. - # Chao-Hsiung Liao , 2008, 2010. --# -+# pnemade , 2016. #zanata - msgid "" - msgstr "" - "Project-Id-Version: evince 3.3.5\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" --"product=evince&keywords=I18N+L10N&component=general\n" --"POT-Creation-Date: 2014-10-02 03:45+0000\n" --"PO-Revision-Date: 2014-10-02 21:22+0800\n" --"Last-Translator: Cheng-Chia Tseng \n" --"Language-Team: Chinese (traditional)\n" --"Language: zh_TW\n" -+"Report-Msgid-Bugs-To: \n" -+"POT-Creation-Date: 2016-02-10 12:49+0530\n" - "MIME-Version: 1.0\n" - "Content-Type: text/plain; charset=UTF-8\n" - "Content-Transfer-Encoding: 8bit\n" -+"PO-Revision-Date: 2014-10-02 01:22+0000\n" -+"Last-Translator: Cheng-Chia Tseng \n" -+"Language-Team: Chinese (traditional)\n" -+"Language: zh-TW\n" - "Plural-Forms: nplurals=1; plural=0;\n" --"X-Generator: Poedit 1.5.4\n" -+"X-Generator: Zanata 3.8.2\n" - - #: ../backend/comics/comics-document.c:210 - #, c-format -@@ -45,7 +44,8 @@ - msgstr "並非漫畫書 MIME 類型:%s" - - #: ../backend/comics/comics-document.c:433 --msgid "Can't find an appropriate command to decompress this type of comic book" -+msgid "" -+"Can't find an appropriate command to decompress this type of comic book" - msgstr "找不到合適的指令可將這個類型的漫畫書解壓縮" - - #: ../backend/comics/comics-document.c:488 -@@ -164,8 +164,8 @@ - "14 fonts. If the substitute fonts selected by fontconfig are not the same as " - "the fonts used to create the PDF, the rendering may not be correct." - msgstr "" --"這份文件包含非來自 PDF Standard 14 字型的非內嵌字型。如果由 fontconfig 選擇的" --"替代字型與用來建立這份 PDF 的不同,呈現的畫面可能會不正確。" -+"這份文件包含非來自 PDF Standard 14 字型的非內嵌字型。如果由 fontconfig 選擇的替代字型與用來建立這份 PDF " -+"的不同,呈現的畫面可能會不正確。" - - #: ../backend/pdf/ev-poppler.cc:1129 - msgid "All fonts are either standard or embedded." -@@ -178,14 +178,14 @@ - #. translators: When a font type does not have - #. encoding information or it is unknown. Example: - #. Encoding: None --#. -+#. - #. translators: Value for 'Page Scaling:' to not scale the document pages on printing - #. translators: This is used when a document property does - #. not have a value. Examples: - #. Author: None - #. Keywords: None --#. --#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1967 -+#. -+#: ../backend/pdf/ev-poppler.cc:1170 ../libview/ev-print-operation.c:1943 - #: ../properties/ev-properties-view.c:192 - msgid "None" - msgstr "沒有" -@@ -206,7 +206,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "Type 1 (One of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1189 - msgid " (One of the Standard 14 Fonts)" - msgstr " (Standard 14 字型之一)" -@@ -215,7 +215,7 @@ - #. * because it is directly appended to the font - #. * type. Example: - #. * "TrueType (Not one of the Standard 14 Fonts)" --#. -+#. - #: ../backend/pdf/ev-poppler.cc:1196 - msgid " (Not one of the Standard 14 Fonts)" - msgstr " (非 Standard 14 字型之一)" -@@ -278,6 +278,74 @@ - msgid "Adds support for reading XPS documents" - msgstr "加入讀取 XPS 文件的支援" - -+#: ../cut-n-paste/smclient/eggdesktopfile.c:165 -+#, c-format -+msgid "File is not a valid .desktop file" -+msgstr "檔案不是有效的 .desktop 檔案" -+ -+#. translators: 'Version' is from a desktop file, and -+#. * should not be translated. '%s' would probably be a -+#. * version number. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:191 -+#, c-format -+msgid "Unrecognized desktop file Version '%s'" -+msgstr "無法辨識的桌面檔案版本「%s」" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:974 -+#, c-format -+msgid "Starting %s" -+msgstr "準備啟動 %s" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1116 -+#, c-format -+msgid "Application does not accept documents on command line" -+msgstr "應用程式不接受以命令列開啟文件" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1184 -+#, c-format -+msgid "Unrecognized launch option: %d" -+msgstr "無法辨識的啟動選項:%d" -+ -+#. translators: The 'Type=Link' string is found in a -+#. * desktop file, and should not be translated. -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1391 -+#, c-format -+msgid "Can't pass document URIs to a 'Type=Link' desktop entry" -+msgstr "不能傳送文件 URI 至「Type=Link」桌面項目" -+ -+#: ../cut-n-paste/smclient/eggdesktopfile.c:1412 -+#, c-format -+msgid "Not a launchable item" -+msgstr "不是可以啟動的項目" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:226 -+msgid "Disable connection to session manager" -+msgstr "停用到作業階段管理程式的連線" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 -+msgid "Specify file containing saved configuration" -+msgstr "指定含有已儲存組態的檔案" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:229 ../previewer/ev-previewer.c:46 -+msgid "FILE" -+msgstr "檔案" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "Specify session management ID" -+msgstr "指定作業階段管理 ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:232 -+msgid "ID" -+msgstr "ID" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:253 -+msgid "Session management options:" -+msgstr "作業階段管理選項:" -+ -+#: ../cut-n-paste/smclient/eggsmclient.c:254 -+msgid "Show session management options" -+msgstr "顯示作業階段管理選項" -+ - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:230 - #: ../previewer/ev-previewer-window.c:317 ../shell/evince-menus.ui.h:32 - msgid "Fit Pa_ge" -@@ -331,8 +399,8 @@ - msgstr "列印文件" - - #. Manually set name and icon --#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1029 --#: ../shell/ev-window-title.c:139 ../shell/main.c:298 -+#: ../data/evince.desktop.in.in.h:1 ../shell/ev-application.c:1102 -+#: ../shell/ev-window-title.c:139 ../shell/main.c:312 - msgid "Document Viewer" - msgstr "文件檢視器" - -@@ -393,7 +461,6 @@ - msgstr "顯示對話盒以確認使用者想要使用鍵盤瀏覽。" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:10 --#| msgid "Adjust the zoom level" - msgid "Allow links to change the zoom level." - msgstr "允許連結可以調整縮放等級。" - -@@ -418,8 +485,8 @@ - msgstr "檔案類型 %s (%s) 不支援" - - #: ../libdocument/ev-document-factory.c:364 --#: ../libdocument/ev-file-helpers.c:491 ../libdocument/ev-file-helpers.c:537 --#: ../libdocument/ev-file-helpers.c:556 -+#: ../libdocument/ev-file-helpers.c:492 ../libdocument/ev-file-helpers.c:538 -+#: ../libdocument/ev-file-helpers.c:557 - msgid "Unknown MIME Type" - msgstr "未知的 MIME 型態" - -@@ -456,8 +523,8 @@ - msgstr "/ %d" - - #: ../libmisc/ev-page-action-widget.c:185 ../shell/ev-history.c:426 --#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:904 --#: ../shell/ev-window.c:4708 -+#: ../shell/ev-sidebar-bookmarks.c:295 ../shell/ev-window.c:905 -+#: ../shell/ev-window.c:4712 - #, c-format - msgid "Page %s" - msgstr "頁 %s" -@@ -513,19 +580,19 @@ - msgid "Print" - msgstr "列印" - --#: ../libview/ev-print-operation.c:1961 -+#: ../libview/ev-print-operation.c:1937 - msgid "Page Scaling:" - msgstr "頁面縮放:" - --#: ../libview/ev-print-operation.c:1968 -+#: ../libview/ev-print-operation.c:1944 - msgid "Shrink to Printable Area" - msgstr "縮減至可列印區域" - --#: ../libview/ev-print-operation.c:1969 -+#: ../libview/ev-print-operation.c:1945 - msgid "Fit to Printable Area" - msgstr "符合可列印區域" - --#: ../libview/ev-print-operation.c:1972 -+#: ../libview/ev-print-operation.c:1948 - msgid "" - "Scale document pages to fit the selected printer page. Select from one of " - "the following:\n" -@@ -542,34 +609,31 @@ - "\n" - "• 「沒有」:不進行頁面的縮放。\n" - "\n" --"• 「符合可列印區域」:文件頁面超過可列印區域時會被縮小以符合印表機的可列印區" --"域。\n" -+"• 「符合可列印區域」:文件頁面超過可列印區域時會被縮小以符合印表機的可列印區域。\n" - "\n" - "• 「縮減至可列印區域」:文件頁面會被放大或縮小以符合印表機的可列印區域。\n" - --#: ../libview/ev-print-operation.c:1984 -+#: ../libview/ev-print-operation.c:1960 - msgid "Auto Rotate and Center" - msgstr "自動旋轉並置中" - --#: ../libview/ev-print-operation.c:1987 -+#: ../libview/ev-print-operation.c:1963 - msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." --msgstr "" --"旋轉每一頁的印表機頁面方向以符合文件頁面的方向。文件的頁面會在印表機的頁面裡" --"置中。" -+msgstr "旋轉每一頁的印表機頁面方向以符合文件頁面的方向。文件的頁面會在印表機的頁面裡置中。" - --#: ../libview/ev-print-operation.c:1992 -+#: ../libview/ev-print-operation.c:1968 - msgid "Select page size using document page size" - msgstr "使用文件頁面大小來選擇頁面大小" - --#: ../libview/ev-print-operation.c:1994 -+#: ../libview/ev-print-operation.c:1970 - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." - msgstr "當啟用時,每一頁都會按照文件中的頁面大小列印。" - --#: ../libview/ev-print-operation.c:2094 -+#: ../libview/ev-print-operation.c:2070 - msgid "Page Handling" - msgstr "頁面處理方式" - -@@ -653,15 +717,11 @@ - msgid "Print settings file" - msgstr "列印設定值檔案" - --#: ../previewer/ev-previewer.c:46 --msgid "FILE" --msgstr "檔案" -- - #: ../previewer/ev-previewer.c:175 ../previewer/ev-previewer.c:207 - msgid "GNOME Document Previewer" - msgstr "GNOME 文件預覽器" - --#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3323 -+#: ../previewer/ev-previewer-window.c:91 ../shell/ev-window.c:3324 - msgid "Failed to print document" - msgstr "無法列印文件" - -@@ -764,7 +824,7 @@ - #. * want inches, otherwise translate to default:mm. - #. * Do *not* translate it to "predefinito:mm", if it - #. * it isn't default:mm or default:inch it will not work --#. -+#. - #: ../properties/ev-properties-view.c:220 - msgid "default:mm" - msgstr "default:mm" -@@ -890,46 +950,44 @@ - msgstr "關閉" - - # (Abel) 大致上參考 slat.org 的建議 --#: ../shell/ev-application.c:995 -+#: ../shell/ev-application.c:1068 - msgid "" - "Evince is free software; you can redistribute it and/or modify it under the " - "terms of the GNU General Public License as published by the Free Software " - "Foundation; either version 2 of the License, or (at your option) any later " - "version.\n" - msgstr "" --"Evince 為自由軟體;您可依據自由軟體基金會所發表的 GNU 通用公共授權條款規定," --"就本程式再為散布與/或修改;無論您依據的是本授權的第二版或(您自行選擇的)任" --"一日後發行的版本。\n" -+"Evince 為自由軟體;您可依據自由軟體基金會所發表的 GNU " -+"通用公共授權條款規定,就本程式再為散布與/或修改;無論您依據的是本授權的第二版或(您自行選擇的)任一日後發行的版本。\n" - --#: ../shell/ev-application.c:999 -+#: ../shell/ev-application.c:1072 - msgid "" - "Evince is distributed in the hope that it will be useful, but WITHOUT ANY " - "WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " - "FOR A PARTICULAR PURPOSE. See the GNU General Public License for more " - "details.\n" - msgstr "" --"Evince 係基於使用目的而加以散布,然而不負任何擔保責任;亦無對適售性或特定目的" --"適用性所為的默示性擔保。詳情請參照 GNU 通用公共授權。\n" -+"Evince 係基於使用目的而加以散布,然而不負任何擔保責任;亦無對適售性或特定目的適用性所為的默示性擔保。詳情請參照 GNU 通用公共授權。\n" - --#: ../shell/ev-application.c:1003 -+#: ../shell/ev-application.c:1076 - msgid "" - "You should have received a copy of the GNU General Public License along with " - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " - "Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - msgstr "" --"您應該已經和 Evince 程式一起收到一份 GNU 通用公共許可證的副本。如果還沒有,寫" --"信給: the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, " --"Boston, MA 02110-1301 USA\n" -+"您應該已經和 Evince 程式一起收到一份 GNU 通用公共許可證的副本。如果還沒有,寫信給: the Free Software " -+"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 " -+"USA\n" - --#: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -+#: ../shell/ev-application.c:1097 ../evince.appdata.xml.in.h:1 - msgid "Evince" - msgstr "Evince" - --#: ../shell/ev-application.c:1026 -+#: ../shell/ev-application.c:1099 - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996-2014 Evince 作者群" - --#: ../shell/ev-application.c:1032 -+#: ../shell/ev-application.c:1105 - msgid "translator-credits" - msgstr "" - "如對翻譯有任何意見,請送一封電子郵件給\n" -@@ -941,11 +999,11 @@ - "Abel Cheung , 2005\n" - "Funda Wang , 2004" - --#: ../shell/ev-history-action.c:224 -+#: ../shell/ev-history-action.c:221 - msgid "Go to previous history item" - msgstr "移至前一個歷史紀錄項目" - --#: ../shell/ev-history-action.c:229 -+#: ../shell/ev-history-action.c:226 - msgid "Go to next history item" - msgstr "移至下一個歷史紀錄項目" - -@@ -1106,19 +1164,19 @@ - msgid "Thumbnails" - msgstr "縮圖" - --#: ../shell/ev-toolbar.c:204 -+#: ../shell/ev-toolbar.c:201 - msgid "Open an existing document" - msgstr "開啟現存文件" - --#: ../shell/ev-toolbar.c:235 -+#: ../shell/ev-toolbar.c:223 - msgid "Find a word or phrase in the document" - msgstr "在文件中尋找字詞" - --#: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 -+#: ../shell/ev-toolbar.c:232 ../shell/ev-toolbar.c:233 - msgid "File options" - msgstr "檔案選項" - --#: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 -+#: ../shell/ev-toolbar.c:242 ../shell/ev-toolbar.c:243 - msgid "View options" - msgstr "檢視選項" - -@@ -1126,130 +1184,130 @@ - msgid "Supported Image Files" - msgstr "支援的影像檔案" - --#: ../shell/ev-window.c:1606 -+#: ../shell/ev-window.c:1607 - msgid "The document contains no pages" - msgstr "此文件不包含任何頁面" - --#: ../shell/ev-window.c:1609 -+#: ../shell/ev-window.c:1610 - msgid "The document contains only empty pages" - msgstr "文件只包含空白頁面" - --#: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 -+#: ../shell/ev-window.c:1823 ../shell/ev-window.c:1991 - #, c-format - msgid "Unable to open document “%s”." - msgstr "無法開啟「%s」文件" - --#: ../shell/ev-window.c:1954 -+#: ../shell/ev-window.c:1955 - #, c-format - msgid "Loading document from “%s”" - msgstr "正在從「%s」載入文件" - --#: ../shell/ev-window.c:2105 ../shell/ev-window.c:2432 -+#: ../shell/ev-window.c:2106 ../shell/ev-window.c:2433 - #, c-format - msgid "Downloading document (%d%%)" - msgstr "正在下載文件 (%d%%)" - --#: ../shell/ev-window.c:2138 -+#: ../shell/ev-window.c:2139 - msgid "Failed to load remote file." - msgstr "載入遠端的檔案失敗。" - --#: ../shell/ev-window.c:2376 -+#: ../shell/ev-window.c:2377 - #, c-format - msgid "Reloading document from %s" - msgstr "從 %s 重新載入文件" - --#: ../shell/ev-window.c:2408 -+#: ../shell/ev-window.c:2409 - msgid "Failed to reload document." - msgstr "重新載入文件失敗。" - --#: ../shell/ev-window.c:2624 -+#: ../shell/ev-window.c:2625 - msgid "Open Document" - msgstr "開啟文件" - --#: ../shell/ev-window.c:2695 -+#: ../shell/ev-window.c:2696 - #, c-format - msgid "Saving document to %s" - msgstr "正儲存文件到 %s" - --#: ../shell/ev-window.c:2698 -+#: ../shell/ev-window.c:2699 - #, c-format - msgid "Saving attachment to %s" - msgstr "正儲存附加檔案到 %s" - --#: ../shell/ev-window.c:2701 -+#: ../shell/ev-window.c:2702 - #, c-format - msgid "Saving image to %s" - msgstr "正儲存圖片到 %s" - --#: ../shell/ev-window.c:2745 ../shell/ev-window.c:2845 -+#: ../shell/ev-window.c:2746 ../shell/ev-window.c:2846 - #, c-format - msgid "The file could not be saved as “%s”." - msgstr "檔案無法儲存為“%s”。" - --#: ../shell/ev-window.c:2776 -+#: ../shell/ev-window.c:2777 - #, c-format - msgid "Uploading document (%d%%)" - msgstr "正在上傳文件 (%d%%)" - --#: ../shell/ev-window.c:2780 -+#: ../shell/ev-window.c:2781 - #, c-format - msgid "Uploading attachment (%d%%)" - msgstr "正在上傳附加檔案 (%d%%)" - --#: ../shell/ev-window.c:2784 -+#: ../shell/ev-window.c:2785 - #, c-format - msgid "Uploading image (%d%%)" - msgstr "正在上傳圖片 (%d%%)" - --#: ../shell/ev-window.c:2896 -+#: ../shell/ev-window.c:2897 - msgid "Save a Copy" - msgstr "儲存副本" - --#: ../shell/ev-window.c:2972 -+#: ../shell/ev-window.c:2973 - msgid "Could not send current document" - msgstr "無法傳送目前的文件" - --#: ../shell/ev-window.c:3006 -+#: ../shell/ev-window.c:3007 - msgid "Could not open the containing folder" - msgstr "無法開啟包含的資料夾" - --#: ../shell/ev-window.c:3267 -+#: ../shell/ev-window.c:3268 - #, c-format - msgid "%d pending job in queue" - msgid_plural "%d pending jobs in queue" - msgstr[0] "佇列中 %d 項預定的工作" - --#: ../shell/ev-window.c:3380 -+#: ../shell/ev-window.c:3381 - #, c-format - msgid "Printing job “%s”" - msgstr "正在列印「%s」工作" - --#: ../shell/ev-window.c:3583 -+#: ../shell/ev-window.c:3584 - msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." - msgstr "文件包含尚未填寫的表單欄位。如果您不儲存複本,這些變更就會永遠消失。" - --#: ../shell/ev-window.c:3587 -+#: ../shell/ev-window.c:3588 - msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." - msgstr "文件包含新的或修改過的註解。如果您不儲存複本,這些變更就會永遠消失。" - --#: ../shell/ev-window.c:3594 -+#: ../shell/ev-window.c:3595 - #, c-format - msgid "Save a copy of document “%s” before closing?" - msgstr "關閉前要儲存文件「%s」的複本嗎?" - --#: ../shell/ev-window.c:3613 -+#: ../shell/ev-window.c:3614 - msgid "Close _without Saving" - msgstr "關閉但不儲存(_W)" - --#: ../shell/ev-window.c:3617 -+#: ../shell/ev-window.c:3618 - msgid "Save a _Copy" - msgstr "儲存副本(_C)" - --#: ../shell/ev-window.c:3691 -+#: ../shell/ev-window.c:3692 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" - msgstr "在關閉前是否要等待「%s」列印工作結束?" -@@ -1257,97 +1315,96 @@ - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, - #. so the ngettext is needed. --#: ../shell/ev-window.c:3697 -+#: ../shell/ev-window.c:3698 - #, c-format --msgid "There is %d print job active. Wait until print finishes before closing?" -+msgid "" -+"There is %d print job active. Wait until print finishes before closing?" - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" - msgstr[0] "還有 %d 項列印工作在使用中。在關閉前是否要等待列印結束?" - --#: ../shell/ev-window.c:3712 -+#: ../shell/ev-window.c:3713 - msgid "If you close the window, pending print jobs will not be printed." - msgstr "如果您關閉視窗,預定的列印工作將不會列印。" - --#: ../shell/ev-window.c:3716 -+#: ../shell/ev-window.c:3717 - msgid "Cancel _print and Close" - msgstr "取消列印並關閉(_P)" - --#: ../shell/ev-window.c:3720 -+#: ../shell/ev-window.c:3721 - msgid "Close _after Printing" - msgstr "於列印完成後關閉(_A)" - --#: ../shell/ev-window.c:4248 -+#: ../shell/ev-window.c:4252 - msgid "Running in presentation mode" - msgstr "以簡報模式執行" - - #. TRANS: Sometimes this could be better translated as - #. "%d hit(s) on this page". Therefore this string - #. contains plural cases. --#: ../shell/ev-window.c:5182 -+#: ../shell/ev-window.c:5186 - #, c-format - msgid "%d found on this page" - msgid_plural "%d found on this page" - msgstr[0] "本頁找到 %d 處" - --#: ../shell/ev-window.c:5187 -+#: ../shell/ev-window.c:5191 - msgid "Not found" - msgstr "找不到" - --#: ../shell/ev-window.c:5193 -+#: ../shell/ev-window.c:5197 - #, c-format - msgid "%3d%% remaining to search" - msgstr "還有 %3d%% 尚待搜尋" - --#: ../shell/ev-window.c:5513 -+#: ../shell/ev-window.c:5517 - msgid "Enable caret navigation?" - msgstr "啟用鍵盤瀏覽?" - --#: ../shell/ev-window.c:5515 -+#: ../shell/ev-window.c:5519 - msgid "_Enable" - msgstr "啟用(_E)" - --#: ../shell/ev-window.c:5518 -+#: ../shell/ev-window.c:5522 - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " - "with your keyboard. Do you want to enable the caret navigation?" --msgstr "" --"按下 F7 可以切換鍵盤導覽的開關。這個功能會在文字頁面中放置一個可移動游標,允" --"許您以鍵盤四處移動並選擇文字。您想要啟用鍵盤瀏覽嗎?" -+msgstr "按下 F7 可以切換鍵盤導覽的開關。這個功能會在文字頁面中放置一個可移動游標,允許您以鍵盤四處移動並選擇文字。您想要啟用鍵盤瀏覽嗎?" - --#: ../shell/ev-window.c:5523 -+#: ../shell/ev-window.c:5527 - msgid "Don't show this message again" - msgstr "不要再顯示這個訊息" - --#: ../shell/ev-window.c:6039 ../shell/ev-window.c:6055 -+#: ../shell/ev-window.c:6043 ../shell/ev-window.c:6059 - msgid "Unable to launch external application." - msgstr "無法啟動外部應用程式。" - --#: ../shell/ev-window.c:6112 -+#: ../shell/ev-window.c:6116 - msgid "Unable to open external link" - msgstr "無法開啟外部連結" - --#: ../shell/ev-window.c:6315 -+#: ../shell/ev-window.c:6319 - msgid "Couldn't find appropriate format to save image" - msgstr "找不到合適的格式來儲存圖片" - --#: ../shell/ev-window.c:6347 -+#: ../shell/ev-window.c:6351 - msgid "The image could not be saved." - msgstr "圖片無法儲存。" - --#: ../shell/ev-window.c:6382 -+#: ../shell/ev-window.c:6386 - msgid "Save Image" - msgstr "儲存圖片" - --#: ../shell/ev-window.c:6533 -+#: ../shell/ev-window.c:6537 - msgid "Unable to open attachment" - msgstr "無法開啟附件" - --#: ../shell/ev-window.c:6589 -+#: ../shell/ev-window.c:6593 - msgid "The attachment could not be saved." - msgstr "附件無法儲存。" - --#: ../shell/ev-window.c:6637 -+#: ../shell/ev-window.c:6641 - msgid "Save Attachment" - msgstr "儲存附件" - -@@ -1415,55 +1472,55 @@ - msgid "6400%" - msgstr "6400%" - --#: ../shell/main.c:63 ../shell/main.c:269 -+#: ../shell/main.c:70 ../shell/main.c:276 - msgid "GNOME Document Viewer" - msgstr "GNOME 文件檢視器" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "The page label of the document to display." - msgstr "要顯示的文件頁面標籤。" - --#: ../shell/main.c:71 -+#: ../shell/main.c:78 - msgid "PAGE" - msgstr "頁次" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "The page number of the document to display." - msgstr "要顯示的文件頁碼。" - --#: ../shell/main.c:72 -+#: ../shell/main.c:79 - msgid "NUMBER" - msgstr "編號" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "Named destination to display." - msgstr "要顯示的有名稱目的端。" - --#: ../shell/main.c:73 -+#: ../shell/main.c:80 - msgid "DEST" - msgstr "目的端" - --#: ../shell/main.c:74 -+#: ../shell/main.c:81 - msgid "Run evince in fullscreen mode" - msgstr "以全螢幕模式執行 evince" - --#: ../shell/main.c:75 -+#: ../shell/main.c:82 - msgid "Run evince in presentation mode" - msgstr "以簡報模式執行 evince" - --#: ../shell/main.c:76 -+#: ../shell/main.c:83 - msgid "Run evince as a previewer" - msgstr "以 evince 作為預覽程式" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "The word or phrase to find in the document" - msgstr "要在文件中尋找的字或詞" - --#: ../shell/main.c:77 -+#: ../shell/main.c:84 - msgid "STRING" - msgstr "字串" - --#: ../shell/main.c:81 -+#: ../shell/main.c:88 - msgid "[FILE…]" - msgstr "[檔案…]" - -@@ -1648,550 +1705,5 @@ - "It supports the following document formats: PDF, PS, EPS, XPS, DjVu, TIFF, " - "DVI (with SyncTeX), and Comic Books archives (CBR, CBT, CBZ, CB7)." - msgstr "" --"它支援以下文件格式:PDF、PS、EPS、XPS、DjVu、TIFF、DVI (使用 SyncTeX) 和漫畫" --"書壓縮檔(CBR、CBT、CBZ、CB7)。" -- --#~ msgid "Open a recently used document" --#~ msgstr "開啟最近使用的文件" -- --#~ msgid "" --#~ "Document Viewer\n" --#~ "Using %s (%s)" --#~ msgstr "" --#~ "文件檢視器\n" --#~ "使用 %s (%s)" -- --#~ msgid "_Bookmarks" --#~ msgstr "書籤(_B)" -- --#~ msgid "_Recent" --#~ msgstr "最近使用(_R)" -- --#~ msgid "_View in new window" --#~ msgstr "在新的視窗中檢視(_V)" -- --#~ msgid "Open a copy of the current document in a new window" --#~ msgstr "在新的視窗開啟目前文件的副本" -- --#~ msgid "Save a copy of the current document" --#~ msgstr "儲存一個目前文件的副本" -- --#~ msgid "Send current document by mail, instant message…" --#~ msgstr "以郵件、即時訊息傳送目前的文件…" -- --#~ msgid "Show the folder which contains this file in the file manager" --#~ msgstr "在檔案管理程式中顯示包含這個檔案的資料夾" -- --#~ msgid "Reload the document" --#~ msgstr "重新載入文件" -- --#~ msgid "Go to the first page" --#~ msgstr "回到第一頁" -- --#~ msgid "Go to the last page" --#~ msgstr "前往最後一頁" -- --#~ msgid "Go to Pa_ge" --#~ msgstr "前往頁(_G)" -- --#~ msgid "Go to Page" --#~ msgstr "前往頁" -- --#~ msgid "Add a bookmark for the current page" --#~ msgstr "將目前的頁面加入為書籤" -- --#~ msgid "Leave Fullscreen" --#~ msgstr "離開全螢幕" -- --#~ msgid "Leave fullscreen mode" --#~ msgstr "離開全螢幕模式" -- --#~ msgid "Start Presentation" --#~ msgstr "開始簡報" -- --#~ msgid "Start a presentation" --#~ msgstr "簡報式顯示" -- --#~ msgid "Show or hide the side pane" --#~ msgstr "顯示或隱藏側面窗格" -- --#~ msgid "Show odd pages on the left in dual mode" --#~ msgstr "在雙頁模式將奇數頁顯示於左邊" -- --#~ msgid "Expand the window to fill the screen" --#~ msgstr "將視窗展開為全螢幕" -- --#~ msgid "Run document as a presentation" --#~ msgstr "如同簡報般執行文件" -- --#~ msgid "Show page contents with the colors inverted" --#~ msgstr "以顏色反轉的方式顯示頁面內容" -- --#~ msgid "_Find…" --#~ msgstr "尋找(_F)…" -- --#~ msgid "Zoom" --#~ msgstr "縮放" -- --#~ msgid "History" --#~ msgstr "歷史紀錄" -- --#~ msgid "Open Folder" --#~ msgstr "開啟資料夾" -- --#~ msgid "Send To" --#~ msgstr "傳送給" -- --#~ msgid "Previous" --#~ msgstr "上一頁" -- --#~ msgid "Next" --#~ msgstr "下一頁" -- --#~ msgid "%s — Password Required" --#~ msgstr "%s — 需要密碼" -- --#~ msgid "File is not a valid .desktop file" --#~ msgstr "檔案不是有效的 .desktop 檔案" -- --#~ msgid "Unrecognized desktop file Version '%s'" --#~ msgstr "無法辨識的桌面檔案版本「%s」" -- --#~ msgid "Starting %s" --#~ msgstr "準備啟動 %s" -- --#~ msgid "Application does not accept documents on command line" --#~ msgstr "應用程式不接受以命令列開啟文件" -- --#~ msgid "Unrecognized launch option: %d" --#~ msgstr "無法辨識的啟動選項:%d" -- --#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" --#~ msgstr "不能傳送文件 URI 至「Type=Link」桌面項目" -- --#~ msgid "Not a launchable item" --#~ msgstr "不是可以啟動的項目" -- --#~ msgid "Disable connection to session manager" --#~ msgstr "停用到作業階段管理程式的連線" -- --#~ msgid "Specify file containing saved configuration" --#~ msgstr "指定含有已儲存組態的檔案" -- --#~ msgid "Specify session management ID" --#~ msgstr "指定作業階段管理 ID" -- --#~ msgid "ID" --#~ msgstr "ID" -- --#~ msgid "Session management options:" --#~ msgstr "作業階段管理選項:" -- --#~ msgid "Show session management options" --#~ msgstr "顯示作業階段管理選項" -- --#~ msgid "Fit Page" --#~ msgstr "符合頁面" -- --#~ msgid "Fit Width" --#~ msgstr "符合頁寬" -- --#~ msgid "By extension" --#~ msgstr "依延伸檔名" -- --#~ msgid "Send _To..." --#~ msgstr "傳送給(_T)…" -- --#~ msgid "Page %s — %s" --#~ msgstr "頁 %s — %s" -- --#~ msgid "Navigation" --#~ msgstr "導航" -- --#~ msgid "Back" --#~ msgstr "後退" -- --#~ msgid "Move across visited pages" --#~ msgstr "在已閱讀的頁面間移動" -- --#~ msgid "Show “_%s”" --#~ msgstr "顯示「%s」" -- --#~ msgid "_Move on Toolbar" --#~ msgstr "移至工具列(_M)" -- --#~ msgid "Move the selected item on the toolbar" --#~ msgstr "將選取的項目移至工具列" -- --#~ msgid "_Remove from Toolbar" --#~ msgstr "從工具列移除(_R)" -- --#~ msgid "Remove the selected item from the toolbar" --#~ msgstr "從工具列移除選取的項目" -- --#~ msgid "_Delete Toolbar" --#~ msgstr "刪除工具列(_D)" -- --#~ msgid "Remove the selected toolbar" --#~ msgstr "移除選取的工具列" -- --#~ msgid "Separator" --#~ msgstr "分隔線" -- --#~ msgid "Best Fit" --#~ msgstr "最適大小" -- --#~ msgid "Fit Page Width" --#~ msgstr "符合頁寬" -- --#~ msgid "_Best Fit" --#~ msgstr "最適大小(_B)" -- --#~ msgid "Fit Page _Width" --#~ msgstr "符合頁寬(_W)" -- --#~ msgid "Find:" --#~ msgstr "尋找:" -- --#~ msgid "Find Pre_vious" --#~ msgstr "找上一個(_V)" -- --#~ msgid "Find Ne_xt" --#~ msgstr "找下一個(_X)" -- --#~ msgid "There was an error displaying help" --#~ msgstr "顯示說明文件時發生錯誤" -- --#~ msgid "Toolbar Editor" --#~ msgstr "工具列編輯器" -- --#~ msgid "_File" --#~ msgstr "檔案(_F)" -- --#~ msgid "_Edit" --#~ msgstr "編輯(_E)" -- --#~ msgid "_View" --#~ msgstr "檢視(_V)" -- --#~ msgid "_Go" --#~ msgstr "前往(_G)" -- --#~ msgid "T_oolbar" --#~ msgstr "工具列(_O)" -- --#~ msgid "_Contents" --#~ msgstr "內容(_C)" -- --#~ msgid "_Toolbar" --#~ msgstr "工具列(_T)" -- --#~ msgid "Show or hide the toolbar" --#~ msgstr "顯示或隱藏工具列" -- --#~ msgid "_Dual (Even pages left)" --#~ msgstr "雙頁 (偶數頁在左) (_D)" -- --#~ msgid "Show two pages at once with even pages on the left" --#~ msgstr "一次顯示兩頁,偶數頁在左" -- --#~ msgid "Toggle case sensitive search" --#~ msgstr "選取後在搜尋時將區分大小寫" -- --#~ msgid "" --#~ "Boolean options available: true enables thumbnailing and false disables " --#~ "the creation of new thumbnails" --#~ msgstr "可用的布林選項:“true”會開啟縮圖功能,而“false”會停止建立新的縮圖" -- --#~ msgid "Enable thumbnailing of PDF Documents" --#~ msgstr "啟動 PDF 文件的縮圖功能" -- --#~ msgid "Thumbnail command for PDF Documents" --#~ msgstr "PDF 文件的縮圖命令" -- --#~ msgid "" --#~ "Valid command plus arguments for the PDF Document thumbnailer. See " --#~ "Nautilus thumbnailer documentation for more information." --#~ msgstr "" --#~ "正確的指令加上代表 PDF 文件縮圖的引數。請參見 Nautilus 縮圖文件以得到更多" --#~ "資訊。" -- --#~ msgid "Converting %s" --#~ msgstr "正在轉換 %s" -- --#~ msgid "%d of %d documents converted" --#~ msgstr "%d / %d 份文件已轉換" -- --#~ msgid "Converting metadata" --#~ msgstr "正在轉換中繼資料" -- --#~ msgid "" --#~ "The metadata format used by Evince has changed, and hence it needs to be " --#~ "migrated. If the migration is cancelled the metadata storage will not " --#~ "work." --#~ msgstr "" --#~ "Evince 所使用的中繼資料已經改變,因此需要做轉移。如果轉移的動作被取消,中" --#~ "繼資料的儲存就無法運作。" -- --#~ msgid "Impress Slides" --#~ msgstr "Impress 幻燈片" -- --#~ msgid "No error" --#~ msgstr "沒有錯誤" -- --#~ msgid "Not enough memory" --#~ msgstr "沒有足夠的記憶體" -- --#~ msgid "Cannot find ZIP signature" --#~ msgstr "找不到 ZIP 簽章" -- --#~ msgid "Invalid ZIP file" --#~ msgstr "無效的 ZIP 檔" -- --#~ msgid "Multi file ZIPs are not supported" --#~ msgstr "不支援分割式 ZIP 檔" -- --#~ msgid "Cannot read data from file" --#~ msgstr "無法從檔案讀取資訊" -- --#~ msgid "Cannot find file in the ZIP archive" --#~ msgstr "無法在 ZIP 壓縮檔中找到檔案" -- --#~ msgid "Unknown error" --#~ msgstr "不明的錯誤" -- --#~ msgid "Page Set_up…" --#~ msgstr "頁面設定(_U)…" -- --#~ msgid "Set up the page settings for printing" --#~ msgstr "設定列印用的頁面設定" -- --#~ msgid "DJVU document has incorrect format" --#~ msgstr "DJVU 文件有不正確的格式" -- --#~ msgid "Failed to create file “%s”: %s" --#~ msgstr "無法建立檔案“%s”:%s" -- --#~ msgid "Search string" --#~ msgstr "搜尋字串" -- --#~ msgid "The name of the string to be found" --#~ msgstr "欲搜尋的字串名稱" -- --#~ msgid "Case sensitive" --#~ msgstr "區分大小寫" -- --#~ msgid "TRUE for a case sensitive search" --#~ msgstr "TRUE 代表區分大小寫的搜尋" -- --#~ msgid "Highlight color" --#~ msgstr "標示顏色" -- --#~ msgid "Color of highlight for all matches" --#~ msgstr "用來標示所有符合字串的顏色" -- --#~ msgid "Current color" --#~ msgstr "目前的顏色" -- --#~ msgid "Color of highlight for the current match" --#~ msgstr "用來標示目前符合字串的顏色" -- --#~ msgid "Recover previous documents?" --#~ msgstr "是否復原前一份文件?" -- --#~ msgid "" --#~ "Evince appears to have exited unexpectedly the last time it was run. You " --#~ "can recover the opened documents." --#~ msgstr "Evince 在上次執行時似乎突然關閉了。您可以復原已開啟的文件。" -- --#~ msgid "_Don't Recover" --#~ msgstr "不要復原(_D)" -- --#~ msgid "Crash Recovery" --#~ msgstr "當機後復原" -- --#~ msgid "Print..." --#~ msgstr "列印…" -- --#~ msgid "Couldn't create symlink “%s”: " --#~ msgstr "無法建立符號連結「%s」:" -- --#~ msgid "Cannot open a copy." --#~ msgstr "無法開啟副本。" -- --#~ msgid "_Save a Copy..." --#~ msgstr "儲存副本(_S)…" -- --#~ msgid "_Print..." --#~ msgstr "列印(_P)…" -- --#~ msgid "_Find..." --#~ msgstr "尋找(_F)…" -- --#~ msgid "Co_nnect" --#~ msgstr "連線(_N)" -- --#~ msgid "Connect _anonymously" --#~ msgstr "匿名連線(_A)" -- --#~ msgid "Connect as u_ser:" --#~ msgstr "以使用者連線(_S):" -- --#~ msgid "_Username:" --#~ msgstr "使用者名稱(_U):" -- --#~ msgid "_Domain:" --#~ msgstr "網域(_D):" -- --#~ msgid "_Forget password immediately" --#~ msgstr "立刻忘掉密碼(_F) " -- --#~ msgid "_Remember password until you logout" --#~ msgstr "在您登出前記住密碼(_R)" -- --#~ msgid "_Remember forever" --#~ msgstr "永遠記住(_R)" -- --#~ msgid "File not available" --#~ msgstr "檔案不存在" -- --#~ msgid "Remote files aren't supported" --#~ msgstr "不支援遠端檔案" -- --#~ msgid "Find Next" --#~ msgstr "找下一個" -- --#~ msgid "Password Entry" --#~ msgstr "密碼輸入欄" -- --#~ msgid "Remember password for this session" --#~ msgstr "在此作業階段中記住密碼" -- --#~ msgid "Save password in keyring" --#~ msgstr "儲存密碼於鑰匙圈程式中" -- --#~ msgid "Title:" --#~ msgstr "標題:" -- --#~ msgid "%.2f x %.2f in" --#~ msgstr "%.2f x %.2f 寸" -- --#~ msgid "Incorrect password" --#~ msgstr "密碼不正確" -- --#~ msgid "Evince Document Viewer" --#~ msgstr "Evince 文件檢視器" -- --#~ msgid "BBox" --#~ msgstr "BBox" -- --#~ msgid "Letter" --#~ msgstr "Letter" -- --#~ msgid "Tabloid" --#~ msgstr "Tabloid" -- --#~ msgid "Ledger" --#~ msgstr "Ledger" -- --#~ msgid "Legal" --#~ msgstr "Legal" -- --#~ msgid "Statement" --#~ msgstr "陳述" -- --#~ msgid "Executive" --#~ msgstr "Executive" -- --#~ msgid "A0" --#~ msgstr "A0" -- --#~ msgid "A1" --#~ msgstr "A1" -- --#~ msgid "A2" --#~ msgstr "A2" -- --#~ msgid "A3" --#~ msgstr "A3" -- --#~ msgid "A4" --#~ msgstr "A4" -- --#~ msgid "A5" --#~ msgstr "A5" -- --#~ msgid "B4" --#~ msgstr "B4" -- --#~ msgid "B5" --#~ msgstr "B5" -- --#~ msgid "Folio" --#~ msgstr "Folio" -- --#~ msgid "Quarto" --#~ msgstr "Quarto" -- --#~ msgid "10x14" --#~ msgstr "10x14" -- --#~ msgid "Cannot open file “%s”." --#~ msgstr "無法開啟檔案“%s”。" -- --#~ msgid "" --#~ "Failed to load document “%s”. Ghostscript interpreter was not found in " --#~ "path" --#~ msgstr "無法載入檔案“%s”。在路徑中找不到 Ghostscript 解譯器" -- --#~ msgid "Encapsulated PostScript" --#~ msgstr "Encapsulated PostScript" -- --#~ msgid "PostScript" --#~ msgstr "PostScript" -- --#~ msgid "Interpreter failed." --#~ msgstr "解譯程式失誤。" -- --#~ msgid "Unhandled MIME type: “%s”" --#~ msgstr "無法處理的 MIME 類型:“%s”" -- --#~ msgid "Generating PDF is not supported" --#~ msgstr "不支援產生 PDF 文件" -- --#~ msgid "" --#~ "You were trying to print to a printer using the “%s” driver. This program " --#~ "requires a PostScript printer driver." --#~ msgstr "" --#~ "您剛剛試著利用“%s”印表機驅動程式,可是本程式需要 PostScript 印表機驅動程" --#~ "式。" -- --#~ msgid "Pages" --#~ msgstr "頁數" -- --#~ msgid "Images" --#~ msgstr "圖片" -- --#~ msgid "Open “%s”" --#~ msgstr "開啟“%s”" -- --#~ msgid "Empty" --#~ msgstr "空的" -- --#~ msgid "75%" --#~ msgstr "75%" -- --#~ msgid "No document loaded." --#~ msgstr "沒有載入任何文件。" -- --#~ msgid "Broken pipe." --#~ msgstr "管線作業中斷" -- --#~ msgid "Error while decompressing file “%s”:\n" --#~ msgstr "檔案“%s”解壓縮時產生錯誤:\n" -- --#~ msgid "File is not readable." --#~ msgstr "檔案為不可讀。" -- --#~ msgid "Document loaded." --#~ msgstr "文件已載入。" -+"它支援以下文件格式:PDF、PS、EPS、XPS、DjVu、TIFF、DVI (使用 SyncTeX) " -+"和漫畫書壓縮檔(CBR、CBT、CBZ、CB7)。" diff --git a/SOURCES/evince-3.14.2-translations.patch b/SOURCES/evince-3.14.2-translations.patch deleted file mode 100644 index 02d626e..0000000 --- a/SOURCES/evince-3.14.2-translations.patch +++ /dev/null @@ -1,1092 +0,0 @@ -Index: new/po/bn_IN.po -=================================================================== ---- new.orig/po/bn_IN.po -+++ new/po/bn_IN.po -@@ -92,8 +92,7 @@ msgid "" - "The document is composed of several files. One or more of these files cannot " - "be accessed." - msgstr "" --"একাধিক ফাইল একত্রিত করে এই ডকুমেন্ট নির্মিত হয়েছে ও এর মধ্যে এক অথবা একাধিক " --"ফাইল " -+"একাধিক ফাইল একত্রিত করে এই ডকুমেন্ট নির্মিত হয়েছে ও এর মধ্যে এক অথবা একাধিক ফাইল " - "ব্যবহার করা সম্ভব নয়।" - - #: ../backend/djvu/djvudocument.evince-backend.in.in.h:1 -@@ -170,10 +169,8 @@ msgid "" - "14 fonts. If the substitute fonts selected by fontconfig are not the same as " - "the fonts used to create the PDF, the rendering may not be correct." - msgstr "" --"এই নথিতে নন-এম্বেড করা ফন্ট রয়েছে যা PDF স্ট্যান্ডার্ড 14 ফন্ট ভুক্ত নয়। " --"fontconfig " --"দ্বারা নির্বাচিত বিকল্প ফন্টগুলি এবং PDF তৈরি করতে ব্যবহৃত ফন্টগুলি এক না " --"হলে, " -+"এই নথিতে নন-এম্বেড করা ফন্ট রয়েছে যা PDF স্ট্যান্ডার্ড 14 ফন্ট ভুক্ত নয়। fontconfig " -+"দ্বারা নির্বাচিত বিকল্প ফন্টগুলি এবং PDF তৈরি করতে ব্যবহৃত ফন্টগুলি এক না হলে, " - "রেন্ডারিং সঠিক নাও হতে পারে।" - - #: ../backend/pdf/ev-poppler.cc:1129 -@@ -332,12 +329,10 @@ msgid "Shrink the document" - msgstr "ডকুমেন্টের মাপ হ্রাস করুন" - - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:368 --#| msgid "Downloading document (%d%%)" - msgid "Download document" - msgstr "নথি ডাউনলোড করুন" - - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:381 --#| msgid "Print this document" - msgid "Print document" - msgstr "নথি মুদ্রণ করুন" - -@@ -370,8 +365,7 @@ msgstr "ডকুমেন্টের � - #: ../data/org.gnome.Evince.gschema.xml.in.h:2 - msgid "Override document restrictions, like restriction to copy or to print." - msgstr "" --"ডকুমেন্টের ক্ষেত্র ধার্য নিষেধাজ্ঞা যেমন কপি অথবা প্রিন্ট সংক্রান্ত, অগ্রাহ্য " --"করা হবে।" -+"ডকুমেন্টের ক্ষেত্র ধার্য নিষেধাজ্ঞা যেমন কপি অথবা প্রিন্ট সংক্রান্ত, অগ্রাহ্য করা হবে।" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:3 - msgid "Automatically reload the document" -@@ -398,8 +392,8 @@ msgid "" - "The maximum size that will be used to cache rendered pages, limits maximum " - "zoom level." - msgstr "" --"রেন্ডার্ড পৃষ্ঠাগুলি ক্যাশ করতে যে সর্বাধিক মাপ ব্যবহৃত হবে, তা সর্বাধিক জুম " --"স্তর সীমাবদ্ধ করে।" -+"রেন্ডার্ড পৃষ্ঠাগুলি ক্যাশ করতে যে সর্বাধিক মাপ ব্যবহৃত হবে, তা সর্বাধিক জুম স্তর " -+"সীমাবদ্ধ করে।" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:9 - msgid "" -@@ -410,7 +404,6 @@ msgstr "" - "দেখান।" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:10 --#| msgid "Adjust the zoom level" - msgid "Allow links to change the zoom level." - msgstr "লিঙ্কগুলিকে জুম স্তর পরিবর্তন করতে অনুমতি দিন।" - -@@ -484,7 +477,6 @@ msgstr "%d পৃষ্ঠা প্র� - - #. Initial state - #: ../libview/ev-print-operation.c:350 --#| msgid "Preparing to print…" - msgid "Preparing preview…" - msgstr "পূর্বরূপ প্রস্তুত করা হচ্ছে…" - -@@ -494,7 +486,6 @@ msgstr "সমাপ্তি..." - - #: ../libview/ev-print-operation.c:354 - #, c-format --#| msgid "Printing page %d of %d…" - msgid "Generating preview: page %d of %d" - msgstr "পূর্বরূপ উপস্থিত করা হচ্ছে: %d পৃষ্ঠা %d এর মধ্যে" - -@@ -509,7 +500,6 @@ msgid "Printing page %d of %d…" - msgstr "%d পৃষ্ঠা প্রদর্শন করা হচ্ছে, সর্বমোট %d..." - - #: ../libview/ev-print-operation.c:1214 --#| msgid "Postscript is not supported by this printer." - msgid "Requested format is not supported by this printer." - msgstr "অনুরোধ জানানো ফর্ম্যাট এই প্রিন্টার দ্বারা সমর্থিত নয়।" - -@@ -523,9 +513,7 @@ msgstr "সতর্কবার্ত� - - #: ../libview/ev-print-operation.c:1280 - msgid "Your print range selection does not include any pages" --msgstr "" --"প্রিন্টের উদ্দেশ্যে আপনার নির্বাচিত পৃষ্ঠার সীমার মধ্যে কোনো পৃষ্ঠা উপস্থিত " --"নেই" -+msgstr "প্রিন্টের উদ্দেশ্যে আপনার নির্বাচিত পৃষ্ঠার সীমার মধ্যে কোনো পৃষ্ঠা উপস্থিত নেই" - - #. translators: Title of the print dialog - #. translators: Print document currently shown in the Print Preview window -@@ -563,14 +551,11 @@ msgstr "" - "\n" - "• \"শূণ্য\": পৃষ্ঠার মাপ পরিবর্তিত হবে না।\n" - "\n" --"• \"প্রিন্ট করার যোগ্য মাপে সংকুচন\": প্রিন্ট করার যোগ্য অংশের তুলনায় নথির " --"মধ্যে " -+"• \"প্রিন্ট করার যোগ্য মাপে সংকুচন\": প্রিন্ট করার যোগ্য অংশের তুলনায় নথির মধ্যে " - "উপস্থিত বড় মাপের পাতাগুলি, প্রিন্টারের পাতার মাপ অনুযায়ী সংকুচন করা হবে।\n" - "\n" --"• \"প্রিন্ট করার যোগ্য মাপে নির্ধারণ\": প্রিন্টারের পাতার মধ্যে প্রিন্ট করার " --"যোগ্য " --"অংশের মধ্যে সুসংগতভাবে নথির পাতাগুলি নির্ধারণের জন্য নথির পাতাগুলি মাপ বড় " --"অথবা ছোট " -+"• \"প্রিন্ট করার যোগ্য মাপে নির্ধারণ\": প্রিন্টারের পাতার মধ্যে প্রিন্ট করার যোগ্য " -+"অংশের মধ্যে সুসংগতভাবে নথির পাতাগুলি নির্ধারণের জন্য নথির পাতাগুলি মাপ বড় অথবা ছোট " - "করা হবে।\n" - - #: ../libview/ev-print-operation.c:1984 -@@ -582,8 +567,7 @@ msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." - msgstr "" --"নথির প্রত্যেকটি পৃষ্ঠার দিশার সাথে সামঞ্জস্য বজায় রাখার জন্য প্রিন্টারের " --"পৃষ্ঠার দিশা " -+"নথির প্রত্যেকটি পৃষ্ঠার দিশার সাথে সামঞ্জস্য বজায় রাখার জন্য প্রিন্টারের পৃষ্ঠার দিশা " - "আবর্তিত হবে। নথির পৃষ্ঠাগুলি প্রিন্টারের পৃষ্ঠার কেন্দ্রে অবস্থিত হবে।" - - #: ../libview/ev-print-operation.c:1992 -@@ -594,8 +578,7 @@ msgstr "ডকুমেন্টের � - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." --msgstr "" --"সক্রিয় থাকলে, ডকুমেন্টের পৃষ্ঠার মাপের কাগজে প্রতিটি পৃষ্ঠা প্রিন্ট করা হবে।" -+msgstr "সক্রিয় থাকলে, ডকুমেন্টের পৃষ্ঠার মাপের কাগজে প্রতিটি পৃষ্ঠা প্রিন্ট করা হবে।" - - #: ../libview/ev-print-operation.c:2094 - msgid "Page Handling" -@@ -720,9 +703,7 @@ msgstr "সম্পূর্ণ উই� - - #: ../previewer/ev-previewer-window.c:321 - msgid "Make the current document fill the window width" --msgstr "" --"উইন্ডোর সম্পূর্ণ প্রস্থের মাপ অনুসারে প্রদর্শনের জন্য ডকুমেন্টের মাপ বৃদ্ধি " --"করুন" -+msgstr "উইন্ডোর সম্পূর্ণ প্রস্থের মাপ অনুসারে প্রদর্শনের জন্য ডকুমেন্টের মাপ বৃদ্ধি করুন" - - #: ../previewer/ev-previewer-window.c:536 - msgid "Page" -@@ -933,10 +914,8 @@ msgid "" - "Foundation; either version 2 of the License, or (at your option) any later " - "version.\n" - msgstr "" --"Evince একটি মুক্ত সফ্টওয়্যার; Free Software Foundation দ্বারা প্রকাশিত GNU " --"General " --"Public License'র শর্তানুযায়ী এটি বিতরণ ও পরিবর্তন করা যাবে; লাইনসেন্সের " --"সংস্করণ ২ " -+"Evince একটি মুক্ত সফ্টওয়্যার; Free Software Foundation দ্বারা প্রকাশিত GNU General " -+"Public License'র শর্তানুযায়ী এটি বিতরণ ও পরিবর্তন করা যাবে; লাইনসেন্সের সংস্করণ ২ " - "অথবা (আপনার সুবিধানুযায়ী) ঊর্ধ্বতন কোনো সংস্করণের অধীন।\n" - - #: ../shell/ev-application.c:999 -@@ -946,12 +925,9 @@ msgid "" - "FOR A PARTICULAR PURPOSE. See the GNU General Public License for more " - "details.\n" - msgstr "" --"Evince বিতরণ করার মূল উদ্দেশ্য যে ব্যবহারকারীরা এর দ্বারা উপকৃত হবেন, কিন্তু " --"এটির " --"জন্য কোনো সুস্পষ্ট ওয়ারেন্টি উপস্থিত নেই; বাণিজ্যিক ও কোনো সুনির্দিষ্ট কর্ম " --"সাধনের জন্য " --"অন্তর্নিহীত ওয়ারেন্টিও অনুপস্থিত। অধিক জানতে GNU General Public License " --"পড়ুন।\n" -+"Evince বিতরণ করার মূল উদ্দেশ্য যে ব্যবহারকারীরা এর দ্বারা উপকৃত হবেন, কিন্তু এটির " -+"জন্য কোনো সুস্পষ্ট ওয়ারেন্টি উপস্থিত নেই; বাণিজ্যিক ও কোনো সুনির্দিষ্ট কর্ম সাধনের জন্য " -+"অন্তর্নিহীত ওয়ারেন্টিও অনুপস্থিত। অধিক জানতে GNU General Public License পড়ুন।\n" - - #: ../shell/ev-application.c:1003 - msgid "" -@@ -959,10 +935,8 @@ msgid "" - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " - "Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - msgstr "" --"Evince'র সাথে GNU General Public License'র একটি প্রতিলিপি উপলব্ধ হওয়া উচিত; " --"না " --"থাকলে নিম্নলিখিত ঠিকানায় লিখে তা সংগ্রহ করুন Free Software Foundation, Inc., " --"51 " -+"Evince'র সাথে GNU General Public License'র একটি প্রতিলিপি উপলব্ধ হওয়া উচিত; না " -+"থাকলে নিম্নলিখিত ঠিকানায় লিখে তা সংগ্রহ করুন Free Software Foundation, Inc., 51 " - "Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\n" - - #: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 -@@ -970,7 +944,6 @@ msgid "Evince" - msgstr "Evince" - - #: ../shell/ev-application.c:1026 --#| msgid "© 1996–2012 The Evince authors" - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996–2014 The Evince authors" - -@@ -1005,8 +978,7 @@ msgid "" - "This document is locked and can only be read by entering the correct " - "password." - msgstr "" --"ডকুমেন্ট বর্তমানে লক করা আছে ও শুধুমাত্র পাসওয়ার্ড উল্লেখ করা হলে সেটি মুক্ত " --"করা হবে।" -+"ডকুমেন্ট বর্তমানে লক করা আছে ও শুধুমাত্র পাসওয়ার্ড উল্লেখ করা হলে সেটি মুক্ত করা হবে।" - - #: ../shell/ev-password-view.c:151 ../shell/ev-password-view.c:269 - msgid "_Unlock Document" -@@ -1021,8 +993,7 @@ msgstr "পাসওয়ার্ড ল� - msgid "" - "The document “%s” is locked and requires a password before it can be opened." - msgstr "" --"“%s” ডকুমেন্ট বর্তমানে লক করা আছে ও মুক্ত করার জন্য পাসওয়ার্ড উল্লেখ করা " --"আবশ্যক।" -+"“%s” ডকুমেন্ট বর্তমানে লক করা আছে ও মুক্ত করার জন্য পাসওয়ার্ড উল্লেখ করা আবশ্যক।" - - #: ../shell/ev-password-view.c:303 - msgid "Password required" -@@ -1159,12 +1130,10 @@ msgid "Find a word or phrase in the docu - msgstr "ডকুমেন্টের মধ্যে একটি শব্দ অথবা পংক্তি অনুসন্ধান করুন" - - #: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 --#| msgid "Find options" - msgid "File options" - msgstr "ফাইল বিকল্প" - - #: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 --#| msgid "Find options" - msgid "View options" - msgstr "দেখার বিকল্প" - -@@ -1182,7 +1151,6 @@ msgstr "ডকুমেন্টের � - - #: ../shell/ev-window.c:1822 ../shell/ev-window.c:1990 - #, c-format --#| msgid "Unable to open document" - msgid "Unable to open document “%s”." - msgstr "“%s” নথি খুলতে ব্যর্থ।" - -@@ -1277,8 +1245,7 @@ msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." - msgstr "" --"ডকুমেন্টের মধ্যে উপস্থিত ফর্মের ক্ষেত্রে মান পূরণ করা হয়েছে। প্রতিলিপি " --"সংরক্ষণ না করা " -+"ডকুমেন্টের মধ্যে উপস্থিত ফর্মের ক্ষেত্রে মান পূরণ করা হয়েছে। প্রতিলিপি সংরক্ষণ না করা " - "হলে এই পরিবর্তনগুলি স্থায়ীরূপে বর্জিত হবে।" - - #: ../shell/ev-window.c:3587 -@@ -1286,8 +1253,7 @@ msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." - msgstr "" --"ডকুমেন্টের মধ্যে নতুন ও পরিবর্তিত টিকা উপস্থিত রয়েছে। প্রতিলিপি সংরক্ষণ না " --"করা হলে " -+"ডকুমেন্টের মধ্যে নতুন ও পরিবর্তিত টিকা উপস্থিত রয়েছে। প্রতিলিপি সংরক্ষণ না করা হলে " - "পরিবর্তনগুলি স্থায়ী রূপে মুছে যাবে।" - - #: ../shell/ev-window.c:3594 -@@ -1306,8 +1272,7 @@ msgstr "একটি প্রতিল� - #: ../shell/ev-window.c:3691 - #, c-format - msgid "Wait until print job “%s” finishes before closing?" --msgstr "" --"বন্ধ করার পূর্বে “%s” প্রিন্টের কাজ সমাপ্তি পর্যন্ত অপেক্ষা করা হবে কি?" -+msgstr "বন্ধ করার পূর্বে “%s” প্রিন্টের কাজ সমাপ্তি পর্যন্ত অপেক্ষা করা হবে কি?" - - #. TRANS: the singular form is not really used as n_print_jobs > 1 - #. but some languages distinguish between different plurals forms, -@@ -1318,18 +1283,15 @@ msgid "There is %d print job active. Wai - msgid_plural "" - "There are %d print jobs active. Wait until print finishes before closing?" - msgstr[0] "" --"%d-টি প্রিন্টের কাজ বর্তমানে সক্রিয় রয়েছে। বন্ধ করার পূর্বে এইগুলির সমাপ্তি " --"পর্যন্ত " -+"%d-টি প্রিন্টের কাজ বর্তমানে সক্রিয় রয়েছে। বন্ধ করার পূর্বে এইগুলির সমাপ্তি পর্যন্ত " - "অপেক্ষা করা হবে কি?" - msgstr[1] "" --"%d-টি প্রিন্টের কাজ বর্তমানে সক্রিয় রয়েছে। বন্ধ করার পূর্বে এইগুলির সমাপ্তি " --"পর্যন্ত " -+"%d-টি প্রিন্টের কাজ বর্তমানে সক্রিয় রয়েছে। বন্ধ করার পূর্বে এইগুলির সমাপ্তি পর্যন্ত " - "অপেক্ষা করা হবে কি?" - - #: ../shell/ev-window.c:3712 - msgid "If you close the window, pending print jobs will not be printed." --msgstr "" --"উইন্ডো বন্ধ করা হলে, প্রিন্টের জন্য অপেক্ষারত কাজগুলি প্রিন্ট করা হবে না।" -+msgstr "উইন্ডো বন্ধ করা হলে, প্রিন্টের জন্য অপেক্ষারত কাজগুলি প্রিন্ট করা হবে না।" - - #: ../shell/ev-window.c:3716 - msgid "Cancel _print and Close" -@@ -1376,10 +1338,10 @@ msgid "" - "moveable cursor in text pages, allowing you to move around and select text " - "with your keyboard. Do you want to enable the caret navigation?" - msgstr "" --"F7 টেপা হলে তা ক্যারেট নেভিগেশন চালু বা বন্ধ করে। এই বৈশিষ্ট্য পাঠ্য " --"পৃষ্ঠাগুলিতে একটি অবস্থান পরিবর্তনযোগ্য কার্সর রাখে, যার মাধ্যমে অাপনি " --"অবস্থান পরিবর্তন করতে পারবেন এবং অাপনার কীবোর্ড দিয়ে পাঠ্য নির্বাচন করতে " --"পারবেন। অাপনি কি ক্যারেট নেভিগেশন সক্রিয় করতে চান?" -+"F7 টেপা হলে তা ক্যারেট নেভিগেশন চালু বা বন্ধ করে। এই বৈশিষ্ট্য পাঠ্য পৃষ্ঠাগুলিতে " -+"একটি অবস্থান পরিবর্তনযোগ্য কার্সর রাখে, যার মাধ্যমে অাপনি অবস্থান পরিবর্তন করতে " -+"পারবেন এবং অাপনার কীবোর্ড দিয়ে পাঠ্য নির্বাচন করতে পারবেন। অাপনি কি ক্যারেট " -+"নেভিগেশন সক্রিয় করতে চান?" - - #: ../shell/ev-window.c:5522 - msgid "Don't show this message again" -@@ -1418,12 +1380,10 @@ msgid "Save Attachment" - msgstr "সংযুক্ত বস্তু সংরক্ষণ করুন" - - #: ../shell/ev-window-title.c:118 --#| msgid "Open Document" - msgid "Recent Documents" - msgstr "সাম্প্রতিক নথিপত্র" - - #: ../shell/ev-window-title.c:153 ../shell/ev-window-title.c:157 --#| msgid "Password required" - msgid "Password Required" - msgstr "পাসওয়ার্ড প্রয়োজন" - -@@ -1536,7 +1496,6 @@ msgid "[FILE…]" - msgstr "[FILE…]" - - #: ../shell/evince-menus.ui.h:1 --#| msgid "Open in New _Window" - msgid "_New Window" - msgstr "নতুন উইন্ডো (_N)" - -@@ -1577,37 +1536,30 @@ msgid "Rotate _Right" - msgstr "ডানদিকে ঘোরানো হবে (_R)" - - #: ../shell/evince-menus.ui.h:11 --#| msgid "_First Page" - msgid "First Page" - msgstr "প্রথম পৃষ্ঠা" - - #: ../shell/evince-menus.ui.h:12 --#| msgid "_Previous Page" - msgid "Previous Page" - msgstr "পূর্ববর্তী পৃষ্ঠা" - - #: ../shell/evince-menus.ui.h:13 --#| msgid "_Next Page" - msgid "Next Page" - msgstr "পরবর্তী পৃষ্ঠা" - - #: ../shell/evince-menus.ui.h:14 --#| msgid "_Last Page" - msgid "Last Page" - msgstr "সর্বশেষ পৃষ্ঠা" - - #: ../shell/evince-menus.ui.h:15 --#| msgid "Zoom In" - msgid "Zoom _In" - msgstr "বড় করে প্রদর্শন (_I)" - - #: ../shell/evince-menus.ui.h:16 --#| msgid "Zoom Out" - msgid "Zoom _Out" - msgstr "ছোট করে প্রদর্শন (_O)" - - #: ../shell/evince-menus.ui.h:17 --#| msgid "_Odd pages left" - msgid "_Odd Pages Left" - msgstr "অযুগ্ম পৃষ্ঠা অবশিষ্ট (_O)" - -@@ -1632,7 +1584,6 @@ msgid "_Save a Copy…" - msgstr "একটি প্রতিলিপি সংরক্ষণ করুন...(_S)" - - #: ../shell/evince-menus.ui.h:23 --#| msgid "Send To" - msgid "Send _To…" - msgstr "এখানে পাঠান (_T)…" - -@@ -1645,7 +1596,6 @@ msgid "_Print…" - msgstr "প্রিন্ট করুন...(_P)" - - #: ../shell/evince-menus.ui.h:26 --#| msgid "P_roperties" - msgid "P_roperties…" - msgstr "বৈশিষ্ট্যাবলী (_r)…" - -@@ -1666,7 +1616,6 @@ msgid "_Add Bookmark" - msgstr "বুকমার্ক যোগ করুন (_A)" - - #: ../shell/evince-menus.ui.h:31 --#| msgid "Close" - msgid "_Close" - msgstr "বন্ধ করুন (_C)" - -@@ -1711,7 +1660,6 @@ msgid "Annotation Properties…" - msgstr "টিকার বৈশিষ্ট্য…" - - #: ../shell/evince-menus.ui.h:47 --#| msgid "Annotations" - msgid "Remove Annotation" - msgstr "টীকা সরান" - -@@ -1728,8 +1676,8 @@ msgid "" - "It supports the following document formats: PDF, PS, EPS, XPS, DjVu, TIFF, " - "DVI (with SyncTeX), and Comic Books archives (CBR, CBT, CBZ, CB7)." - msgstr "" --"এটি নিম্নলিখিত নথি ফর্ম্যাট সমর্থন করে: PDF, PS, EPS, XPS, DjVu, TIFF, " --"DVI (SyncTeX সমেত), এবং কমিক বই সংরক্ষণাগার (CBR, CBT, CBZ, CB7)।" -+"এটি নিম্নলিখিত নথি ফর্ম্যাট সমর্থন করে: PDF, PS, EPS, XPS, DjVu, TIFF, DVI " -+"(SyncTeX সমেত), এবং কমিক বই সংরক্ষণাগার (CBR, CBT, CBZ, CB7)।" - - #~ msgid "File is not a valid .desktop file" - #~ msgstr "ফাইলটি বৈধ .desktop ফাইল নয়" -Index: new/po/ja.po -=================================================================== ---- new.orig/po/ja.po -+++ new/po/ja.po -@@ -13,7 +13,8 @@ - msgid "" - msgstr "" - "Project-Id-Version: evince master\n" --"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=evince&keywords=I18N+L10N&component=general\n" -+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" -+"product=evince&keywords=I18N+L10N&component=general\n" - "POT-Creation-Date: 2014-09-18 03:41+0000\n" - "PO-Revision-Date: 2014-09-18 22:47+0900\n" - "Last-Translator: Jiro Matsuzawa \n" -@@ -26,8 +27,11 @@ msgstr "" - - #: ../backend/comics/comics-document.c:210 - #, c-format --msgid "Error launching the command “%s” in order to decompress the comic book: %s" --msgstr "コミックブックを解凍するためコマンド “%s” を起動する際にエラーが発生しました: %s" -+msgid "" -+"Error launching the command “%s” in order to decompress the comic book: %s" -+msgstr "" -+"コミックブックを解凍するためコマンド “%s” を起動する際にエラーが発生しまし" -+"た: %s" - - #: ../backend/comics/comics-document.c:224 - #, c-format -@@ -85,8 +89,12 @@ msgid "DjVu document has incorrect forma - msgstr "DjVu ドキュメントの書式が壊れています" - - #: ../backend/djvu/djvu-document.c:262 --msgid "The document is composed of several files. One or more of these files cannot be accessed." --msgstr "そのドキュメントは複数のファイルを結合したものです。それらのファイルは個別にアクセスすることはできません。" -+msgid "" -+"The document is composed of several files. One or more of these files cannot " -+"be accessed." -+msgstr "" -+"そのドキュメントは複数のファイルを結合したものです。それらのファイルは個別に" -+"アクセスすることはできません。" - - #: ../backend/djvu/djvudocument.evince-backend.in.in.h:1 - #: ../backend/djvu/evince-djvudocument.metainfo.xml.in.in.h:1 -@@ -157,8 +165,14 @@ msgid "Unknown font type" - msgstr "不明なフォントの種類です" - - #: ../backend/pdf/ev-poppler.cc:1124 --msgid "This document contains non-embedded fonts that are not from the PDF Standard 14 fonts. If the substitute fonts selected by fontconfig are not the same as the fonts used to create the PDF, the rendering may not be correct." --msgstr "このドキュメントには、PDF 標準の 14 フォント以外に埋め込みでないフォントが含まれています。fontconfig による代替フォントが PDF 生成に使われたフォントと異なる場合、適切なレンダリングがおこなわれない可能性があります。" -+msgid "" -+"This document contains non-embedded fonts that are not from the PDF Standard " -+"14 fonts. If the substitute fonts selected by fontconfig are not the same as " -+"the fonts used to create the PDF, the rendering may not be correct." -+msgstr "" -+"このドキュメントには、PDF 標準の 14 フォント以外に埋め込みでないフォントが含" -+"まれています。fontconfig による代替フォントが PDF 生成に使われたフォントと異" -+"なる場合、適切なレンダリングがおこなわれない可能性があります。" - - #: ../backend/pdf/ev-poppler.cc:1129 - msgid "All fonts are either standard or embedded." -@@ -335,7 +349,9 @@ msgstr "複数ページのドキュメ� - - #: ../data/evince.desktop.in.in.h:3 - msgid "pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;" --msgstr "pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;ポストスクリプト;ドキュメント;文書;プレゼンテーション;" -+msgstr "" -+"pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation;ポストスクリプト;ド" -+"キュメント;文書;プレゼンテーション;" - - #: ../data/evince-previewer.desktop.in.in.h:1 - msgid "Print Preview" -@@ -374,16 +390,21 @@ msgid "Page cache size in MiB" - msgstr "ページキャッシュサイズ (MiB)" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:8 --msgid "The maximum size that will be used to cache rendered pages, limits maximum zoom level." --msgstr "描画ページのキャッシュに使用される最大サイズです。この値によって最大ズームレベルが制限されます。" -+msgid "" -+"The maximum size that will be used to cache rendered pages, limits maximum " -+"zoom level." -+msgstr "" -+"描画ページのキャッシュに使用される最大サイズです。この値によって最大ズームレ" -+"ベルが制限されます。" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:9 --msgid "Show a dialog to confirm that the user wants to activate the caret navigation." -+msgid "" -+"Show a dialog to confirm that the user wants to activate the caret " -+"navigation." - msgstr "キャレット移動を有効にするかどうか確認ダイアログを表示する" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:10 - #, fuzzy --#| msgid "Adjust the zoom level" - msgid "Allow links to change the zoom level." - msgstr "ズームレベルを調節します" - -@@ -515,37 +536,50 @@ msgstr "印刷可能な領域に合わ� - - #: ../libview/ev-print-operation.c:1972 - msgid "" --"Scale document pages to fit the selected printer page. Select from one of the following:\n" -+"Scale document pages to fit the selected printer page. Select from one of " -+"the following:\n" - "\n" - "• \"None\": No page scaling is performed.\n" - "\n" --"• \"Shrink to Printable Area\": Document pages larger than the printable area are reduced to fit the printable area of the printer page.\n" -+"• \"Shrink to Printable Area\": Document pages larger than the printable " -+"area are reduced to fit the printable area of the printer page.\n" - "\n" --"• \"Fit to Printable Area\": Document pages are enlarged or reduced as required to fit the printable area of the printer page.\n" -+"• \"Fit to Printable Area\": Document pages are enlarged or reduced as " -+"required to fit the printable area of the printer page.\n" - msgstr "" --"選択されたプリンターページに合わせてドキュメントページを拡大縮小します。以下から1つ選択してください:\n" -+"選択されたプリンターページに合わせてドキュメントページを拡大縮小します。以下" -+"から1つ選択してください:\n" - "\n" - "• \"なし\": ページの拡大縮小は行われません。\n" - "\n" --"• \"印刷可能な領域に合わせて縮小\": 印刷可能な領域よりドキュメントページが大きな場合はプリンターページの印刷可能な領域に合わせて縮小します。\n" -+"• \"印刷可能な領域に合わせて縮小\": 印刷可能な領域よりドキュメントページが大" -+"きな場合はプリンターページの印刷可能な領域に合わせて縮小します。\n" - "\n" --"• \"印刷可能な領域に合わせる\": 必要に応じてプリンターページの印刷可能な領域に合わせてドキュメントページの拡大または縮小を行います。\n" -+"• \"印刷可能な領域に合わせる\": 必要に応じてプリンターページの印刷可能な領域" -+"に合わせてドキュメントページの拡大または縮小を行います。\n" - - #: ../libview/ev-print-operation.c:1984 - msgid "Auto Rotate and Center" - msgstr "自動回転して中央揃え" - - #: ../libview/ev-print-operation.c:1987 --msgid "Rotate printer page orientation of each page to match orientation of each document page. Document pages will be centered within the printer page." --msgstr "各ページのプリンターページ方向を回転して各ドキュメントページの方向に合わせます。ドキュメントページはプリンターページ内の中央に配置されます。" -+msgid "" -+"Rotate printer page orientation of each page to match orientation of each " -+"document page. Document pages will be centered within the printer page." -+msgstr "" -+"各ページのプリンターページ方向を回転して各ドキュメントページの方向に合わせま" -+"す。ドキュメントページはプリンターページ内の中央に配置されます。" - - #: ../libview/ev-print-operation.c:1992 - msgid "Select page size using document page size" - msgstr "ドキュメントのページサイズを利用してページサイズを選択する" - - #: ../libview/ev-print-operation.c:1994 --msgid "When enabled, each page will be printed on the same size paper as the document page." --msgstr "有効にした場合、各ページはドキュメントページと同じサイズの紙に印刷されます。" -+msgid "" -+"When enabled, each page will be printed on the same size paper as the " -+"document page." -+msgstr "" -+"有効にした場合、各ページはドキュメントページと同じサイズの紙に印刷されます。" - - #: ../libview/ev-print-operation.c:2094 - msgid "Page Handling" -@@ -872,16 +906,36 @@ msgid "Close" - msgstr "閉じる" - - #: ../shell/ev-application.c:995 --msgid "Evince is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n" --msgstr "Evince はフリーソフトウェアです; フリーソフトウェア財団が発行する GNU 一般公衆利用許諾契約書の第二版、あるいはそれ以降の版が定める条項の下で本プログラムを再頒布または変更することができます。\n" -+msgid "" -+"Evince is free software; you can redistribute it and/or modify it under the " -+"terms of the GNU General Public License as published by the Free Software " -+"Foundation; either version 2 of the License, or (at your option) any later " -+"version.\n" -+msgstr "" -+"Evince はフリーソフトウェアです; フリーソフトウェア財団が発行する GNU 一般公" -+"衆利用許諾契約書の第二版、あるいはそれ以降の版が定める条項の下で本プログラム" -+"を再頒布または変更することができます。\n" - - #: ../shell/ev-application.c:999 --msgid "Evince is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n" --msgstr "Evince は役立つものであることを期待して配布されていますが、完全に無保証です。商用利用または特定の目的における適合性の保証はありません。詳細は GNU 一般公衆利用許諾契約書をご覧ください。\n" -+msgid "" -+"Evince is distributed in the hope that it will be useful, but WITHOUT ANY " -+"WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS " -+"FOR A PARTICULAR PURPOSE. See the GNU General Public License for more " -+"details.\n" -+msgstr "" -+"Evince は役立つものであることを期待して配布されていますが、完全に無保証です。" -+"商用利用または特定の目的における適合性の保証はありません。詳細は GNU 一般公衆" -+"利用許諾契約書をご覧ください。\n" - - #: ../shell/ev-application.c:1003 --msgid "You should have received a copy of the GNU General Public License along with Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n" --msgstr "あなたは、本プログラムと一緒に GNU 一般公衆利用許諾契約書の写しを受け取っているはずです。そうでない場合は、Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA まで手紙を書いてください。\n" -+msgid "" -+"You should have received a copy of the GNU General Public License along with " -+"Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " -+"Street, Fifth Floor, Boston, MA 02110-1301 USA\n" -+msgstr "" -+"あなたは、本プログラムと一緒に GNU 一般公衆利用許諾契約書の写しを受け取ってい" -+"るはずです。そうでない場合は、Free Software Foundation, Inc., 51 Franklin " -+"Street, Fifth Floor, Boston, MA 02110-1301 USA まで手紙を書いてください。\n" - - #: ../shell/ev-application.c:1024 ../evince.appdata.xml.in.h:1 - msgid "Evince" -@@ -923,8 +977,12 @@ msgid "Loading…" - msgstr "読み込み中です…" - - #: ../shell/ev-password-view.c:142 --msgid "This document is locked and can only be read by entering the correct password." --msgstr "このドキュメントはロックされているので、正しいパスワードを入力したときのみ読み込みが可能です。" -+msgid "" -+"This document is locked and can only be read by entering the correct " -+"password." -+msgstr "" -+"このドキュメントはロックされているので、正しいパスワードを入力したときのみ読" -+"み込みが可能です。" - - #: ../shell/ev-password-view.c:151 ../shell/ev-password-view.c:269 - msgid "_Unlock Document" -@@ -936,7 +994,8 @@ msgstr "パスワードの入力" - - #: ../shell/ev-password-view.c:300 - #, c-format --msgid "The document “%s” is locked and requires a password before it can be opened." -+msgid "" -+"The document “%s” is locked and requires a password before it can be opened." - msgstr "ロックされているドキュメント \"%s\" を開くにはパスワードが必要です。" - - #: ../shell/ev-password-view.c:303 -@@ -1184,12 +1243,20 @@ msgid "Printing job “%s”" - msgstr "印刷ジョブ \"%s\"" - - #: ../shell/ev-window.c:3583 --msgid "Document contains form fields that have been filled out. If you don't save a copy, changes will be permanently lost." --msgstr "ドキュメントには内容を埋めたフォームフィールドが含まれています。名前を付けて保存しない場合は変更点は失われます。" -+msgid "" -+"Document contains form fields that have been filled out. If you don't save a " -+"copy, changes will be permanently lost." -+msgstr "" -+"ドキュメントには内容を埋めたフォームフィールドが含まれています。名前を付けて" -+"保存しない場合は変更点は失われます。" - - #: ../shell/ev-window.c:3587 --msgid "Document contains new or modified annotations. If you don't save a copy, changes will be permanently lost." --msgstr "ドキュメントには新規もしくは更新された注釈が含まれています。名前を付けて保存しない場合は変更点は失われます。" -+msgid "" -+"Document contains new or modified annotations. If you don't save a copy, " -+"changes will be permanently lost." -+msgstr "" -+"ドキュメントには新規もしくは更新された注釈が含まれています。名前を付けて保存" -+"しない場合は変更点は失われます。" - - #: ../shell/ev-window.c:3594 - #, c-format -@@ -1215,8 +1282,11 @@ msgstr "印刷ジョブの \"%s\" が完 - #: ../shell/ev-window.c:3697 - #, c-format - msgid "There is %d print job active. Wait until print finishes before closing?" --msgid_plural "There are %d print jobs active. Wait until print finishes before closing?" --msgstr[0] "現在 %d 個の印刷ジョブがあります。すべてのジョブが完了するまで、閉じずに待機しますか?" -+msgid_plural "" -+"There are %d print jobs active. Wait until print finishes before closing?" -+msgstr[0] "" -+"現在 %d 個の印刷ジョブがあります。すべてのジョブが完了するまで、閉じずに待機" -+"しますか?" - - #: ../shell/ev-window.c:3712 - msgid "If you close the window, pending print jobs will not be printed." -@@ -1261,8 +1331,14 @@ msgid "_Enable" - msgstr "有効(_E)" - - #: ../shell/ev-window.c:5517 --msgid "Pressing F7 turns the caret navigation on or off. This feature places a moveable cursor in text pages, allowing you to move around and select text with your keyboard. Do you want to enable the caret navigation?" --msgstr "F7 を押すとキャレット移動の有効無効を切り替えます。この機能を有効にすると、移動可能なカーソルがテキストページに表示され、キーボード操作で移動したり、テキストを選択したりできるようになります。キャレット移動を有効にしますか?" -+msgid "" -+"Pressing F7 turns the caret navigation on or off. This feature places a " -+"moveable cursor in text pages, allowing you to move around and select text " -+"with your keyboard. Do you want to enable the caret navigation?" -+msgstr "" -+"F7 を押すとキャレット移動の有効無効を切り替えます。この機能を有効にすると、移" -+"動可能なカーソルがテキストページに表示され、キーボード操作で移動したり、テキ" -+"ストを選択したりできるようになります。キャレット移動を有効にしますか?" - - #: ../shell/ev-window.c:5522 - msgid "Don't show this message again" -@@ -1593,11 +1669,14 @@ msgid "This is a document viewer for the - msgstr "" - - #: ../evince.appdata.xml.in.h:4 --msgid "It supports the following document formats: PDF, PS, EPS, XPS, DjVu, TIFF, DVI (with SyncTeX), and Comic Books archives (CBR, CBT, CBZ, CB7)." -+msgid "" -+"It supports the following document formats: PDF, PS, EPS, XPS, DjVu, TIFF, " -+"DVI (with SyncTeX), and Comic Books archives (CBR, CBT, CBZ, CB7)." - msgstr "" - - #~ msgid "Toggle between view of recent items and open document" --#~ msgstr "最近使用したドキュメント一覧画面と使用中のドキュメント画面を切り替えます" -+#~ msgstr "" -+#~ "最近使用したドキュメント一覧画面と使用中のドキュメント画面を切り替えます" - - #~ msgid "%s — Password Required" - #~ msgstr "%s — パスワードが必要です" -@@ -1715,7 +1794,8 @@ msgstr "" - #~ msgstr "起動オプションが認識できません: %d" - - #~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" --#~ msgstr "ドキュメントの URI を 'Type=Link' という desktop エントリに渡せません" -+#~ msgstr "" -+#~ "ドキュメントの URI を 'Type=Link' という desktop エントリに渡せません" - - #~ msgid "Not a launchable item" - #~ msgstr "起動できないアイテムです" -Index: new/po/ta.po -=================================================================== ---- new.orig/po/ta.po -+++ new/po/ta.po -@@ -22,8 +22,7 @@ msgstr "" - "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" --"\n" -+"Plural-Forms: nplurals=2; plural=(n!=1);\\n\n" - "\n" - "X-Generator: Lokalize 1.5\n" - -@@ -93,8 +92,7 @@ msgid "" - "The document is composed of several files. One or more of these files cannot " - "be accessed." - msgstr "" --"இந்த ஆவணம் பல கோப்புக்களால் உருவானது. அதில் ஒன்றோ பலவோ கோப்புகளை அணுக " --"இயலவில்லை." -+"இந்த ஆவணம் பல கோப்புக்களால் உருவானது. அதில் ஒன்றோ பலவோ கோப்புகளை அணுக இயலவில்லை." - - #: ../backend/djvu/djvudocument.evince-backend.in.in.h:1 - #: ../backend/djvu/evince-djvudocument.metainfo.xml.in.in.h:1 -@@ -171,8 +169,7 @@ msgid "" - "the fonts used to create the PDF, the rendering may not be correct." - msgstr "" - "இந்த ஆவணத்தில் பொதியப்படாத எழுத்துருக்கள் உள்ளன. அவை பிடிஎஃப் இன் செந்தர 14 " --"எழுத்துருக்களில் ஒன்று இல்லை. பான்ட் கான்பிக் தேர்ந்தெடுத்த மாற்று " --"எழுத்துருக்கள் பிடிஎஃப் ஐ " -+"எழுத்துருக்களில் ஒன்று இல்லை. பான்ட் கான்பிக் தேர்ந்தெடுத்த மாற்று எழுத்துருக்கள் பிடிஎஃப் ஐ " - "உருவாக்கிய எழுத்துருக்கள் இல்லையெனில் வரைதல் சரியாக இல்லாமல் போகலாம்." - - #: ../backend/pdf/ev-poppler.cc:1129 -@@ -331,12 +328,10 @@ msgid "Shrink the document" - msgstr "ஆவணத்தை சுருக்கவும்" - - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:368 --#| msgid "Downloading document (%d%%)" - msgid "Download document" - msgstr "ஆவணத்தை பதிவிறக்கு" - - #: ../browser-plugin/EvBrowserPluginToolbar.cpp:381 --#| msgid "Print this document" - msgid "Print document" - msgstr "ஆவணத்தை அச்சிடு" - -@@ -380,8 +375,7 @@ msgstr "கோப்பு மாறி� - - #: ../data/org.gnome.Evince.gschema.xml.in.h:5 - msgid "The URI of the directory last used to open or save a document" --msgstr "" --"கடைசியாக ஒரு ஆவணத்தை திறக்க அல்லது சேமிக்க பயன்படுத்திய கோப்புறையின் URI" -+msgstr "கடைசியாக ஒரு ஆவணத்தை திறக்க அல்லது சேமிக்க பயன்படுத்திய கோப்புறையின் URI" - - #: ../data/org.gnome.Evince.gschema.xml.in.h:6 - msgid "The URI of the directory last used to save a picture" -@@ -396,8 +390,7 @@ msgid "" - "The maximum size that will be used to cache rendered pages, limits maximum " - "zoom level." - msgstr "" --"ரென்டர் செய்யப்படும் பக்கங்களை தேக்ககப்படுத்த பயன்படுத்தப்படும் அதிகபட்ச " --"அளவு, அதிகபட்ச ஜூம் " -+"ரென்டர் செய்யப்படும் பக்கங்களை தேக்ககப்படுத்த பயன்படுத்தப்படும் அதிகபட்ச அளவு, அதிகபட்ச ஜூம் " - "நிலையைக் கட்டுப்படுத்தும்." - - #: ../data/org.gnome.Evince.gschema.xml.in.h:9 -@@ -405,12 +398,10 @@ msgid "" - "Show a dialog to confirm that the user wants to activate the caret " - "navigation." - msgstr "" --"பயனர் சுட்டி வழிசெலுத்தலை செயல்படுத்த விரும்புகிறரா என உறுதிப்படுத்த ஒரு " --"உரையாடலைக் " -+"பயனர் சுட்டி வழிசெலுத்தலை செயல்படுத்த விரும்புகிறரா என உறுதிப்படுத்த ஒரு உரையாடலைக் " - "காட்டு." - - #: ../data/org.gnome.Evince.gschema.xml.in.h:10 --#| msgid "Adjust the zoom level" - msgid "Allow links to change the zoom level." - msgstr "பெரிதாக்கல் நிலையை மாற்ற இணைப்புகளை அனுமதி" - -@@ -484,7 +475,6 @@ msgstr "பக்கத்தை அச� - - #. Initial state - #: ../libview/ev-print-operation.c:350 --#| msgid "Preparing to print…" - msgid "Preparing preview…" - msgstr "முன்னோட்டத்தைத் தயார்செய்கிறது…" - -@@ -494,7 +484,6 @@ msgstr "முடிக்கிறத� - - #: ../libview/ev-print-operation.c:354 - #, c-format --#| msgid "Printing page %d of %d…" - msgid "Generating preview: page %d of %d" - msgstr "முன்னோட்டத்தை உருவாக்குகிறது: பக்கம் %d / %d" - -@@ -509,7 +498,6 @@ msgid "Printing page %d of %d…" - msgstr "பக்கம் %d இல் %dஐ அச்சிடுகிறது" - - #: ../libview/ev-print-operation.c:1214 --#| msgid "PostScript is not supported by this printer." - msgid "Requested format is not supported by this printer." - msgstr "கோரிய வடிவமைப்பை இந்த அச்சுப்பொறி ஆதரிக்கவில்லை." - -@@ -556,18 +544,15 @@ msgid "" - "• \"Fit to Printable Area\": Document pages are enlarged or reduced as " - "required to fit the printable area of the printer page.\n" - msgstr "" --"தேர்ந்தெடுத்த அச்சுப்பொறிக்கு ஆவண பக்கங்களை பொருத்த மறு அளவீடு செய்க. கீழ் " --"கண்டவற்றில் " -+"தேர்ந்தெடுத்த அச்சுப்பொறிக்கு ஆவண பக்கங்களை பொருத்த மறு அளவீடு செய்க. கீழ் கண்டவற்றில் " - "ஏதேனும் ஒன்றை தேர்வு செய்க:\n" - "\n" - "• \"ஏதுமில்லை\": மறு அளவீடு இல்லை.\n" - "\n" --"• \"அச்சுப்பரப்புக்கு சுருக்கு\": அச்சிடக்கூடிய அளவுக்கு அதிகமாக ஆவண அளவு " --"இருப்பின் " -+"• \"அச்சுப்பரப்புக்கு சுருக்கு\": அச்சிடக்கூடிய அளவுக்கு அதிகமாக ஆவண அளவு இருப்பின் " - "அச்சுப்பொறியின் அச்சிடக்கூடிய பக்க அளவுக்கு மறு அளவு செய்யப்படும்..\n" - "\n" --"• \"அச்சிடக்கூடிய பரப்புக்கு பொருத்துக\": அச்சுப்பொறியின் அச்சிடக்கூடிய பக்க " --"அளவுக்கு " -+"• \"அச்சிடக்கூடிய பரப்புக்கு பொருத்துக\": அச்சுப்பொறியின் அச்சிடக்கூடிய பக்க அளவுக்கு " - "ஆவண பக்கம் சுருக்கவோ நீட்டவோ செய்யப்படும்.\n" - - #: ../libview/ev-print-operation.c:1984 -@@ -579,8 +564,7 @@ msgid "" - "Rotate printer page orientation of each page to match orientation of each " - "document page. Document pages will be centered within the printer page." - msgstr "" --"ஒவ்வொரு ஆவண பக்கத்தின் திசையையும் ஒத்திசைய அச்சுப்பொறி பக்க திஅசை பொருத்தத்தை " --"மாற்றுக. " -+"ஒவ்வொரு ஆவண பக்கத்தின் திசையையும் ஒத்திசைய அச்சுப்பொறி பக்க திஅசை பொருத்தத்தை மாற்றுக. " - "ஆவண பக்கங்கள் அச்சுப்பொறி பக்கத்திற்கு மையப்படுத்தப்படும்." - - #: ../libview/ev-print-operation.c:1992 -@@ -591,8 +575,7 @@ msgstr "ஆவண பக்க அளவ - msgid "" - "When enabled, each page will be printed on the same size paper as the " - "document page." --msgstr "" --"இயலுமை செய்யின் ஒவ்வொரு பக்கமும் ஆவண பக்கத்தின் அதே அளவில் அச்சிடப்படும்." -+msgstr "இயலுமை செய்யின் ஒவ்வொரு பக்கமும் ஆவண பக்கத்தின் அதே அளவில் அச்சிடப்படும்." - - #: ../libview/ev-print-operation.c:2094 - msgid "Page Handling" -@@ -921,12 +904,9 @@ msgid "" - "Foundation; either version 2 of the License, or (at your option) any later " - "version.\n" - msgstr "" --"இவின்ஸ் ஒரு இலவச மென்பொருளாகும் நீங்கள் இதனை வேறு நபருக்கு கொடுக்கலாம்மற்றும் " --"Free " --"Software Foundation ஆல் வெளியிடப்பட்ட GNU General Public License " --"ன்விதிமுறையின் " --"அடிப்படையில் அங்கீகாரத்தின் பதிப்பு 2 அல்லது(உங்கள் விருப்பப்படி) அதற்கடுத்த " --"பதிப்புகளில் " -+"இவின்ஸ் ஒரு இலவச மென்பொருளாகும் நீங்கள் இதனை வேறு நபருக்கு கொடுக்கலாம்மற்றும் Free " -+"Software Foundation ஆல் வெளியிடப்பட்ட GNU General Public License ன்விதிமுறையின் " -+"அடிப்படையில் அங்கீகாரத்தின் பதிப்பு 2 அல்லது(உங்கள் விருப்பப்படி) அதற்கடுத்த பதிப்புகளில் " - "மாற்றலாம்.\n" - - #: ../shell/ev-application.c:999 -@@ -936,10 +916,8 @@ msgid "" - "FOR A PARTICULAR PURPOSE. See the GNU General Public License for more " - "details.\n" - msgstr "" --"இவின்ஸ், பயனுள்ளதாக இருக்கும் என்ற நம்பிக்கையில் வெளியிடப்பட்டுள்ளதுஆனால் " --"எந்த உத்தரவாதமும் " --"கிடையாது; குறிப்பிட்ட காரணங்களுக்காக வணிகஉத்தரவாதம் கூட " --"செயல்படுத்தப்படவில்லை. மேலும் " -+"இவின்ஸ், பயனுள்ளதாக இருக்கும் என்ற நம்பிக்கையில் வெளியிடப்பட்டுள்ளதுஆனால் எந்த உத்தரவாதமும் " -+"கிடையாது; குறிப்பிட்ட காரணங்களுக்காக வணிகஉத்தரவாதம் கூட செயல்படுத்தப்படவில்லை. மேலும் " - "விவரங்களுக்குGNU General Public License ஐ பார்க்கவும்.\n" - - #: ../shell/ev-application.c:1003 -@@ -948,8 +926,7 @@ msgid "" - "Evince; if not, write to the Free Software Foundation, Inc., 51 Franklin " - "Street, Fifth Floor, Boston, MA 02110-1301 USA\n" - msgstr "" --"நீங்கள் GNU General Public Licenseன் ஒரு நகலை இவின்ஸுடன் பெற்றிருக்க " --"வேண்டும். அவ்வாறு " -+"நீங்கள் GNU General Public Licenseன் ஒரு நகலை இவின்ஸுடன் பெற்றிருக்க வேண்டும். அவ்வாறு " - "பெறாவிட்டால், Free Software Foundation, Inc.,51 Franklin Street, Fifth Floor, " - "Boston, MA 02111-1301 USA என்பதற்கு எழுதவும்\n" - -@@ -958,7 +935,6 @@ msgid "Evince" - msgstr "இவின்ஸ்" - - #: ../shell/ev-application.c:1026 --#| msgid "© 1996–2012 The Evince authors" - msgid "© 1996–2014 The Evince authors" - msgstr "© 1996–2014 The Evince authors" - -@@ -990,8 +966,7 @@ msgid "" - "This document is locked and can only be read by entering the correct " - "password." - msgstr "" --"இந்த ஆவணம் பூட்டப்பட்டுள்ளது மற்றும் சரியான கடவுச்சொல்லை உள்ளிட்டால் தான் " --"படிக்க முடியும்." -+"இந்த ஆவணம் பூட்டப்பட்டுள்ளது மற்றும் சரியான கடவுச்சொல்லை உள்ளிட்டால் தான் படிக்க முடியும்." - - #: ../shell/ev-password-view.c:151 ../shell/ev-password-view.c:269 - msgid "_Unlock Document" -@@ -1006,8 +981,7 @@ msgstr "கடவுச்சொல்� - msgid "" - "The document “%s” is locked and requires a password before it can be opened." - msgstr "" --"ஆவணம் “%s” பூட்டப்பட்டுள்ளது மற்றும் அதனை திறப்பதற்கு முன் கடவுச்சொல் " --"தேவைப்படுகிறது." -+"ஆவணம் “%s” பூட்டப்பட்டுள்ளது மற்றும் அதனை திறப்பதற்கு முன் கடவுச்சொல் தேவைப்படுகிறது." - - #: ../shell/ev-password-view.c:303 - msgid "Password required" -@@ -1144,12 +1118,10 @@ msgid "Find a word or phrase in the docu - msgstr "ஆவணத்தில் ஒரு சொல் அல்லது சொற்றொடரை தேடுகிறது" - - #: ../shell/ev-toolbar.c:247 ../shell/ev-toolbar.c:248 --#| msgid "Find options" - msgid "File options" - msgstr "கோப்பு விருப்பங்கள்" - - #: ../shell/ev-toolbar.c:257 ../shell/ev-toolbar.c:258 --#| msgid "Find options" - msgid "View options" - msgstr "காட்சி விருப்பங்கள்" - -@@ -1261,8 +1233,7 @@ msgid "" - "Document contains form fields that have been filled out. If you don't save a " - "copy, changes will be permanently lost." - msgstr "" --"ஆவணத்தில் நிரப்பப்பட்ட படிவபுலங்கள் உள்ளன. நீங்கள் ஒரு பிரதியை " --"சேமிக்காவிட்டால் மாற்றங்கள் " -+"ஆவணத்தில் நிரப்பப்பட்ட படிவபுலங்கள் உள்ளன. நீங்கள் ஒரு பிரதியை சேமிக்காவிட்டால் மாற்றங்கள் " - "நிரந்தரமாக இழக்கப்படும்." - - #: ../shell/ev-window.c:3587 -@@ -1270,8 +1241,7 @@ msgid "" - "Document contains new or modified annotations. If you don't save a copy, " - "changes will be permanently lost." - msgstr "" --"ஆவணத்தில் புதிய அல்லது மாற்றப்பட்ட வியாக்கியானங்கள் உள்ளன. நீங்கள் ஒரு " --"பிரதியை " -+"ஆவணத்தில் புதிய அல்லது மாற்றப்பட்ட வியாக்கியானங்கள் உள்ளன. நீங்கள் ஒரு பிரதியை " - "சேமிக்காவிட்டால் மாற்றங்கள் நிரந்தரமாக இழக்கப்படும்." - - #: ../shell/ev-window.c:3594 -@@ -1347,21 +1317,15 @@ msgid "_Enable" - msgstr "செயல்படுத்து (_E)" - - #: ../shell/ev-window.c:5517 --#| msgid "" --#| "Pressing F7 turns the caret navigation on or off. This feature places a " --#| "moveable cursor in text pages, allowing you to move around and select " --#| "text with your keyboard. Do you want to enable the caret navigation on?" - msgid "" - "Pressing F7 turns the caret navigation on or off. This feature places a " - "moveable cursor in text pages, allowing you to move around and select text " - "with your keyboard. Do you want to enable the caret navigation?" - msgstr "" --"F7 ஐ அழுத்தினால், சுட்டி வழிசெலுத்தல் இயக்கப்படும் அல்லது அணைக்கப்படும். இந்த " --"வசதியானது " --"உரைப் பக்கங்களில் நகர்த்தக்கூடிய ஒரு சுட்டியை இடம்பெறச் செய்யும், இதைக் " --"கொண்டு நீங்கள் " --"தேர்ந்தெடுத்த உரையில் விசைப்பலகையைப் பயன்படுத்தி நகரலாம். சுட்டி வழிசெலுத்தலை " --"இயக்க வேண்டுமா?" -+"F7 ஐ அழுத்தினால், சுட்டி வழிசெலுத்தல் இயக்கப்படும் அல்லது அணைக்கப்படும். இந்த வசதியானது " -+"உரைப் பக்கங்களில் நகர்த்தக்கூடிய ஒரு சுட்டியை இடம்பெறச் செய்யும், இதைக் கொண்டு நீங்கள் " -+"தேர்ந்தெடுத்த உரையில் விசைப்பலகையைப் பயன்படுத்தி நகரலாம். சுட்டி வழிசெலுத்தலை இயக்க " -+"வேண்டுமா?" - - #: ../shell/ev-window.c:5522 - msgid "Don't show this message again" -@@ -1400,12 +1364,10 @@ msgid "Save Attachment" - msgstr "இணைப்புகளை சேமி" - - #: ../shell/ev-window-title.c:118 --#| msgid "Open Document" - msgid "Recent Documents" - msgstr "சமீபத்திய ஆவணங்கள்" - - #: ../shell/ev-window-title.c:153 ../shell/ev-window-title.c:157 --#| msgid "Password required" - msgid "Password Required" - msgstr "கடவுச்சொல் தேவைப்படுகிறது" - -@@ -1518,7 +1480,6 @@ msgid "[FILE…]" - msgstr "[FILE...]" - - #: ../shell/evince-menus.ui.h:1 --#| msgid "Open in New _Window" - msgid "_New Window" - msgstr "புதிய சாளரம் (_N)" - -@@ -1559,32 +1520,26 @@ msgid "Rotate _Right" - msgstr "வலப்பக்கம் சுழற்று (_R) " - - #: ../shell/evince-menus.ui.h:11 --#| msgid "_First Page" - msgid "First Page" - msgstr "முதல் பக்கம்" - - #: ../shell/evince-menus.ui.h:12 --#| msgid "_Previous Page" - msgid "Previous Page" - msgstr "முந்தைய பக்கம்" - - #: ../shell/evince-menus.ui.h:13 --#| msgid "_Next Page" - msgid "Next Page" - msgstr "அடுத்த பக்கம்" - - #: ../shell/evince-menus.ui.h:14 --#| msgid "_Last Page" - msgid "Last Page" - msgstr "கடைசி பக்கம்" - - #: ../shell/evince-menus.ui.h:15 --#| msgid "Zoom In" - msgid "Zoom _In" - msgstr "பெரிதாக்கு (_I)" - - #: ../shell/evince-menus.ui.h:16 --#| msgid "Zoom Out" - msgid "Zoom _Out" - msgstr "சிறிதாக்கு (_O)" - -@@ -1625,7 +1580,6 @@ msgid "_Print…" - msgstr "_P அச்சிடு." - - #: ../shell/evince-menus.ui.h:26 --#| msgid "P_roperties" - msgid "P_roperties…" - msgstr "பண்புகள் (_r)…" - -@@ -1646,7 +1600,6 @@ msgid "_Add Bookmark" - msgstr "_A புத்தகக்குறியை சேர்" - - #: ../shell/evince-menus.ui.h:31 --#| msgid "Close" - msgid "_Close" - msgstr "மூடு (_C)" - -@@ -1691,7 +1644,6 @@ msgid "Annotation Properties…" - msgstr "வியாக்கியான பண்புகள்..." - - #: ../shell/evince-menus.ui.h:47 --#| msgid "Annotations" - msgid "Remove Annotation" - msgstr "வியாக்கியானத்தை நீக்கு" - -@@ -1708,8 +1660,8 @@ msgid "" - "It supports the following document formats: PDF, PS, EPS, XPS, DjVu, TIFF, " - "DVI (with SyncTeX), and Comic Books archives (CBR, CBT, CBZ, CB7)." - msgstr "" --"இது இந்த ஆவண வடிவமைப்புகளை ஆதரிக்கிறது: PDF, PS, EPS, XPS, DjVu, TIFF, " --"DVI (SyncTeX உடனானது) மற்றும் Comic Books காப்பகங்கள் (CBR, CBT, CBZ, CB7)." -+"இது இந்த ஆவண வடிவமைப்புகளை ஆதரிக்கிறது: PDF, PS, EPS, XPS, DjVu, TIFF, DVI " -+"(SyncTeX உடனானது) மற்றும் Comic Books காப்பகங்கள் (CBR, CBT, CBZ, CB7)." - - #~ msgid "File is not a valid .desktop file" - #~ msgstr "கோப்பு செல்லுபடியாகும் .desktop கோப்பு அல்ல" -@@ -1772,7 +1724,6 @@ msgstr "" - #~ msgid "Save a copy of the current document" - #~ msgstr "நடப்பு ஆவணத்தின் ஒரு நகலை சேமிக்கவும்" - --#~| msgid "Send current document by mail, instant message..." - #~ msgid "Send current document by mail, instant message…" - #~ msgstr "நடப்பு ஆவணத்தை அஞ்சலில் அனுப்பு, உடனடி செய்தி மூலம் அனுப்பு...." - diff --git a/SOURCES/evince-3.21.4-NPNVToolKit.patch b/SOURCES/evince-3.21.4-NPNVToolKit.patch new file mode 100644 index 0000000..7a8b5a5 --- /dev/null +++ b/SOURCES/evince-3.21.4-NPNVToolKit.patch @@ -0,0 +1,76 @@ +--- evince-3.21.92/browser-plugin/EvBrowserPluginMain.cpp ++++ evince-3.21.92/browser-plugin/EvBrowserPluginMain.cpp +@@ -38,11 +38,40 @@ static EvBrowserPlugin *pluginForInstanc + return static_cast(instance->pdata); + } + ++static gboolean gtkToolkitIsCompatible(NPP instance) ++{ ++ NPNToolkitType toolkit_type = NPNVGtk12; ++ NPError error; ++ ++ error = browser->getvalue(instance, NPNVToolkit, &toolkit_type); ++ ++ if (error == NPERR_NO_ERROR && ++ (toolkit_type == NPNVGtk12 || ++ toolkit_type == NPNVGtk2)) ++ return FALSE; ++ else ++ return TRUE; ++} ++ + NPError NPP_New(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char *argn[], char *argv[], NPSavedData *savedData) + { + if (!instance) + return NPERR_INVALID_INSTANCE_ERROR; + ++ if (!gtkToolkitIsCompatible(instance)) ++ return NPERR_GENERIC_ERROR; ++ ++ GBytes *resourceData = g_resources_lookup_data("/org/gnome/evince/browser/ui/evince-browser.css", G_RESOURCE_LOOKUP_FLAGS_NONE, nullptr); ++ if (resourceData) { ++ GtkCssProvider *cssProvider = gtk_css_provider_new(); ++ ++ gtk_css_provider_load_from_data(cssProvider, static_cast(g_bytes_get_data(resourceData, nullptr)), g_bytes_get_size(resourceData), nullptr); ++ g_bytes_unref(resourceData); ++ ++ gtk_style_context_add_provider_for_screen(gdk_screen_get_default(), GTK_STYLE_PROVIDER(cssProvider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); ++ g_object_unref(cssProvider); ++ } ++ + return EvBrowserPlugin::create(instance)->initialize(pluginType, mode, argc, argn, argv, savedData); + } + +@@ -197,6 +226,11 @@ NPError NP_Initialize(NPNetscapeFuncs *b + if ((browserFuncs->version >> 8) > NP_VERSION_MAJOR) + return NPERR_INCOMPATIBLE_VERSION_ERROR; + ++ browser = browserFuncs; ++ ++ if (!gtkToolkitIsCompatible(NULL)) ++ return NPERR_GENERIC_ERROR; ++ + if (!ev_init()) + return NPERR_GENERIC_ERROR; + +@@ -207,20 +241,8 @@ NPError NP_Initialize(NPNetscapeFuncs *b + return NPERR_GENERIC_ERROR; + #endif + +- browser = browserFuncs; + initializePluginFuncs(pluginFuncs); + +- GBytes *resourceData = g_resources_lookup_data("/org/gnome/evince/browser/ui/evince-browser.css", G_RESOURCE_LOOKUP_FLAGS_NONE, nullptr); +- if (resourceData) { +- GtkCssProvider *cssProvider = gtk_css_provider_new(); +- +- gtk_css_provider_load_from_data(cssProvider, static_cast(g_bytes_get_data(resourceData, nullptr)), g_bytes_get_size(resourceData), nullptr); +- g_bytes_unref(resourceData); +- +- gtk_style_context_add_provider_for_screen(gdk_screen_get_default(), GTK_STYLE_PROVIDER(cssProvider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); +- g_object_unref(cssProvider); +- } +- + return NPERR_NO_ERROR; + } + diff --git a/SPECS/evince.spec b/SPECS/evince.spec index 7057a84..4785a0b 100644 --- a/SPECS/evince.spec +++ b/SPECS/evince.spec @@ -1,64 +1,55 @@ %global poppler_version 0.24.0 %global glib2_version 2.36.0 -%global gtk3_version 3.14.0 +%global gtk3_version 3.16.0 %global gxps_version 0.2.1 Name: evince -Version: 3.14.2 -Release: 17%{?dist} +Version: 3.22.1 +Release: 5%{?dist} Summary: Document viewer License: GPLv2+ and GPLv3+ and LGPLv2+ and MIT and Afmparse -Group: Applications/Publishing -URL: http://projects.gnome.org/evince/ -Source0: http://download.gnome.org/sources/%{name}/3.14/%{name}-%{version}.tar.xz -Patch0: evince-3.14.2-translations.patch -Patch1: evince-3.14.2-smclient.patch -Patch2: evince-3.14.2-copy-permissions.patch -Patch3: evince-3.14.2-make-annotation-notes-selectable.patch -Patch4: evince-3.14.2-printing-dont-save-number-of-copies.patch -Patch5: evince-3.14.2-printing-check-for-failed-rendering-jobs.patch -Patch6: evince-3.14.2-previous-next-page-buttons-sensitivity.patch -Patch7: evince-3.14.2-disable-send-to-when-nautilus-sendto-notfound.patch -Patch8: evince-3.14.2-force-fixed-size-for-text-annotations.patch -Patch9: evince-3.14.2-handle-gtk-scroll-start-end-in-fit-to-page-mode.patch -Patch10: evince-3.14.2-prevent-view-from-jumping.patch -Patch11: evince-3.14.2-annotations-in-the-right-page.patch -Patch12: evince-3.14.2-set-correct-scale.patch -Patch13: evince-3.14.2-translations-complete.patch -Patch14: evince-3.14.2-scroll.patch -Patch15: evince-3.14.2-ko-translations.patch - -Obsoletes: evince-djvu <= 3.8.3-2 - -BuildRequires: glib2-devel >= %{glib2_version} -BuildRequires: gtk3-devel >= %{gtk3_version} -BuildRequires: poppler-glib-devel >= %{poppler_version} -BuildRequires: libXt-devel -BuildRequires: libsecret-devel +URL: https://wiki.gnome.org/Apps/Evince +Source0: https://download.gnome.org/sources/%{name}/3.22/%{name}-%{version}.tar.xz + +Patch0: evince-3.21.4-NPNVToolKit.patch +#https://bugzilla.gnome.org/show_bug.cgi?id=692552 +Patch1: 0001-gnome-692552-don-t-complain-about-inability-to-copy-.patch +#https://bugzilla.gnome.org/show_bug.cgi?id=777082 +Patch2: 0001-Resolves-rhbz-1404656-crash-on-opening-second-evince.patch +#https://bugzilla.gnome.org/show_bug.cgi?id=766749 +Patch3: 0001-Resolves-deb-762530-rhbz-1061177-add-man-pages.patch +Patch4: 0001-Resolves-rhbz-1358249-page-up-down.patch +Patch5: 0001-Revert-Bump-poppler-requirements-to-0.33.0.patch + +BuildRequires: pkgconfig(adwaita-icon-theme) +BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib2_version} +BuildRequires: pkgconfig(gnome-desktop-3.0) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gtk+-x11-3.0) >= %{gtk3_version} +BuildRequires: pkgconfig(libsecret-1) +BuildRequires: pkgconfig(libspectre) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(poppler-glib) >= %{poppler_version} BuildRequires: libtiff-devel -BuildRequires: libjpeg-devel -BuildRequires: libspectre-devel -BuildRequires: libxml2-devel BuildRequires: gettext -BuildRequires: desktop-file-utils BuildRequires: libtool BuildRequires: gtk-doc BuildRequires: yelp-tools BuildRequires: intltool -BuildRequires: t1lib-devel -BuildRequires: gobject-introspection-devel -BuildRequires: adwaita-icon-theme-devel -BuildRequires: gnome-desktop3-devel -# For autoconf.sh -BuildRequires: gnome-common >= 2.26 - +BuildRequires: /usr/bin/desktop-file-validate +BuildRequires: libappstream-glib +BuildRequires: gnome-common # for the nautilus properties page -BuildRequires: nautilus-devel +BuildRequires: pkgconfig(libnautilus-extension) # for the dvi backend -BuildRequires: kpathsea-devel +BuildRequires: kpathsea-devel +%if 0%{?fedora} +# for the djvu backend +BuildRequires: djvulibre-devel +%endif # for the xps backend -BuildRequires: libgxps-devel >= %{gxps_version} +BuildRequires: pkgconfig(libgxps) >= %{gxps_version} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: glib2%{?_isa} >= %{glib2_version} @@ -71,13 +62,15 @@ Portable Document Format (PDF), PostScript (PS) and Encapsulated PostScript for text, copying text to the clipboard, hypertext navigation, table-of-contents bookmarks and editing of forms. - Support for other document formats such as DVI can be added by + Support for other document formats such as DVI and DJVU can be added by installing additional backends. %package libs Summary: Libraries for the evince document viewer -Group: System Environment/Libraries +%if 0%{?fedora} +Recommends: %{name}-djvu%{?_isa} = %{version}-%{release} +%endif %description libs This package contains shared libraries needed for evince @@ -85,7 +78,6 @@ This package contains shared libraries needed for evince %package devel Summary: Support for developing backends for the evince document viewer -Group: Development/Libraries Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel @@ -95,7 +87,6 @@ backend development. %package dvi Summary: Evince backend for dvi files -Group: Applications/Publishing Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: texlive-collection-fontsrecommended @@ -103,61 +94,77 @@ Requires: texlive-collection-fontsrecommended This package contains a backend to let evince display dvi files. +%if 0%{?fedora} +%package djvu +Summary: Evince backend for djvu files +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description djvu +This package contains a backend to let evince display djvu files. +%endif + %package nautilus Summary: Evince extension for nautilus -Group: User Interface/Desktops Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: nautilus%{?_isa} %description nautilus This package contains the evince extension for the nautilus file manager. It adds an additional tab called "Document" to the file properties dialog. + +%package browser-plugin +Summary: Evince web browser plugin +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: mozilla-filesystem + +%description browser-plugin +This package contains the evince web browser plugin. + + %prep %setup -q -%patch0 -p1 -b .translations -%patch1 -p1 -b .smclient -%patch2 -p1 -b .copy-permissions -%patch3 -p1 -b .make-annotation-notes-selectable -%patch4 -p1 -b .printing-dont-save-number-of-copies -%patch5 -p1 -b .printing-check-for-failed-rendering-jobs -%patch6 -p1 -b .previous-next-page-buttons-sensitivity -%patch7 -p1 -b .disable-send-to-when-nautilus-sendto-notfound -%patch8 -p1 -b .force-fixed-size-for-text-annotations -%patch9 -p1 -b .handle-gtk-scroll-start-end-in-fit-to-page-mode -%patch10 -p1 -b .prevent-view-from-jumping -%patch11 -p1 -b .annotations-in-the-right-page -%patch12 -p1 -b .correct-scale -%patch13 -p1 -b .translations-complete -%patch14 -p1 -b .scroll -%patch15 -p1 -b .ko-translations +%patch0 -p1 -b .NPNVToolKit +%patch1 -p1 -b .gnome-692552 +%patch2 -p1 -b .rhbz-1404656 +%patch3 -p1 -b .deb-762530-rhbz +%patch4 -p1 -b .rhbz-1358249-page-up-down +%patch5 -p1 -b .poppler-requirements + %build -autoreconf -vif +autoreconf -f -i %configure \ --disable-static \ --enable-introspection \ --enable-comics=yes \ --enable-dvi=yes \ - --disable-djvu \ --enable-libgnome-desktop \ +%if 0%{?fedora} + --enable-djvu=yes \ +%endif --enable-xps=yes \ - --enable-t1lib=yes \ - --disable-browser-plugin + --enable-t1lib=no make %{?_smp_mflags} V=1 LIBTOOL=/usr/bin/libtool %install -make install DESTDIR=$RPM_BUILD_ROOT +%make_install -desktop-file-install --delete-original \ - --dir=$RPM_BUILD_ROOT%{_datadir}/applications \ - $RPM_BUILD_ROOT%{_datadir}/applications/evince.desktop +# Update the screenshot shown in the software center +# +# NOTE: It would be *awesome* if this file was pushed upstream. +# +# See http://people.freedesktop.org/~hughsient/appdata/#screenshots for more details. +# +appstream-util replace-screenshots $RPM_BUILD_ROOT%{_datadir}/appdata/evince.appdata.xml \ + https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/evince/a.png %find_lang evince --with-gnome mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications # Get rid of static libs and .la files. +rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/nautilus/extensions-3.0/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/nautilus/extensions-3.0/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/evince/4/backends/*.la @@ -165,6 +172,8 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/evince/4/backends/*.a rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/*.a +%check +desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/evince.desktop %post update-desktop-database &> /dev/null ||: @@ -193,15 +202,18 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas >&/dev/null ||: %{_datadir}/applications/%{name}.desktop %{_datadir}/applications/evince-previewer.desktop %{_datadir}/icons/hicolor/*/apps/evince.* -%{_mandir}/man1/evince.1.gz +%{_datadir}/icons/hicolor/*/apps/evince-symbolic.svg +%{_mandir}/man1/*.1* %{_libexecdir}/evinced %{_datadir}/dbus-1/services/org.gnome.evince.Daemon.service %{_datadir}/glib-2.0/schemas/org.gnome.Evince.gschema.xml %{_datadir}/GConf/gsettings/evince.convert %{_datadir}/thumbnailers/evince.thumbnailer +%{_userunitdir}/evince.service %files libs -%doc README COPYING NEWS AUTHORS +%doc README NEWS AUTHORS +%license COPYING %{_libdir}/libevview3.so.* %{_libdir}/libevdocument3.so.* %dir %{_libdir}/evince @@ -248,115 +260,271 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas >&/dev/null ||: %{_libdir}/evince/4/backends/dvidocument.evince-backend %{_datadir}/appdata/evince-dvidocument.metainfo.xml +%if 0%{?fedora} +%files djvu +%{_libdir}/evince/4/backends/libdjvudocument.so +%{_libdir}/evince/4/backends/djvudocument.evince-backend +%{_datadir}/appdata/evince-djvudocument.metainfo.xml +%endif + %files nautilus %{_libdir}/nautilus/extensions-3.0/libevince-properties-page.so +%files browser-plugin +%{_libdir}/mozilla/plugins/libevbrowserplugin.so + %changelog -* Mon Jun 27 2016 Martin Hatina - 3.14.2-17 -- Korean translations complete -- Resolves: #1273280 +* Mon Jan 16 2017 Caolán McNamara - 3.22.1-5 +- Resolves: rhbz#1358249 restore ctrl page up/down shortcuts -* Tue May 10 2016 Marek Kasik - 3.14.2-16 -- Scroll small pages in non-continuous mode -- Resolves: #1078333 +* Tue Jan 10 2017 Caolán McNamara - 3.22.1-4 +- Resolves: rhbz#1061177 add man pages for evince-previewer and evince-thumbnailer -* Mon Apr 4 2016 Martin Hatina - 3.14.2-15 -- Complete translations -- Resolves: #1273280 +* Tue Jan 10 2017 Caolán McNamara - 3.22.1-3 +- Resolves: rhbz#1404656 crash on opening second evince window -* Tue Mar 22 2016 Marek Kasik - 3.14.2-14 -- Set correct scale when drawing PostScript document -- Resolves: #1302820 +* Fri Dec 09 2016 Caolán McNamara - 3.22.1-2 +- Resolves: rhbz#1022649 don't complain about inability to copy metadata -* Tue Mar 22 2016 Felipe Borges - 3.14.2-13 -- Add annotations to the right page -- Resolves: #1292195 +* Wed Oct 12 2016 Kalev Lember - 3.22.1-1 +- Update to 3.22.1 -* Wed Mar 16 2016 Felipe Borges - 3.14.2-12 -- Prevent evince from jumping to the end of document when pressing Tab -- Resolves: #1292186 +* Wed Sep 21 2016 Kalev Lember - 3.22.0-1 +- Update to 3.22.0 +- Don't set group tags +- Use make_install macro -* Mon Mar 07 2016 Felipe Borges - 3.14.2-11 -- Handle GTK_SCROLL_START/GTK_SCROLL_END also in fit-to-page mode -- Resolves: #1292193 +* Wed Sep 14 2016 Marek Kasik - 3.21.92-1 +- Update to 3.21.92 -* Mon Mar 07 2016 Felipe Borges - 3.14.2-10 -- Force a fixed size for text annotations -- Resolves: #1292190 +* Mon Aug 15 2016 Marek Kasik - 3.21.4-2 +- Check version of NPNVToolkit provided by browser +- Resolves: #1198229 -* Wed Mar 02 2016 Felipe Borges - 3.14.2-9 -- Do not show Send To option when nautilus-sendto is not installed -- Resolves: #1292405 +* Wed Jul 20 2016 Richard Hughes - 3.21.4-1 +- Update to 3.21.4 -* Wed Mar 02 2016 Felipe Borges - 3.14.2-8 -- Make the previous/next page buttons sensitive on first/last page -- Resolves: #1292408 +* Tue Jun 21 2016 Marek Kasik - 3.21.3-1 +- Update to 3.21.3 -* Wed Feb 24 2016 Felipe Borges - 3.14.2-7 -- Don't crash when rendering job fails -- Resolves: #1292201 +* Mon Jun 20 2016 Michael Catanzaro - 3.20.0-2 +- Remove downstream patch that's no longer needed -* Wed Feb 24 2016 Felipe Borges - 3.14.2-7 -- Don't save number of copies in the print settings -- Resolves: #1292414 +* Tue Mar 22 2016 Kalev Lember - 3.20.0-1 +- Update to 3.20.0 -* Tue Feb 23 2016 Felipe Borges - 3.14.2-6 -- Make the text in annotation notes selectable -- Resolves: #1292202 +* Wed Mar 16 2016 Kalev Lember - 3.19.92-1 +- Update to 3.19.92 -* Wed Sep 2 2015 Marek Kasik - 3.14.2-5 -- Don't copy permissions from original file -- Resolves: #1259390 +* Tue Mar 8 2016 Marek Kasik - 3.18.2-5 +- Recognize multipage DjVu MIME type +- Resolves: #1308628 -* Tue Aug 18 2015 Marek Kasik - 3.14.2-4 -- Backport SMClient back to enable session saving -- Resolves: #1251572 +* Wed Feb 03 2016 Fedora Release Engineering - 3.18.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild -* Thu Apr 30 2015 Marek Kasik - 3.14.2-3 -- Translations update from translation team -- Resolves: #1204902 +* Tue Dec 15 2015 Marek Kasik - 3.18.2-3 +- Fix selection of text on Wayland -* Wed Mar 25 2015 Marek Kasik - 3.14.2-2 -- Remove unused patches -- Disable browser plugin explicitly -- Resolves: #1204902 +* Thu Nov 19 2015 Michael Catanzaro - 3.18.2-2 +- Fix installation of symbolic app icon + +* Wed Nov 11 2015 Kalev Lember - 3.18.2-1 +- Update to 3.18.2 + +* Fri Oct 23 2015 Kalev Lember - 3.18.1-1 +- Update to 3.18.1 + +* Fri Oct 9 2015 Marek Kasik - 3.18.0-2 +- Recommend evince-djvu in evince-libs not in evince + +* Mon Sep 21 2015 Kalev Lember - 3.18.0-1 +- Update to 3.18.0 + +* Wed Sep 16 2015 Kalev Lember - 3.17.92-1 +- Update to 3.17.92 +- Use desktop-file-validate instead of desktop-file-install + +* Wed Sep 02 2015 Michael Catanzaro - 3.17.4-3 +- Don't recommend nautilus subpackage; it depends on nautilus. + +* Wed Sep 02 2015 Michael Catanzaro - 3.17.4-2 +- The main package now recommends the djvu and nautilus subpackages. + +* Tue Jul 21 2015 David King - 3.17.4-1 +- Update to 3.17.4 +- Update URL +- Use pkgconfig for BuildRequires +- Use license for COPYING +- Update man page glob in files section + +* Wed Jun 24 2015 Martin Hatina - 3.17.3-1 +- Update to 3.17.3 + +* Mon Jun 22 2015 Martin Hatina - 3.17.2-3 +- Avoid crash after reloading document +- Related: #1203277 + +* Wed Jun 17 2015 Fedora Release Engineering - 3.17.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu May 28 2015 Marek Kasik - 3.17.2-1 +- Update to 3.17.2 + +* Thu Apr 30 2015 Marek Kasik - 3.17.1-1 +- Update to 3.17.1 + +* Mon Mar 30 2015 Richard Hughes - 3.16.0-2 +- Use better AppData screenshots + +* Mon Mar 23 2015 Kalev Lember - 3.16.0-1 +- Update to 3.16.0 + +* Tue Mar 17 2015 Marek Kasik - 3.15.92-1 +- Update to 3.15.92 + +* Mon Mar 16 2015 Marek Kasik - 3.15.90-3 +- Fix crashes caused by corrupted documents +- Related: #1201996 + +* Sat Feb 21 2015 Till Maas - 3.15.90-2 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Thu Feb 19 2015 Marek Kasik - 3.15.90-1 +- Update to 3.15.90 + +* Wed Jan 21 2015 Marek Kasik - 3.15.4-2 +- Revert fix of centering of documents when printing with a manual scale. +- This caused problems with printing of landscape documents. +- Resolves: #1173832 + +* Tue Jan 20 2015 Marek Kasik - 3.15.4-1 +- Update to 3.15.4 + +* Mon Dec 08 2014 Adam Jackson 3.14.1-8 +- Don't link against t1lib, freetype is sufficient (#852489) + +* Wed Nov 19 2014 Marek Kasik - 3.14.1-7 +- Fix configuration with ligbnome-desktop +- Related: #1147270 + +* Wed Nov 19 2014 Marek Kasik - 3.14.1-6 +- Scroll to page on which is the search result selected by user +- when not in continuous mode. +- Resolves: #1162254 + +* Tue Nov 18 2014 Marek Kasik - 3.14.1-5 +- Use libgnome-desktop to generate and cache thumbnails +- Resolves: #1147270 + +* Wed Nov 12 2014 Richard Hughes - 3.14.1-4 +- Fix non-Fedora build + +* Wed Nov 5 2014 Marek Kasik - 3.14.1-3 +- Fix runtime critical warning when starting in fullscreen mode + +* Wed Nov 5 2014 Marek Kasik - 3.14.1-2 +- Disable toggle-find action for documents not supporting find +- Resolves: #1160376 + +* Tue Oct 14 2014 Kalev Lember - 3.14.1-1 +- Update to 3.14.1 + +* Tue Sep 23 2014 Kalev Lember - 3.14.0-1 +- Update to 3.14.0 + +* Tue Sep 16 2014 Kalev Lember - 3.13.92-1 +- Update to 3.13.92 +- Set minimum required glib2 and gtk3 versions + +* Wed Sep 03 2014 Kalev Lember - 3.13.91-1 +- Update to 3.13.91 + +* Fri Aug 22 2014 Kalev Lember - 3.13.90-2 +- Split out evince-browser-plugin subpackage + +* Sat Aug 16 2014 Kalev Lember - 3.13.90-1 +- Update to 3.13.90 +- Include new web browser plugin + +* Sat Aug 16 2014 Fedora Release Engineering - 3.13.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jul 22 2014 Kalev Lember - 3.13.3.1-3 +- Rebuilt for gobject-introspection 1.41.4 + +* Wed Jul 09 2014 Kalev Lember - 3.13.3.1-2 +- Install application appdata in the main package, not -libs + +* Thu Jun 26 2014 Richard Hughes - 3.13.3.1-1 +- Update to 3.13.3.1 + +* Wed Jun 25 2014 Richard Hughes - 3.13.3-1 +- Update to 3.13.3 + +* Sat Jun 07 2014 Fedora Release Engineering - 3.12.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 07 2014 Kalev Lember - 3.12.1-2 +- Drop gnome-icon-theme-symbolic dependency + +* Tue Apr 15 2014 Marek Kasik - 3.12.1-1 +- Update to 3.12.1 + +* Mon Apr 14 2014 Marek Kasik - 3.12.0-2 +- Don't crash when trying to save a copy +- Resolves: #1086944 + +* Tue Mar 25 2014 Kalev Lember - 3.12.0-1 +- Update to 3.12.0 + +* Tue Mar 18 2014 Marek Kasik - 3.11.92-1 +- Update to 3.11.92 + +* Sun Feb 23 2014 Richard Hughes - 3.11.90-1 +- Update to 3.11.90 + +* Thu Dec 19 2013 Marek Kasik - 3.11.3-1 +- Update to 3.11.3 + +* Mon Nov 18 2013 Marek Kasik - 3.11.1-3 +- Fix source URL + +* Thu Nov 14 2013 Marek Kasik - 3.11.1-2 +- Fix a typo in description of nautilus subpackage +- Resolves: #1028161 -* Mon Mar 23 2015 Richard Hughes > - 3.14.2-1 -- Update to 3.14.2 -- Resolves: #1204902 +* Wed Oct 30 2013 Marek Kasik - 3.11.1-1 +- Update to 3.11.1 -* Tue Aug 19 2014 Peter Robinson - 3.8.3-9 -- Fix build on ppc64le/aarch64 -- Resolves: #1125497 +* Wed Sep 25 2013 Kalev Lember - 3.10.0-1 +- Update to 3.10.0 -* Tue Feb 18 2014 Marek Kasik - 3.8.3-8 -- Get selection rectangles at once when redrawing a selection -- Resolves: #1066458 +* Thu Aug 22 2013 Kalev Lember - 3.9.90-1 +- Update to 3.9.90 -* Fri Jan 24 2014 Daniel Mach - 3.8.3-7 -- Mass rebuild 2014-01-24 +* Mon Aug 19 2013 Marek Kasik - 3.9.4-3 +- Add requirement of gnome-icon-theme-symbolic +- Resolves: #980751 -* Fri Dec 27 2013 Daniel Mach - 3.8.3-6 -- Mass rebuild 2013-12-27 +* Sat Aug 03 2013 Fedora Release Engineering - 3.9.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild -* Fri Dec 13 2013 Marek Kasik - 3.8.3-5 -- Add explicit requirement of evince-libs to evince-nautilus (Rpmdiff) -- Related: #1037788 +* Tue Jul 16 2013 Richard Hughes - 3.9.4-1 +- Update to 3.9.4 -* Fri Dec 13 2013 Marek Kasik - 3.8.3-4 -- Don't allow "Send To..." when there is no mail client available -- Resolves: #1037788 +* Wed Jun 19 2013 Marek Kasik - 3.9.3-3 +- Require gnome-icon-theme-devel instead of gnome-icon-theme -* Wed Dec 11 2013 Marek Kasik - 3.8.3-3 -- Translation updates -- Resolves: #1030325 +* Wed Jun 19 2013 Marek Kasik - 3.9.3-2 +- Fix changelog dates -* Wed Sep 11 2013 Marek Kasik - 3.8.3-2 -- Remove DjVu backend -- Resolves: #1004851 +* Wed Jun 19 2013 Marek Kasik - 3.9.3-1 +- Update to 3.9.3 -* Mon Jul 8 2013 Matthias Clasen - 3.8.3-1 -- Update to 3.8.3 +* Sun Jun 02 2013 Kalev Lember - 3.9.2-1 +- Update to 3.9.2 * Wed May 15 2013 Marek Kasik - 3.8.2-1 - Update to 3.8.2 @@ -1120,25 +1288,25 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas >&/dev/null ||: * Sat Mar 12 2005 Marco Pesenti Gritti - 0.1.8-1 - Update to 0.1.8 -* Sat Mar 8 2005 Marco Pesenti Gritti - 0.1.7-1 +* Tue Mar 8 2005 Marco Pesenti Gritti - 0.1.7-1 - Update to 0.1.7 - Install the new schemas -* Sat Mar 8 2005 Marco Pesenti Gritti - 0.1.6-1 +* Tue Mar 8 2005 Marco Pesenti Gritti - 0.1.6-1 - Update to 0.1.6 - Add poppler dependency -* Sat Mar 3 2005 Marco Pesenti Gritti - 0.1.5-2 +* Thu Mar 3 2005 Marco Pesenti Gritti - 0.1.5-2 - Rebuild * Sat Feb 26 2005 Marco Pesenti Gritti - 0.1.5-1 - Update to 0.1.5 -* Tue Feb 9 2005 Marco Pesenti Gritti - 0.1.4-1 +* Wed Feb 9 2005 Marco Pesenti Gritti - 0.1.4-1 - Update to 0.1.4 - Install schemas and update desktop database -* Tue Feb 4 2005 Marco Pesenti Gritti - 0.1.3-1 +* Fri Feb 4 2005 Marco Pesenti Gritti - 0.1.3-1 - Update to 0.1.3 * Tue Feb 1 2005 Marco Pesenti Gritti - 0.1.2-1