diff options
-rw-r--r-- | .build.yml | 4 | ||||
-rw-r--r-- | Makefile.am | 27 | ||||
-rwxr-xr-x | caja-dropbox.in | 31 | ||||
-rw-r--r-- | caja-dropbox.pot | 84 | ||||
-rw-r--r-- | configure.ac | 16 | ||||
-rw-r--r-- | data/Makefile.am | 31 | ||||
-rw-r--r-- | data/caja-dropbox.desktop.in (renamed from data/caja-dropbox.desktop) | 1 | ||||
-rw-r--r-- | data/libcaja-dropbox.caja-extension.in.in (renamed from data/libcaja-dropbox.caja-extension.in) | 0 | ||||
-rwxr-xr-x | makepot | 6 | ||||
-rw-r--r-- | po/LINGUAS | 2 | ||||
-rw-r--r-- | po/Makevars | 78 | ||||
-rw-r--r-- | po/POTFILES.in | 5 | ||||
-rw-r--r-- | po/ca.po | 100 | ||||
-rw-r--r-- | serializeimages.py | 2 |
14 files changed, 362 insertions, 25 deletions
@@ -20,10 +20,12 @@ requires: # Useful URL: https://github.com/mate-desktop/debian-packages # Useful URL: https://salsa.debian.org/debian-mate-team/caja-dropbox - autoconf-archive + - autopoint - clang - clang-tools - cppcheck - gcc + - gettext - git - libcaja-extension-dev - libglib2.0-dev @@ -49,9 +51,11 @@ requires: ubuntu: - autoconf-archive + - autopoint - clang - clang-tools - gcc + - gettext - git - libcaja-extension-dev - libglib2.0-dev diff --git a/Makefile.am b/Makefile.am index 11ed243..f6b6105 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,20 +1,36 @@ +if USE_NLS +PO_SUBDIR = po +endif + +SUBDIRS = $(PO_SUBDIR) data src + ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} bin_SCRIPTS = caja-dropbox -CLEANFILES = $(bin_SCRIPTS) caja-dropbox.1 caja-dropbox.txt -EXTRA_DIST = caja-dropbox.in serializeimages.py caja-dropbox.txt.in docgen.py rst2man.py autogen.sh + +CLEANFILES = \ + $(bin_SCRIPTS) \ + caja-dropbox.1 \ + caja-dropbox.txt + +EXTRA_DIST = \ + autogen.sh \ + caja-dropbox.in \ + caja-dropbox.txt.in \ + docgen.py \ + rst2man.py \ + serializeimages.py + man_MANS = caja-dropbox.1 caja-dropbox: $(top_srcdir)/caja-dropbox.in $(top_srcdir)/serializeimages.py - python3 $(top_srcdir)/serializeimages.py $(PACKAGE_VERSION) $(datadir)/applications < $(top_srcdir)/caja-dropbox.in > caja-dropbox + python3 $(top_srcdir)/serializeimages.py $(PACKAGE_VERSION) $(datadir)/applications $(GETTEXT_PACKAGE) $(datadir)/locale < $(top_srcdir)/caja-dropbox.in > caja-dropbox chmod +x caja-dropbox caja-dropbox.1: $(top_srcdir)/caja-dropbox.txt.in caja-dropbox $(top_srcdir)/docgen.py python3 $(top_srcdir)/docgen.py $(PACKAGE_VERSION) $(top_srcdir)/caja-dropbox.txt.in caja-dropbox.txt $(RST2MAN) caja-dropbox.txt > caja-dropbox.1 -SUBDIRS = data src - DISTCHECK_CONFIGURE_FLAGS = \ --enable-compile-warnings=no \ CFLAGS='-Wno-deprecated-declarations' @@ -28,4 +44,3 @@ ChangeLog: dist: ChangeLog .PHONY: ChangeLog - diff --git a/caja-dropbox.in b/caja-dropbox.in index a582d38..e827a74 100755 --- a/caja-dropbox.in +++ b/caja-dropbox.in @@ -37,6 +37,7 @@ import _thread import time import traceback import urllib.request +import gettext try: import gpg @@ -49,25 +50,33 @@ except ImportError: except ImportError: gpgme = None +try: + gettext.bindtextdomain("@GETTEXT_PACKAGE@","@LOCALEDIR@") + gettext.textdomain("@GETTEXT_PACKAGE@") + GETTEXT_PACKAGE = "@GETTEXT_PACKAGE@" +except: + GETTEXT_PACKAGE = "caja-dropbox" +_ = gettext.gettext + from contextlib import closing, contextmanager from io import BytesIO from operator import methodcaller from os.path import relpath from posixpath import curdir, sep, pardir, join, abspath, commonprefix -INFO = "Dropbox is the easiest way to share and store your files online. Want to learn more? Head to" -LINK = "https://www.dropbox.com/" -WARNING = "In order to use Dropbox, you must download the proprietary daemon." -GPG_WARNING = "Note: python-gpg (python-gpgme for Ubuntu 16.10 and lower) is not installed, we will not be able to verify binary signatures." -ERROR_CONNECTING = "Trouble connecting to Dropbox servers. Maybe your internet connection is down, or you need to set your http_proxy environment variable." -ERROR_SIGNATURE = "Downloaded binary does not match Dropbox signature, aborting install." -ERROR_INVALID_DROPBOX = "Could not start the Dropbox daemon. Make sure your computer meets the minimum requirements:\nhttps://www.dropbox.com/help/desktop-web/system-requirements#desktop" +INFO = _("Dropbox is the easiest way to share and store your files online. Want to learn more? Head to") +LINK = "https://www.dropbox.com" +WARNING = _("In order to use Dropbox, you must download the proprietary daemon.") +GPG_WARNING = _("Note: python-gpg (python-gpgme for Ubuntu 16.10 and lower) is not installed, we will not be able to verify binary signatures.") +ERROR_CONNECTING = _("Trouble connecting to Dropbox servers. Maybe your internet connection is down, or you need to set your http_proxy environment variable.") +ERROR_SIGNATURE = _("Downloaded binary does not match Dropbox signature, aborting install.") +ERROR_INVALID_DROPBOX = _("Could not start the Dropbox daemon. Make sure your computer meets the minimum requirements:\nhttps://www.dropbox.com/help/desktop-web/system-requirements#desktop") DOWNLOAD_LOCATION_FMT = "https://www.dropbox.com/download?plat=%s" SIGNATURE_LOCATION_FMT = "https://www.dropbox.com/download?plat=%s&signature=1" -DOWNLOADING = "Downloading Dropbox... %d%%" -UNPACKING = "Unpacking Dropbox... %d%%" +DOWNLOADING = _("Downloading Dropbox... %d%%") +UNPACKING = _("Unpacking Dropbox... %d%%") PARENT_DIR = os.path.expanduser("~") DROPBOXD_PATH = "%s/.dropbox-dist/dropboxd" % PARENT_DIR @@ -439,7 +448,7 @@ if GUI_AVAILABLE: def __init__(self): super(DownloadDialog, self).__init__(parent = None, - title = "Dropbox Installation") + title = _("Dropbox Installation")) self.download = None self.hovering = False @@ -500,7 +509,7 @@ if GUI_AVAILABLE: try: if can_reroll_autostart(): - dont_show_again = Gtk.CheckButton.new_with_mnemonic("_Don't show this again") + dont_show_again = Gtk.CheckButton.new_with_mnemonic(_("_Don't show this again")) dont_show_again.connect('toggled', self.handle_dont_show_toggle) dont_show_again.show() diff --git a/caja-dropbox.pot b/caja-dropbox.pot new file mode 100644 index 0000000..ebf1391 --- /dev/null +++ b/caja-dropbox.pot @@ -0,0 +1,84 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR MATE Desktop Environment team +# This file is distributed under the same license as the caja-dropbox package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: caja-dropbox 1.24.0\n" +"Report-Msgid-Bugs-To: https://mate-desktop.org\n" +"POT-Creation-Date: 2021-02-08 09:33+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <[email protected]>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: caja-dropbox.in:67 +msgid "" +"Dropbox is the easiest way to share and store your files online. Want to " +"learn more? Head to" +msgstr "" + +#: caja-dropbox.in:69 +msgid "In order to use Dropbox, you must download the proprietary daemon." +msgstr "" + +#: caja-dropbox.in:70 +msgid "" +"Note: python-gpg (python-gpgme for Ubuntu 16.10 and lower) is not installed, " +"we will not be able to verify binary signatures." +msgstr "" + +#: caja-dropbox.in:71 +msgid "" +"Trouble connecting to Dropbox servers. Maybe your internet connection is " +"down, or you need to set your http_proxy environment variable." +msgstr "" + +#: caja-dropbox.in:72 +msgid "Downloaded binary does not match Dropbox signature, aborting install." +msgstr "" + +#: caja-dropbox.in:73 +msgid "" +"Could not start the Dropbox daemon. Make sure your computer meets the " +"minimum requirements:\n" +"https://www.dropbox.com/help/desktop-web/system-requirements#desktop" +msgstr "" + +#: caja-dropbox.in:78 +#, c-format +msgid "Downloading Dropbox... %d%%" +msgstr "" + +#: caja-dropbox.in:79 +#, c-format +msgid "Unpacking Dropbox... %d%%" +msgstr "" + +#: caja-dropbox.in:451 +msgid "Dropbox Installation" +msgstr "" + +#: caja-dropbox.in:512 +msgid "_Don't show this again" +msgstr "" + +#: data/caja-dropbox.desktop.in:4 +msgid "Caja Dropbox" +msgstr "" + +#: data/caja-dropbox.desktop.in:5 +msgid "File Synchronizer For Mate" +msgstr "" + +#: data/caja-dropbox.desktop.in:6 +msgid "Installs and launches proprietary Dropbox cloud software" +msgstr "" + +#: data/caja-dropbox.desktop.in:13 +msgid "file;synchronization;sharing;collaboration;cloud;storage;backup;" +msgstr "" diff --git a/configure.ac b/configure.ac index fe2e9fb..b35606b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ # Initialization -AC_INIT([caja-dropbox], [1.24.0], [https://mate-desktop.org/]) +AC_INIT([caja-dropbox], [1.24.0], [https://mate-desktop.org]) AM_INIT_AUTOMAKE([1.9 tar-ustar dist-xz foreign no-dist-gzip]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) @@ -12,8 +12,14 @@ AC_CONFIG_HEADERS(config.h) MATE_COMPILE_WARNINGS -# not ready for i18n yet -#AC_PROG_INTLTOOL([0.29]) +# gettext +GETTEXT_PACKAGE=AC_PACKAGE_NAME +AC_SUBST(GETTEXT_PACKAGE) +AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [gettext package]) + +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.19.8]) +AM_CONDITIONAL([USE_NLS], [test "x${USE_NLS}" = "xyes"]) # Dependency checks CAJA_REQUIRED=1.17.1 @@ -116,7 +122,7 @@ AC_CONFIG_FILES([ Makefile src/Makefile data/Makefile - data/libcaja-dropbox.caja-extension + data/libcaja-dropbox.caja-extension.in data/icons/Makefile data/icons/hicolor/Makefile data/icons/hicolor/16x16/Makefile @@ -134,6 +140,7 @@ AC_CONFIG_FILES([ data/icons/hicolor/256x256/Makefile data/icons/hicolor/256x256/apps/Makefile data/emblems/Makefile + po/Makefile.in ]) AC_OUTPUT @@ -152,4 +159,5 @@ echo " warning flags: ${WARN_CFLAGS} custom caja extension dir: ${CAJA_EXTENSION_DIR} system caja extension dir: ${CAJA_EXTENSION_DIR_SYS} + Native Language support: ${USE_NLS} " diff --git a/data/Makefile.am b/data/Makefile.am index 99e2b7f..d0e3a2b 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,12 +1,35 @@ applicationdir = $(datadir)/applications -application_DATA = caja-dropbox.desktop +application_in_files = caja-dropbox.desktop.in +application_DATA = $(application_in_files:.desktop.in=.desktop) +%.desktop: %.desktop.in Makefile +if USE_NLS + $(AM_V_GEN) GETTEXTDATADIR=$(top_srcdir) $(MSGFMT) --desktop \ + --keyword= --keyword=Name --keyword=GenericName --keyword=Comment --keyword=Keywords \ + --template $< -d $(top_srcdir)/po -o $@ +else + $(AM_V_GEN) sed '/^# Translators/d' < $< > $@ +endif extensiondir = $(datadir)/caja/extensions -extension_in_files = libcaja-dropbox.caja-extension.in +extension_in_in_files = libcaja-dropbox.caja-extension.in.in +extension_in_files = $(extension_in_in_files:.caja-extension.in.in=.caja-extension.in) extension_DATA = $(extension_in_files:.caja-extension.in=.caja-extension) +$(extension_DATA): $(extension_in_files) Makefile +if USE_NLS + $(AM_V_GEN) $(MSGFMT) --desktop --keyword= --keyword=Copyright --keyword=Name --keyword=Description --template $< -d $(top_srcdir)/po -o $@ +else + $(AM_V_GEN) cp -f $< $@ +endif -EXTRA_DIST = $(application_DATA) +EXTRA_DIST = \ + $(application_in_files) \ + $(extension_in_in_files) -CLEANFILES = $(extension_data) +CLEANFILES = \ + $(application_DATA) \ + $(extension_DATA) + +DISTCLEANFILES = \ + $(extension_in_files) SUBDIRS = icons emblems diff --git a/data/caja-dropbox.desktop b/data/caja-dropbox.desktop.in index 435cd50..85a5057 100644 --- a/data/caja-dropbox.desktop +++ b/data/caja-dropbox.desktop.in @@ -6,6 +6,7 @@ Comment=Installs and launches proprietary Dropbox cloud software Exec=caja-dropbox start -i Terminal=false Type=Application +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! Icon=caja-dropbox Categories=Network;FileTransfer; Keywords=file;synchronization;sharing;collaboration;cloud;storage;backup; diff --git a/data/libcaja-dropbox.caja-extension.in b/data/libcaja-dropbox.caja-extension.in.in index 56894c6..56894c6 100644 --- a/data/libcaja-dropbox.caja-extension.in +++ b/data/libcaja-dropbox.caja-extension.in.in @@ -0,0 +1,6 @@ +#! /bin/sh + +PACKAGE=caja-dropbox; + +make -C po $PACKAGE.pot && mv po/$PACKAGE.pot . +sed -i "/#, fuzzy/d" $PACKAGE.pot diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..6e76730 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,2 @@ +# please keep this list sorted alphabetically +ca diff --git a/po/Makevars b/po/Makevars new file mode 100644 index 0000000..b6df474 --- /dev/null +++ b/po/Makevars @@ -0,0 +1,78 @@ +# Makefile variables for PO directory in any package using GNU gettext. + +# Usually the message domain is the same as the package name. +DOMAIN = $(PACKAGE) + +# These two variables depend on the location of this directory. +subdir = po +top_builddir = .. + +# These options get passed to xgettext. +XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ --keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --keyword=Copyright --keyword=Description --add-comments=Translators: + +# This is the copyright holder that gets inserted into the header of the +# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding +# package. (Note that the msgstr strings, extracted from the package's +# sources, belong to the copyright holder of the package.) Translators are +# expected to transfer the copyright for their translations to this person +# or entity, or to disclaim their copyright. The empty string stands for +# the public domain; in this case the translators are expected to disclaim +# their copyright. +COPYRIGHT_HOLDER = MATE Desktop Environment team + +# This tells whether or not to prepend "GNU " prefix to the package +# name that gets inserted into the header of the $(DOMAIN).pot file. +# Possible values are "yes", "no", or empty. If it is empty, try to +# detect it automatically by scanning the files in $(top_srcdir) for +# "GNU packagename" string. +PACKAGE_GNU = no + +# This is the email address or URL to which the translators shall report +# bugs in the untranslated strings: +# - Strings which are not entire sentences, see the maintainer guidelines +# in the GNU gettext documentation, section 'Preparing Strings'. +# - Strings which use unclear terms or require additional context to be +# understood. +# - Strings which make invalid assumptions about notation of date, time or +# money. +# - Pluralisation problems. +# - Incorrect English spelling. +# - Incorrect formatting. +# It can be your email address, or a mailing list address where translators +# can write to without being subscribed, or the URL of a web page through +# which the translators can contact you. +MSGID_BUGS_ADDRESS = + +# This is the list of locale categories, beyond LC_MESSAGES, for which the +# message catalogs shall be used. It is usually empty. +EXTRA_LOCALE_CATEGORIES = + +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = + +# These options get passed to msginit. +# If you want to disable line wrapping when writing PO files, add +# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and +# MSGINIT_OPTIONS. +MSGINIT_OPTIONS = + +# This tells whether or not to regenerate a PO file when $(DOMAIN).pot +# has changed. Possible values are "yes" and "no". Set this to no if +# the POT file is checked in the repository and the version control +# program ignores timestamps. +PO_DEPENDS_ON_POT = yes + +# This tells whether or not to forcibly update $(DOMAIN).pot and +# regenerate PO files on "make dist". Possible values are "yes" and +# "no". Set this to no if the POT file and PO files are maintained +# externally. +DIST_DEPENDS_ON_UPDATE_PO = yes diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 0000000..40683ba --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,5 @@ +# List of source files containing translatable strings. +# Please keep this list in alphabetic order. +caja-dropbox.in +data/caja-dropbox.desktop.in +data/libcaja-dropbox.caja-extension.in.in diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..172f8b2 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,100 @@ +# Catalan translation for Caja Dropbox. +# Copyright (C) 2021 MATE Desktop Environment team +# This file is distributed under the same license as the caja-dropbox package. +# Robert Buj <[email protected]>, 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: caja-dropbox 1.24.0\n" +"Report-Msgid-Bugs-To: https://mate-desktop.org\n" +"POT-Creation-Date: 2021-02-08 09:33+0100\n" +"PO-Revision-Date: 2021-02-08 02:11+0100\n" +"Last-Translator: Robert Buj <[email protected]>\n" +"Language-Team: \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.2\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: caja-dropbox.in:67 +msgid "" +"Dropbox is the easiest way to share and store your files online. Want to " +"learn more? Head to" +msgstr "" +"Dropbox és la forma més senzilla de compartir i emmagatzemar fitxers en " +"línia. Voleu obtenir més informació? Cap a" + +#: caja-dropbox.in:69 +msgid "In order to use Dropbox, you must download the proprietary daemon." +msgstr "Per utilitzar Dropbox, heu de baixar el dimoni propietari." + +#: caja-dropbox.in:70 +msgid "" +"Note: python-gpg (python-gpgme for Ubuntu 16.10 and lower) is not installed, " +"we will not be able to verify binary signatures." +msgstr "" +"Nota: python-gpg (python-gpgme per a Ubuntu 16.10 i versions anteriors) no " +"està instal·lat, no es podran verificar les signatures binàries." + +#: caja-dropbox.in:71 +msgid "" +"Trouble connecting to Dropbox servers. Maybe your internet connection is " +"down, or you need to set your http_proxy environment variable." +msgstr "" +"S'ha produït un error en connectar-se als servidors de Dropbox. Potser la " +"vostra connexió a apagada està inactiva o heu d’establir la variable " +"d’entorn http_proxy." + +#: caja-dropbox.in:72 +msgid "Downloaded binary does not match Dropbox signature, aborting install." +msgstr "" +"El fitxer binari baixat no coincideix amb la signatura de Dropbox, s'avorta " +"la instal·lació." + +#: caja-dropbox.in:73 +msgid "" +"Could not start the Dropbox daemon. Make sure your computer meets the " +"minimum requirements:\n" +"https://www.dropbox.com/help/desktop-web/system-requirements#desktop" +msgstr "" +"No s'ha pogut iniciar el dimoni de Dropbox. Assegureu-vos que l’ordinador " +"compleixi els requisits mínims:\n" +"https://www.dropbox.com/help/desktop-web/system-requirements#desktop" + +#: caja-dropbox.in:78 +#, c-format +msgid "Downloading Dropbox... %d%%" +msgstr "S'està baixant Dropbox... %d%%" + +#: caja-dropbox.in:79 +#, c-format +msgid "Unpacking Dropbox... %d%%" +msgstr "S'està desempaquetant Dropbox... %d%%" + +#: caja-dropbox.in:451 +msgid "Dropbox Installation" +msgstr "Instal·lació de Dropbox" + +#: caja-dropbox.in:512 +msgid "_Don't show this again" +msgstr "_No ho tornis a mostar" + +#: data/caja-dropbox.desktop.in:4 +msgid "Caja Dropbox" +msgstr "Caja Dropbox" + +#: data/caja-dropbox.desktop.in:5 +msgid "File Synchronizer For Mate" +msgstr "Sincronitzador de fitxers per a MATE" + +#: data/caja-dropbox.desktop.in:6 +msgid "Installs and launches proprietary Dropbox cloud software" +msgstr "Instal·leu i llançeu el programari propietari de núvol Dropbox" + +#: data/caja-dropbox.desktop.in:13 +msgid "file;synchronization;sharing;collaboration;cloud;storage;backup;" +msgstr "" +"fitxer;sincronització;compartir;col·laboració;núvol;emmagatzematge;còpia;" +"seguretat;" diff --git a/serializeimages.py b/serializeimages.py index 4d20a8d..4a282fb 100644 --- a/serializeimages.py +++ b/serializeimages.py @@ -20,6 +20,8 @@ if __name__ == '__main__': pixbuf16 = GdkPixbuf.Pixbuf.new_from_file(os.path.join(top_srcdir, "data/icons/hicolor/16x16/apps/caja-dropbox.png")) src2dest = {'@PACKAGE_VERSION@': sys.argv[1], '@DESKTOP_FILE_DIR@': sys.argv[2], + '@GETTEXT_PACKAGE@': sys.argv[3], + '@LOCALEDIR@': sys.argv[4], '@IMAGEDATA64@': ("GdkPixbuf.Pixbuf.new_from_data(%r, GdkPixbuf.Colorspace.RGB, %r, %r, %r, %r, %r)" % (pixbuf64.get_pixels(), pixbuf64.get_has_alpha(), pixbuf64.get_bits_per_sample(), pixbuf64.get_width(), pixbuf64.get_height(), pixbuf64.get_rowstride())), |