mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-01 16:42:03 +00:00
Migrate from intltool to gettext
intltool has long been dead upstream. Let's not poke the dead corpse, please. This commit is quite large, but that's mostly since trying to support a hybrid of both gettext and intltool with both Meson and Autotools was really hard, so I stopped trying. Due to gettext relying on quite some things being at the exactly right place in the autotools build (like `ABOUT-NLS` and `config.rpath`) we really needed to cleanup the `autogen.sh` to only call `aclocal` and `autoreconf`. No more strange magic; I tried to do it without changing too much in the file, and things just broke. If people want to do something more custom, they can just change the script directly. This change also uncovered some problems in our `configure.ac`, like using deprecated macros. The following major changes happened: * meson: Changed `custom_target()` to `i18n.merge_file()` for all supported file types * Added `.its` and `.loc` files for the GIMP-specific XML formats, so that gettext understands them * For the `.isl` (Window installer stuff) file, there's no easy way to do this in gettext, so instead we start from an XML file (again with its own ITS rules etc), translate that with gettext, and then use `xsltproc` with a bit of magic to output the .isl file for each language * the `po*/Makefile.in.in` files are migrated to `Makevars` files, which gettext natively understands. Fixes: https://gitlab.gnome.org/GNOME/gimp/-/issues/8028
This commit is contained in:
parent
a9f7feabd0
commit
f663d26ab5
69 changed files with 1666 additions and 2771 deletions
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -44,13 +44,6 @@
|
|||
/git-version.h
|
||||
/gtk-doc.make
|
||||
/install-sh
|
||||
/intltool-extract
|
||||
/intltool-extract.in
|
||||
/intltool-merge
|
||||
/intltool-merge.in
|
||||
/intltool-modules
|
||||
/intltool-update
|
||||
/intltool-update.in
|
||||
/libtool
|
||||
/ltmain.sh
|
||||
/missing
|
||||
|
|
|
@ -73,7 +73,7 @@ build-image:
|
|||
- echo "FROM debian:testing" > Dockerfile
|
||||
- echo "RUN apt-get update" >> Dockerfile
|
||||
- echo "RUN apt-get install -y --no-install-recommends \\" >> Dockerfile
|
||||
- echo "appstream at-spi2-core build-essential desktop-file-utils ffmpeg ghostscript git glib-networking gobject-introspection graphviz graphviz-dev hicolor-icon-theme intltool iso-codes libappstream-glib-dev libbz2-dev libdbus-glib-1-dev libexif-dev libgexiv2-dev libgirepository1.0-dev libgtk-3-bin libgtk-3-dev libgudev-1.0-dev libjson-glib-dev liblcms2-dev liblzma-dev libmng-dev libmypaint-dev libopenexr-dev libpoppler-glib-dev libraw-dev libraw20 librsvg2-dev libspiro-dev libsuitesparse-dev libtiff-dev libtiff5-dev libtool libumfpack5 libwebp-dev libwmf-dev libxmu-dev libxpm-dev luajit meson mypaint-brushes poppler-data python3 python3-pip valac xauth xsltproc xvfb yelp-tools" >> Dockerfile
|
||||
- echo "appstream at-spi2-core automake autopoint build-essential desktop-file-utils ffmpeg gettext ghostscript git glib-networking gobject-introspection graphviz graphviz-dev hicolor-icon-theme iso-codes libappstream-glib-dev libbz2-dev libdbus-glib-1-dev libexif-dev libgexiv2-dev libgirepository1.0-dev libgtk-3-bin libgtk-3-dev libgudev-1.0-dev libjson-glib-dev liblcms2-dev liblzma-dev libmng-dev libmypaint-dev libopenexr-dev libpoppler-glib-dev libraw-dev libraw20 librsvg2-dev libspiro-dev libsuitesparse-dev libtiff-dev libtiff5-dev libtool libumfpack5 libwebp-dev libwmf-dev libxmu-dev libxpm-dev luajit meson mypaint-brushes poppler-data python3 python3-pip valac xauth xsltproc xvfb yelp-tools" >> Dockerfile
|
||||
- echo "RUN pip3 install --no-cache-dir gi-docgen jinja2 Markdown markupsafe pygments toml typogrify" >> Dockerfile
|
||||
|
||||
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:build-debian-latest --cache=true --cache-ttl=120h
|
||||
|
@ -101,7 +101,7 @@ build-image-win64:
|
|||
- echo "FROM debian:testing" > Dockerfile
|
||||
- echo "RUN apt-get update" >> Dockerfile
|
||||
- echo "RUN apt-get install -y --no-install-recommends \\" >> Dockerfile
|
||||
- echo "build-essential cmake cpio g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 git intltool libgdk-pixbuf2.0-dev libglib2.0-bin librsvg2-dev meson pkg-config python3 python3-distutils python3-docutils python3-pip rpm xsltproc" >> Dockerfile
|
||||
- echo "automake autopoint build-essential cmake cpio g++-mingw-w64-x86-64 gcc-mingw-w64-x86-64 gettext git libgdk-pixbuf2.0-dev libglib2.0-bin librsvg2-dev meson pkg-config python3 python3-distutils python3-docutils python3-pip rpm xsltproc" >> Dockerfile
|
||||
|
||||
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:build-win64-latest --cache=true --cache-ttl=120h
|
||||
|
||||
|
@ -124,7 +124,7 @@ build-image-win32:
|
|||
- echo "FROM debian:testing" > Dockerfile
|
||||
- echo "RUN apt-get update" >> Dockerfile
|
||||
- echo "RUN apt-get install -y --no-install-recommends \\" >> Dockerfile
|
||||
- echo "build-essential cpio g++-mingw-w64-i686 gcc-mingw-w64-i686 git intltool libgdk-pixbuf2.0-dev libglib2.0-bin librsvg2-dev meson pkg-config python3 python3-distutils python3-docutils python3-pip rpm xsltproc" >> Dockerfile
|
||||
- echo "automake autopoint build-essential cpio g++-mingw-w64-i686 gcc-mingw-w64-i686 gettext git libgdk-pixbuf2.0-dev libglib2.0-bin librsvg2-dev meson pkg-config python3 python3-distutils python3-docutils python3-pip rpm xsltproc" >> Dockerfile
|
||||
|
||||
- /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:build-win32-latest --cache=true --cache-ttl=120h
|
||||
|
||||
|
|
|
@ -32,11 +32,8 @@ header files installed.
|
|||
1. You need to have installed a recent version of pkg-config (>= @GIMP_PKGCONFIG_VERSION@) available
|
||||
from https://www.freedesktop.org/software/pkgconfig/.
|
||||
|
||||
2. You need intltool (at least @INTLTOOL_REQUIRED_VERSION@, but preferably a newer version).
|
||||
Intltool can be downloaded from
|
||||
https://ftp.gnome.org/pub/gnome/sources/intltool/
|
||||
You also need gettext version @XGETTEXT_REQUIRED_VERSION@ or over. Earlier gettext had
|
||||
issues with script-fu localization, ending up in incomplete GIMP localization.
|
||||
2. You need gettext version 0.19.8 or newer. Older versions did not have support yet
|
||||
for certain file formats.
|
||||
|
||||
3. You need to have GEGL version @GEGL_REQUIRED_VERSION@ or newer and babl version
|
||||
@BABL_REQUIRED_VERSION@ or newer. You can get them from https://gegl.org/ or clone
|
||||
|
|
247
autogen.sh
247
autogen.sh
|
@ -9,255 +9,22 @@
|
|||
# tools and you shouldn't use this script. Just call ./configure
|
||||
# directly.
|
||||
|
||||
AUTOMAKE_RECOMMENDED_VERSION=1.16
|
||||
|
||||
AUTOCONF_REQUIRED_VERSION=2.54
|
||||
AUTOMAKE_REQUIRED_VERSION=1.13.0
|
||||
INTLTOOL_REQUIRED_VERSION=0.40.1
|
||||
LIBTOOL_REQUIRED_VERSION=1.5
|
||||
LIBTOOL_WIN32_REQUIRED_VERSION=2.2
|
||||
|
||||
ACLOCAL=${ACLOCAL-aclocal-${AUTOMAKE_RECOMMENDED_VERSION}}
|
||||
AUTOCONF=${AUTOCONF-autoconf}
|
||||
AUTOHEADER=${AUTOHEADER-autoheader}
|
||||
AUTOMAKE=${AUTOMAKE-automake-${AUTOMAKE_RECOMMENDED_VERSION}}
|
||||
LIBTOOLIZE=${LIBTOOLIZE-libtoolize}
|
||||
# Run this to generate all the initial makefiles, etc.
|
||||
test -n "$srcdir" || srcdir=`dirname "$0"`
|
||||
test -n "$srcdir" || srcdir=.
|
||||
|
||||
PROJECT="GNU Image Manipulation Program"
|
||||
TEST_TYPE=-d
|
||||
FILE=plug-ins
|
||||
|
||||
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
ORIGDIR=`pwd`
|
||||
cd $srcdir
|
||||
|
||||
|
||||
check_version ()
|
||||
{
|
||||
VERSION_A=$1
|
||||
VERSION_B=$2
|
||||
|
||||
save_ifs="$IFS"
|
||||
IFS=.
|
||||
set dummy $VERSION_A 0 0 0
|
||||
MAJOR_A=$2
|
||||
MINOR_A=$3
|
||||
MICRO_A=$4
|
||||
set dummy $VERSION_B 0 0 0
|
||||
MAJOR_B=$2
|
||||
MINOR_B=$3
|
||||
MICRO_B=$4
|
||||
IFS="$save_ifs"
|
||||
|
||||
if expr "$MAJOR_A" = "$MAJOR_B" > /dev/null; then
|
||||
if expr "$MINOR_A" \> "$MINOR_B" > /dev/null; then
|
||||
echo "yes (version $VERSION_A)"
|
||||
elif expr "$MINOR_A" = "$MINOR_B" > /dev/null; then
|
||||
if expr "$MICRO_A" \>= "$MICRO_B" > /dev/null; then
|
||||
echo "yes (version $VERSION_A)"
|
||||
else
|
||||
echo "Too old (version $VERSION_A)"
|
||||
DIE=1
|
||||
fi
|
||||
else
|
||||
echo "Too old (version $VERSION_A)"
|
||||
DIE=1
|
||||
fi
|
||||
elif expr "$MAJOR_A" \> "$MAJOR_B" > /dev/null; then
|
||||
echo "Major version might be too new ($VERSION_A)"
|
||||
else
|
||||
echo "Too old (version $VERSION_A)"
|
||||
DIE=1
|
||||
fi
|
||||
(test -f configure.ac) || {
|
||||
echo "*** ERROR: Directory "\`$srcdir\'" does not look like the top-level project directory ***"
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo
|
||||
echo "I am testing that you have the tools required to build the"
|
||||
echo "$PROJECT from git. This test is not foolproof,"
|
||||
echo "so if anything goes wrong, see the file HACKING for more information..."
|
||||
echo
|
||||
|
||||
DIE=0
|
||||
|
||||
OS=`uname -s`
|
||||
case $OS in
|
||||
*YGWIN* | *INGW*)
|
||||
echo "Looks like Win32, you will need libtool $LIBTOOL_WIN32_REQUIRED_VERSION or newer."
|
||||
echo
|
||||
LIBTOOL_REQUIRED_VERSION=$LIBTOOL_WIN32_REQUIRED_VERSION
|
||||
;;
|
||||
esac
|
||||
|
||||
printf "checking for libtool >= $LIBTOOL_REQUIRED_VERSION ... "
|
||||
if ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1; then
|
||||
LIBTOOLIZE=$LIBTOOLIZE
|
||||
elif (glibtoolize --version) < /dev/null > /dev/null 2>&1; then
|
||||
LIBTOOLIZE=glibtoolize
|
||||
else
|
||||
echo
|
||||
echo " You must have libtool installed to compile $PROJECT."
|
||||
echo " Install the appropriate package for your distribution,"
|
||||
echo " or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
||||
echo
|
||||
DIE=1
|
||||
fi
|
||||
|
||||
if test x$LIBTOOLIZE != x; then
|
||||
VER=`$LIBTOOLIZE --version \
|
||||
| grep libtool | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
|
||||
check_version $VER $LIBTOOL_REQUIRED_VERSION
|
||||
fi
|
||||
|
||||
printf "checking for autoconf >= $AUTOCONF_REQUIRED_VERSION ... "
|
||||
if ($AUTOCONF --version) < /dev/null > /dev/null 2>&1; then
|
||||
VER=`$AUTOCONF --version | head -n 1 \
|
||||
| grep -iw autoconf | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
|
||||
check_version $VER $AUTOCONF_REQUIRED_VERSION
|
||||
else
|
||||
echo
|
||||
echo " You must have autoconf installed to compile $PROJECT."
|
||||
echo " Download the appropriate package for your distribution,"
|
||||
echo " or get the source tarball at ftp://ftp.gnu.org/pub/gnu/autoconf/"
|
||||
echo
|
||||
DIE=1;
|
||||
fi
|
||||
|
||||
|
||||
printf "checking for automake >= $AUTOMAKE_REQUIRED_VERSION ... "
|
||||
if ($AUTOMAKE --version) < /dev/null > /dev/null 2>&1; then
|
||||
AUTOMAKE=$AUTOMAKE
|
||||
ACLOCAL=$ACLOCAL
|
||||
elif (automake-1.16 --version) < /dev/null > /dev/null 2>&1; then
|
||||
AUTOMAKE=automake-1.16
|
||||
ACLOCAL=aclocal-1.16
|
||||
elif (automake-1.15 --version) < /dev/null > /dev/null 2>&1; then
|
||||
AUTOMAKE=automake-1.15
|
||||
ACLOCAL=aclocal-1.15
|
||||
elif (automake-1.14 --version) < /dev/null > /dev/null 2>&1; then
|
||||
AUTOMAKE=automake-1.14
|
||||
ACLOCAL=aclocal-1.14
|
||||
elif (automake-1.13 --version) < /dev/null > /dev/null 2>&1; then
|
||||
AUTOMAKE=automake-1.13
|
||||
ACLOCAL=aclocal-1.13
|
||||
elif (automake --version) < /dev/null > /dev/null 2>&1; then
|
||||
AUTOMAKE=automake
|
||||
ACLOCAL=aclocal
|
||||
else
|
||||
echo
|
||||
echo " You must have automake $AUTOMAKE_REQUIRED_VERSION or newer installed to compile $PROJECT."
|
||||
echo " Download the appropriate package for your distribution,"
|
||||
echo " or get the source tarball at ftp://ftp.gnu.org/pub/gnu/automake/"
|
||||
echo
|
||||
DIE=1
|
||||
fi
|
||||
|
||||
if test x$AUTOMAKE != x; then
|
||||
VER=`$AUTOMAKE --version \
|
||||
| grep automake | sed "s/.* \([0-9.]*\)[-a-z0-9]*$/\1/"`
|
||||
check_version $VER $AUTOMAKE_REQUIRED_VERSION
|
||||
fi
|
||||
|
||||
|
||||
printf "checking for intltool >= $INTLTOOL_REQUIRED_VERSION ... "
|
||||
if (intltoolize --version) < /dev/null > /dev/null 2>&1; then
|
||||
VER=`intltoolize --version \
|
||||
| grep intltoolize | sed "s/.* \([0-9.]*\)/\1/"`
|
||||
check_version $VER $INTLTOOL_REQUIRED_VERSION
|
||||
else
|
||||
echo
|
||||
echo " You must have intltool installed to compile $PROJECT."
|
||||
echo " Get the latest version from"
|
||||
echo " ftp://ftp.gnome.org/pub/GNOME/sources/intltool/"
|
||||
echo
|
||||
DIE=1
|
||||
fi
|
||||
|
||||
|
||||
printf "checking for xsltproc ... "
|
||||
if (xsltproc --version) < /dev/null > /dev/null 2>&1; then
|
||||
echo "yes"
|
||||
else
|
||||
echo
|
||||
echo " You must have xsltproc installed to compile $PROJECT."
|
||||
echo " Get the latest version from"
|
||||
echo " ftp://ftp.gnome.org/pub/GNOME/sources/libxslt/"
|
||||
echo
|
||||
DIE=1
|
||||
fi
|
||||
|
||||
if test "$DIE" -eq 1; then
|
||||
echo
|
||||
echo "Please install/upgrade the missing tools and call me again."
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
test $TEST_TYPE $FILE || {
|
||||
echo
|
||||
echo "You must run this script in the top-level $PROJECT directory."
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
if test -z "$NOCONFIGURE"; then
|
||||
echo
|
||||
echo "I am going to run ./configure with the following arguments:"
|
||||
echo
|
||||
echo " $AUTOGEN_CONFIGURE_ARGS $@"
|
||||
echo
|
||||
|
||||
if test -z "$*"; then
|
||||
echo "If you wish to pass additional arguments, please specify them "
|
||||
echo "on the $0 command line or set the AUTOGEN_CONFIGURE_ARGS "
|
||||
echo "environment variable."
|
||||
echo
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test -z "$ACLOCAL_FLAGS"; then
|
||||
|
||||
acdir=`$ACLOCAL --print-ac-dir`
|
||||
m4list="glib-2.0.m4 glib-gettext.m4 gtk-3.0.m4 intltool.m4 pkg.m4"
|
||||
|
||||
for file in $m4list
|
||||
do
|
||||
if [ ! -f "$acdir/$file" ]; then
|
||||
echo
|
||||
echo "WARNING: aclocal's directory is $acdir, but..."
|
||||
echo " no file $acdir/$file"
|
||||
echo " You may see fatal macro warnings below."
|
||||
echo " If these files are installed in /some/dir, set the "
|
||||
echo " ACLOCAL_FLAGS environment variable to \"-I /some/dir\""
|
||||
echo " or install $acdir/$file."
|
||||
echo
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
rm -rf autom4te.cache
|
||||
|
||||
$ACLOCAL $ACLOCAL_FLAGS
|
||||
RC=$?
|
||||
if test $RC -ne 0; then
|
||||
echo "$ACLOCAL gave errors. Please fix the error conditions and try again."
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
$LIBTOOLIZE --force || exit $?
|
||||
|
||||
# optionally feature autoheader
|
||||
($AUTOHEADER --version) < /dev/null > /dev/null 2>&1 && $AUTOHEADER || exit 1
|
||||
|
||||
$AUTOMAKE --add-missing || exit $?
|
||||
$AUTOCONF || exit $?
|
||||
|
||||
intltoolize --automake || exit $?
|
||||
|
||||
autoreconf --verbose --force --install -Wno-portability || exit $?
|
||||
|
||||
cd $ORIGDIR
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ RUN apt-get install $APT_GET_OPTIONS build-essential devscripts fakeroot quilt d
|
|||
# none needed
|
||||
|
||||
# Installing additional dependencies for GEGL
|
||||
RUN apt-get install $APT_GET_OPTIONS intltool libglib2.0-dev libjson-c-dev libjson-glib-dev libgexiv2-dev libcairo2-dev libpango1.0-dev libjpeg62-turbo-dev libsuitesparse-dev libspiro-dev libopenexr-dev libwebp-dev
|
||||
RUN apt-get install $APT_GET_OPTIONS libglib2.0-dev libjson-c-dev libjson-glib-dev libgexiv2-dev libcairo2-dev libpango1.0-dev libjpeg62-turbo-dev libsuitesparse-dev libspiro-dev libopenexr-dev libwebp-dev
|
||||
|
||||
# Installing additional dependencies for GIMP
|
||||
RUN apt-get install $APT_GET_OPTIONS xsltproc gtk-doc-tools libgtk2.0-dev libtiff5-dev libbz2-dev liblzma-dev librsvg2-dev liblcms2-dev python-cairo-dev python-gtk2-dev glib-networking libaa1-dev libgs-dev libpoppler-glib-dev libmng-dev libwmf-dev libxpm-dev libasound2-dev
|
||||
RUN apt-get install $APT_GET_OPTIONS xsltproc gtk-doc-tools libgtk2.0-dev libtiff5-dev libbz2-dev liblzma-dev librsvg2-dev liblcms2-dev python-cairo-dev python-gtk2-dev glib-networking libaa1-dev libgs-dev libpoppler-glib-dev libmng-dev libwmf-dev libxpm-dev libasound2-dev
|
||||
|
|
|
@ -354,26 +354,6 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"//": "Copy from shared-modules to avoid submodules on dev repo.",
|
||||
"name": "intltool",
|
||||
"cleanup": [
|
||||
"*"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz",
|
||||
"sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd",
|
||||
"x-checker-data": {
|
||||
"type": "anitya",
|
||||
"project-id": 1385,
|
||||
"stable-only": true,
|
||||
"url-template": "https://launchpad.net/intltool/trunk/$version/+download/intltool-$version.tar.gz"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "libmypaint",
|
||||
"config-opts": [
|
||||
|
|
|
@ -23,7 +23,6 @@ pacman --noconfirm -Suy
|
|||
# Install the required packages
|
||||
pacman --noconfirm -S --needed \
|
||||
base-devel \
|
||||
intltool \
|
||||
mingw-w64-$MSYS2_ARCH-toolchain \
|
||||
mingw-w64-$MSYS2_ARCH-autotools \
|
||||
mingw-w64-$MSYS2_ARCH-ccache \
|
||||
|
|
|
@ -1,78 +1,72 @@
|
|||
isl_in_files = \
|
||||
setup.isl.in
|
||||
isl_files = $(isl_in_files:.isl.in=.isl)
|
||||
isl_xml_in_files = setup.isl.xml.in
|
||||
isl_xml_files = $(isl_xml_in_files:.isl.xml.in=.isl.xml)
|
||||
|
||||
stamp_files = \
|
||||
stamp-isl
|
||||
|
||||
CLEANFILES = $(isl_files) $(stamp_files)
|
||||
CLEANFILES = $(isl_xml_files) $(stamp_files)
|
||||
|
||||
# First we use the XML file to be able to do gettext translation
|
||||
$(isl_xml_files): $(is_xml_in_files) $(wildcard $(top_srcdir)/po-windows-installer/*.po) Makefile.am
|
||||
$(AM_V_GEN) GETTEXT_DATA_DIRS=$(abs_srcdir) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po-windows-installer -o $@
|
||||
|
||||
# Then, we generate the .isl file for each language using some xsltproc magic
|
||||
languages = \
|
||||
ca:[ca] \
|
||||
cs:[cs] \
|
||||
da:[da] \
|
||||
de:[de] \
|
||||
el:[el] \
|
||||
ca:ca \
|
||||
cs:cs \
|
||||
da:da \
|
||||
de:de \
|
||||
el:el \
|
||||
en: \
|
||||
en_GB:[en_GB] \
|
||||
eo:[eo] \
|
||||
es:[es] \
|
||||
eu:[eu] \
|
||||
fi:[fi] \
|
||||
fr:[fr] \
|
||||
gl:[gl] \
|
||||
he:[he] \
|
||||
hu:[hu] \
|
||||
id:[id] \
|
||||
is:[is] \
|
||||
it:[it] \
|
||||
ja:[ja] \
|
||||
ka:[ka] \
|
||||
kab:[kab] \
|
||||
ko:[ko] \
|
||||
lt:[lt] \
|
||||
lv:[lv] \
|
||||
mr:[mr] \
|
||||
ms:[ms] \
|
||||
nl:[nl] \
|
||||
pl:[pl] \
|
||||
pt:[pt] \
|
||||
pt_BR:[pt_BR] \
|
||||
ro:[ro] \
|
||||
ru:[ru] \
|
||||
sk:[sk] \
|
||||
sl:[sl] \
|
||||
sv:[sv] \
|
||||
tr:[tr] \
|
||||
uk:[uk] \
|
||||
vi:[vi] \
|
||||
zh_CN:[zh_CN] \
|
||||
zh_TW:[zh_TW]
|
||||
en_GB:en_GB \
|
||||
eo:eo \
|
||||
es:es \
|
||||
eu:eu \
|
||||
fi:fi \
|
||||
fr:fr \
|
||||
gl:gl \
|
||||
he:he \
|
||||
hu:hu \
|
||||
id:id \
|
||||
is:is \
|
||||
it:it \
|
||||
ja:ja \
|
||||
ka:ka \
|
||||
kab:kab \
|
||||
ko:ko \
|
||||
lt:lt \
|
||||
lv:lv \
|
||||
mr:mr \
|
||||
ms:ms \
|
||||
nl:nl \
|
||||
pl:pl \
|
||||
pt:pt \
|
||||
pt_BR:pt_BR \
|
||||
ro:ro \
|
||||
ru:ru \
|
||||
sk:sk \
|
||||
sl:sl \
|
||||
sv:sv \
|
||||
tr:tr \
|
||||
uk:uk \
|
||||
vi:vi \
|
||||
zh_CN:zh_CN \
|
||||
zh_TW:zh_TW
|
||||
|
||||
stamp-isl: setup.isl Makefile.am
|
||||
stamp-isl: setup.isl gimp-ms-installer-config.xsl.in Makefile.am
|
||||
@ \
|
||||
for lang in $(languages); do \
|
||||
code=`echo $$lang | cut -d: -f1`; \
|
||||
prefix=`echo $$lang | cut -d: -f2 | sed 's/[][]/\\\\\\0/g'`; \
|
||||
prefix=`echo $$lang | cut -d: -f2`; \
|
||||
lang_check=`[ "$$prefix" ] && echo "value[lang('$$code')]" || echo "value"`; \
|
||||
xsl="$(builddir)/gimp-ms-installer-config.xsl"; \
|
||||
isl="$(builddir)/$$code.setup.isl"; \
|
||||
echo " GEN $$isl"; \
|
||||
echo -ne "\\xEF\\xBB\\xBF" > "$$isl"; \
|
||||
sed '/^\w\+'"$$prefix"'=/{s/\(.\)'"$$prefix"'/\1/;n};/^\w.*=/d' $< >> "$$isl"; \
|
||||
sed 's/@LANG_CHECK@/$$lang_check/' "$$xsl" > "$$xsl.in"; \
|
||||
$(XSLTPROC) --xinclude "$$xsl" $< --output "$$isl" || rm -f "$$isl"; \
|
||||
done && \
|
||||
echo timestamp > stamp-isl
|
||||
|
||||
# * setup.isl.ini is used by intltool-extract to extract the localizable
|
||||
# strings. We needed to use the ini syntax for leaving comments to
|
||||
# translators (with '#' instead of ';').
|
||||
# * setup.isl.in is in the actual .isl format except for the gettext
|
||||
# underscoring.
|
||||
# * setup.isl is in the .isl format but mixing all languages.
|
||||
setup.isl: setup.isl.in $(wildcard $(top_srcdir)/po-windows-installer/*.po) Makefile.am
|
||||
$(AM_V_GEN) $(INTLTOOL_MERGE) $(top_srcdir)/po-windows-installer $< $(@) -d -u -c $(top_builddir)/po-windows-installer/.intltool-merge-cache
|
||||
|
||||
setup.isl.in: setup.isl.ini Makefile.am
|
||||
$(AM_V_GEN) sed 's/^#/;/' $< > $@
|
||||
|
||||
all-local: $(stamp_files)
|
||||
|
||||
clean-local:
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
#!/bin/bash
|
||||
prefix=$1
|
||||
infile=$2
|
||||
|
||||
#replace [] with \[\]
|
||||
prefix=$(echo "$prefix" | sed 's/[][]/\\\0/g')
|
||||
|
||||
# InnoSetup now supports UTF-8 for all languages, but it requires a BOM
|
||||
# at the start of the file.
|
||||
echo -ne "\\xEF\\xBB\\xBF";
|
||||
sed '/^\w\+'"$prefix"'=/{s/\(.\)'"$prefix"'/\1/;n};/^\w.*=/d' "$infile"
|
37
build/windows/installer/lang/gimp-ms-installer-config.xsl.in
Normal file
37
build/windows/installer/lang/gimp-ms-installer-config.xsl.in
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:output method="text" omit-xml-declaration="yes" />
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:apply-templates select="gimp-ms-installer-config" />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="gimp-ms-installer-config">
|
||||
<xsl:apply-templates select="section" />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="section">[<xsl:value-of select="@name"/>]
|
||||
<xsl:apply-templates select="config" />
|
||||
<xsl:text>
</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="config">
|
||||
<xsl:value-of select="@name"/>=<xsl:value-of select="."/>
|
||||
<xsl:apply-templates select="@LANG_CHECK@" />
|
||||
<xsl:text>
</xsl:text>
|
||||
</xsl:template>
|
||||
<xsl:template match="config">
|
||||
<xsl:choose>
|
||||
<xsl:when test="@LANG_CHECK@">
|
||||
<xsl:value-of select="@name"/>=<xsl:apply-templates select="@LANG_CHECK@" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="@name"/>=<xsl:apply-templates select="value[not(xml:lang)]" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:text>
</xsl:text>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="2.0"
|
||||
xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0">
|
||||
<its:translateRule selector="/gimp-ms-installer-config" translate="no"/>
|
||||
<its:translateRule selector="//value" translate="yes"/>
|
||||
</its:rules>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<locatingRules>
|
||||
<locatingRule name="GimpMsInstallerConfig" pattern="*.xml">
|
||||
<documentRule localName="gimp-ms-installer-config" target="gimp-ms-installer-config.its"/>
|
||||
</locatingRule>
|
||||
</locatingRules>
|
|
@ -1,25 +1,11 @@
|
|||
isl_in_input = custom_target('setup.isl.in',
|
||||
input : 'setup.isl.ini',
|
||||
output: 'setup.isl.in',
|
||||
capture: true,
|
||||
command: [
|
||||
'sed', 's/^#/;/', '@INPUT@',
|
||||
]
|
||||
)
|
||||
|
||||
isl_input = custom_target('setup.isl',
|
||||
input : isl_in_input,
|
||||
output: 'setup.isl',
|
||||
command: [
|
||||
intltool_merge,
|
||||
'--desktop-style',
|
||||
'--utf8',
|
||||
'--multiple-output',
|
||||
'--cache=' + '@OUTDIR@' / 'intltool-merge-cache',
|
||||
po_windows_installer_dir,
|
||||
'@INPUT@',
|
||||
'@OUTPUT@',
|
||||
]
|
||||
# First we use the XML file to be able to do gettext translation
|
||||
ms_installer_config_xml = i18n.merge_file(
|
||||
input : 'setup.isl.xml.in',
|
||||
output: '@BASENAME@',
|
||||
data_dirs: meson.current_source_dir(),
|
||||
po_dir: po_windows_installer_dir,
|
||||
install: true,
|
||||
install_dir: gimpdatadir / 'tags',
|
||||
)
|
||||
|
||||
languages = [
|
||||
|
@ -65,20 +51,34 @@ languages = [
|
|||
{ 'code': 'zh_TW', },
|
||||
]
|
||||
|
||||
extractlang = find_program('extractlang.sh')
|
||||
|
||||
# Then, we generate the .isl file for each language using some xsltproc magic
|
||||
all_isl = []
|
||||
foreach language : languages
|
||||
lang_code = language.get('code')
|
||||
lang_prefix = language.get('prefix', '[@0@]'.format(lang_code))
|
||||
lang_code = language.get('code')
|
||||
|
||||
islfile = '@0@.setup.isl'.format(lang_code)
|
||||
if 'prefix' in language
|
||||
lang_check = 'value[lang(\'@0@\')]'.format(lang_code)
|
||||
else
|
||||
lang_check = 'value'.format(lang_code)
|
||||
endif
|
||||
|
||||
all_isl += custom_target(islfile,
|
||||
input : isl_input,
|
||||
output: islfile,
|
||||
command: [ extractlang, lang_prefix, '@INPUT@' ],
|
||||
capture: true,
|
||||
gimp_ms_installer_lang_xsl = configure_file(
|
||||
input: 'gimp-ms-installer-config.xsl.in',
|
||||
output: '@BASENAME@',
|
||||
configuration: { 'LANG_CHECK': lang_check },
|
||||
)
|
||||
|
||||
setup_isl = '@0@.setup.isl'.format(lang_code)
|
||||
all_isl += custom_target(setup_isl,
|
||||
input : [ ms_installer_config_xml, gimp_ms_installer_lang_xsl ],
|
||||
output: setup_isl,
|
||||
command: [
|
||||
xsltproc,
|
||||
'--xinclude',
|
||||
'--output', '@OUTPUT@',
|
||||
'@INPUT1@',
|
||||
'@INPUT0@',
|
||||
],
|
||||
build_by_default: true,
|
||||
)
|
||||
endforeach
|
||||
|
|
|
@ -1,163 +0,0 @@
|
|||
# to generate the language-specific .setup.isl files,
|
||||
# configure with --enable-windows-installer, and run make.
|
||||
|
||||
[Messages]
|
||||
# InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted
|
||||
|
||||
_WizardInfoBefore=License Agreement
|
||||
_AboutSetupNote=Setup built by Jernej Simonèiè, jernej-gimp@ena.si
|
||||
_WinVersionTooLowError=This version of GIMP requires Windows 7, or a newer version of Windows.
|
||||
_WindowsVersionNotSupported=This version of GIMP requires Windows 7, or a newer version of Windows.
|
||||
|
||||
[CustomMessages]
|
||||
# Shown before the wizard starts on development versions of GIMP
|
||||
_DevelopmentWarningTitle=Development version
|
||||
# Shown before the wizard starts on development versions of GIMP
|
||||
_DevelopmentWarning=This is a development version of GIMP where some features may not be finished, or it may be unstable.%nThis version of GIMP is not intended for day-to-day work as it may be unstable, and you could lose your work.%nIf you encounter any problems, first verify that they haven't already been fixed in GIT before you contact the developers or report it in GIMP gitlab:%n_https://gitlab.gnome.org/GNOME/gimp/issues%n%nDo you wish to continue with installation anyway?
|
||||
_DevelopmentButtonContinue=&Continue
|
||||
_DevelopmentButtonExit=Exit
|
||||
|
||||
#XPSP3Recommended=Warning: you are running an unsupported version of Windows. Please update to at least Windows XP with Service Pack 3 before reporting any problems.
|
||||
|
||||
_SSERequired=This version of GIMP requires a processor that supports SSE instructions.
|
||||
|
||||
_Require32BPPTitle=Display settings problem
|
||||
_Require32BPP=Setup has detected that your Windows is not running in 32 bits-per-pixel display mode. This has been known to cause stability problems with GIMP, so it's recommended to change the display colour depth to 32BPP before continuing.
|
||||
_Require32BPPContinue=&Continue
|
||||
_Require32BPPExit=E&xit
|
||||
|
||||
_InstallOrCustomize=GIMP is now ready to be installed. Click the Install now button to install using the default settings, or click the Customize button if you'd like to have more control over what gets installed.
|
||||
_Install=&Install
|
||||
_Customize=&Customize
|
||||
|
||||
# Setup types
|
||||
_TypeCompact=Compact installation
|
||||
# Setup types
|
||||
_TypeCustom=Custom installation
|
||||
# Setup types
|
||||
_TypeFull=Full installation
|
||||
|
||||
# Text above component description
|
||||
_ComponentsDescription=Description
|
||||
# Components
|
||||
_ComponentsGimp=GIMP
|
||||
# Components
|
||||
_ComponentsGimpDescription=GIMP and all default plug-ins
|
||||
# Components
|
||||
_ComponentsDeps=Run-time libraries
|
||||
# Components
|
||||
_ComponentsDepsDescription=Run-time libraries used by GIMP, including GTK+ Run-time Environment
|
||||
# Components
|
||||
_ComponentsDebug=Debug symbols
|
||||
# Components
|
||||
_ComponentsDebugDescription=Include information to help with debugging GIMP
|
||||
# Components
|
||||
_ComponentsGtkWimp=MS-Windows engine for GTK+
|
||||
# Components
|
||||
_ComponentsGtkWimpDescription=Native Windows look for GIMP
|
||||
# Components
|
||||
_ComponentsCompat=Support for old plug-ins
|
||||
# Components
|
||||
_ComponentsCompatDescription=Install libraries needed by old third-party plug-ins
|
||||
# Components
|
||||
_ComponentsTranslations=Translations
|
||||
# Components
|
||||
_ComponentsTranslationsDescription=Translations
|
||||
# Components
|
||||
_ComponentsPython=Python scripting
|
||||
# Components
|
||||
_ComponentsPythonDescription=Allows you to use GIMP plugins written in Python scripting language.
|
||||
# Components
|
||||
_ComponentsLua=Lua scripting
|
||||
# Components
|
||||
_ComponentsLuaDescription=Allows you to use GIMP plugins written in Lua scripting language.
|
||||
# Components
|
||||
_ComponentsMyPaint=MyPaint brushes
|
||||
# Components
|
||||
_ComponentsMyPaintDescription=Install the default set of MyPaint brushes
|
||||
# Components
|
||||
_ComponentsGhostscript=PostScript support
|
||||
# Components
|
||||
_ComponentsGhostscriptDescription=Allow GIMP to load PostScript files
|
||||
# Components, only when installing on x64 Windows
|
||||
_ComponentsGimp32=Support for 32-bit plug-ins
|
||||
# Compoments, only when installing on x64 Windows
|
||||
_ComponentsGimp32Description=Include files necessary for using 32-bit plug-ins.%nRequired for Python support.
|
||||
|
||||
# Additional installation tasks
|
||||
_AdditionalIcons=Additional icons:
|
||||
# Additional installation tasks
|
||||
_AdditionalIconsDesktop=Create a &desktop icon
|
||||
# Additional installation tasks
|
||||
_AdditionalIconsQuickLaunch=Create a &Quick Launch icon
|
||||
|
||||
_RemoveOldGIMP=Remove previous GIMP version
|
||||
|
||||
# %1 is replaced by file name; this message should never appear (unless user runs out of disk space at the exact right moment)
|
||||
_ErrorChangingEnviron=There was a problem updating GIMP's environment in %1. If you get any errors loading the plug-ins, try uninstalling and re-installing GIMP.
|
||||
# This message should never appear (unless user runs out of disk space at the exact right moment)
|
||||
_ErrorExtractingTemp=Error extracting temporary data.
|
||||
# This message should never appear (unless user runs out of disk space at the exact right moment)
|
||||
_ErrorUpdatingPython=Error updating Python interpreter info.
|
||||
# This message should never appear (unless user runs out of disk space at the exact right moment)
|
||||
_ErrorUpdatingMyPaint=Error updating MyPaint brushes info.
|
||||
# %1 is replaced by file name; this message should never appear (unless user runs out of disk space at the exact right moment)
|
||||
_ErrorReadingGimpRC=There was an error updating %1.
|
||||
# %1 is replaced by file name; this message should never appear (unless user runs out of disk space at the exact right moment)
|
||||
_ErrorUpdatingGimpRC=There was an error updating GIMP's configuration file %1.
|
||||
|
||||
# Displayed in Explorer's right-click menu
|
||||
_OpenWithGimp=Edit with GIMP
|
||||
|
||||
# File associations page
|
||||
_SelectAssociationsCaption=Select file associations
|
||||
# File associations page
|
||||
_SelectAssociationsExtensions=Extensions:
|
||||
# File associations page
|
||||
_SelectAssociationsInfo1=Select the file types you wish to associate with GIMP
|
||||
# File associations page
|
||||
_SelectAssociationsInfo2=This will make selected files open in GIMP when you double-click them in Explorer.
|
||||
# File associations page
|
||||
_SelectAssociationsSelectAll=Select &All
|
||||
# File associations page
|
||||
_SelectAssociationsUnselectAll=Unselect &All
|
||||
# File associations page
|
||||
_SelectAssociationsSelectUnused=Select &Unused
|
||||
|
||||
# Shown on summary screen just before starting the install
|
||||
_ReadyMemoAssociations=File types to associate with GIMP:
|
||||
|
||||
_RemovingOldVersion=Removing previous version of GIMP:
|
||||
# %1 = version, %2 = installation directory; ran uninstaller, but it returned an error, or didn't remove everything
|
||||
_RemovingOldVersionFailed=GIMP %1 cannot be installed over your currently installed GIMP version, and the automatic uninstall of old version has failed.%n%nPlease remove the previous version of GIMP yourself before installing this version in %2, or choose a Custom install, and select a different installation folder.%n%nThe Setup will now exit.
|
||||
# %1 = version, %2 = installation directory; couldn't find an uninstaller, or found several uninstallers
|
||||
_RemovingOldVersionCantUninstall=GIMP %1 cannot be installed over your currently installed GIMP version, and Setup couldn't determine how to remove the old version automatically.%n%nPlease remove the previous version of GIMP and any add-ons yourself before installing this version in %2, or choose a Custom install, and select a different installation folder.%n%nThe Setup will now exit.
|
||||
|
||||
_RebootRequiredFirst=Previous GIMP version was removed successfully, but Windows has to be restarted before the Setup can continue.%n%nAfter restarting your computer, Setup will continue next time an administrator logs in.
|
||||
|
||||
# Displayed if restart settings couldn't be read, or if the setup couldn't re-run itself
|
||||
_ErrorRestartingSetup=There was an error restarting the Setup. (%1)
|
||||
|
||||
_RemovingOldFiles=Cleaning up old files...
|
||||
|
||||
# Displayed while the files are being extracted; note the capitalisation!
|
||||
_Billboard1=Remember: GIMP is Free Software.%n%nPlease visit
|
||||
# www.gimp.org (displayed between Billboard1 and Billboard2)
|
||||
_Billboard2=for free updates.
|
||||
|
||||
_SettingUpAssociations=Setting up file associations...
|
||||
_SettingUpPyGimp=Setting up environment for GIMP Python extension...
|
||||
_SettingUpMyPaint=Setting up MyPaint brushes...
|
||||
_SettingUpEnvironment=Setting up GIMP environment...
|
||||
_SettingUpGimpRC=Setting up GIMP configuration for 32-bit plug-in support...
|
||||
|
||||
# Displayed on last page
|
||||
_LaunchGimp=Launch GIMP
|
||||
|
||||
# Shown during uninstall when removing add-ons
|
||||
_UninstallingAddOnCaption=Removing add-on
|
||||
|
||||
_InternalError=Internal error (%1).
|
||||
|
||||
# Used by installer for add-ons (currently only help)
|
||||
_DirNotGimp=GIMP does not appear to be installed in the selected directory. Continue anyway?
|
326
build/windows/installer/lang/setup.isl.xml.in
Normal file
326
build/windows/installer/lang/setup.isl.xml.in
Normal file
|
@ -0,0 +1,326 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<gimp-ms-installer-config>
|
||||
|
||||
<section name="Messages">
|
||||
<!-- InfoBefore page is used instead of license page because the GPL only concerns distribution, not use, and as such doesn't have to be accepted -->
|
||||
<config name="WizardInfoBefore">
|
||||
<value>License Agreement</value>
|
||||
</config>
|
||||
<config name="AboutSetupNote">
|
||||
<value>Setup built by Jernej Simonèiè, jernej-gimp@ena.si</value>
|
||||
</config>
|
||||
<config name="WinVersionTooLowError">
|
||||
<value>This version of GIMP requires Windows 7, or a newer version of Windows.</value>
|
||||
</config>
|
||||
<config name="WindowsVersionNotSupported">
|
||||
<value>This version of GIMP requires Windows 7, or a newer version of Windows.</value>
|
||||
</config>
|
||||
</section>
|
||||
|
||||
<section name="CustomMessages">
|
||||
<!-- Shown before the wizard starts on development versions of GIMP -->
|
||||
<config name="DevelopmentWarningTitle">
|
||||
<value>Development version</value>
|
||||
</config>
|
||||
|
||||
<!-- Shown before the wizard starts on development versions of GIMP -->
|
||||
<config name="DevelopmentWarning">
|
||||
<value>This is a development version of GIMP where some features may not be finished, or it may be unstable.%nThis version of GIMP is not intended for day-to-day work as it may be unstable, and you could lose your work.%nIf you encounter any problems, first verify that they haven't already been fixed in GIT before you contact the developers or report it in GIMP gitlab:%n_https://gitlab.gnome.org/GNOME/gimp/issues%n%nDo you wish to continue with installation anyway?</value>
|
||||
</config>
|
||||
<config name="DevelopmentButtonContinue">
|
||||
<value>&Continue</value>
|
||||
</config>
|
||||
<config name="DevelopmentButtonExit">
|
||||
<value>Exit</value>
|
||||
</config>
|
||||
|
||||
<!--
|
||||
<config name="XPSP3Recommended">
|
||||
<value>Warning: you are running an unsupported version of Windows. Please update to at least Windows XP with Service Pack 3 before reporting any problems.</value>
|
||||
</config>
|
||||
-->
|
||||
|
||||
<config name="SSERequired">
|
||||
<value>This version of GIMP requires a processor that supports SSE instructions.</value>
|
||||
</config>
|
||||
|
||||
<config name="Require32BPPTitle">
|
||||
<value>Display settings problem</value>
|
||||
</config>
|
||||
<config name="Require32BPP">
|
||||
<value>Setup has detected that your Windows is not running in 32 bits-per-pixel display mode. This has been known to cause stability problems with GIMP, so it's recommended to change the display colour depth to 32BPP before continuing.</value>
|
||||
</config>
|
||||
<config name="Require32BPPContinue">
|
||||
<value>&Continue</value>
|
||||
</config>
|
||||
<config name="Require32BPPExit">
|
||||
<value>E&xit</value>
|
||||
</config>
|
||||
|
||||
<config name="InstallOrCustomize">
|
||||
<value>GIMP is now ready to be installed. Click the Install now button to install using the default settings, or click the Customize button if you'd like to have more control over what gets installed.</value>
|
||||
</config>
|
||||
<config name="Install">
|
||||
<value>&Install</value>
|
||||
</config>
|
||||
<config name="Customize">
|
||||
<value>&Customize</value>
|
||||
</config>
|
||||
|
||||
<!-- Setup types -->
|
||||
<config name="TypeCompact">
|
||||
<value>Compact installation</value>
|
||||
</config>
|
||||
<!-- Setup types -->
|
||||
<config name="TypeCustom">
|
||||
<value>Custom installation</value>
|
||||
</config>
|
||||
<!-- Setup types -->
|
||||
<config name="TypeFull">
|
||||
<value>Full installation</value>
|
||||
</config>
|
||||
|
||||
<!-- Text above component description -->
|
||||
<config name="ComponentsDescription">
|
||||
<value>Description</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsGimp">
|
||||
<value>GIMP</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsGimpDescription">
|
||||
<value>GIMP and all default plug-ins</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsDeps">
|
||||
<value>Run-time libraries</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsDepsDescription">
|
||||
<value>Run-time libraries used by GIMP, including GTK+ Run-time Environment</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsDebug">
|
||||
<value>Debug symbols</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsDebugDescription">
|
||||
<value>Include information to help with debugging GIMP</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsGtkWimp">
|
||||
<value>MS-Windows engine for GTK+</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsGtkWimpDescription">
|
||||
<value>Native Windows look for GIMP</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsCompat">
|
||||
<value>Support for old plug-ins</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsCompatDescription">
|
||||
<value>Install libraries needed by old third-party plug-ins</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsTranslations">
|
||||
<value>Translations</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsTranslationsDescription">
|
||||
<value>Translations</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsPython">
|
||||
<value>Python scripting</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsPythonDescription">
|
||||
<value>Allows you to use GIMP plugins written in Python scripting language.</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsLua">
|
||||
<value>Lua scripting</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsLuaDescription">
|
||||
<value>Allows you to use GIMP plugins written in Lua scripting language.</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsMyPaint">
|
||||
<value>MyPaint brushes</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsMyPaintDescription">
|
||||
<value>Install the default set of MyPaint brushes</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsGhostscript">
|
||||
<value>PostScript support</value>
|
||||
</config>
|
||||
<!-- Components -->
|
||||
<config name="ComponentsGhostscriptDescription">
|
||||
<value>Allow GIMP to load PostScript files</value>
|
||||
</config>
|
||||
<!-- Components, only when installing on x64 Windows -->
|
||||
<config name="ComponentsGimp32">
|
||||
<value>Support for 32-bit plug-ins</value>
|
||||
</config>
|
||||
<!-- Compoments, only when installing on x64 Windows -->
|
||||
<config name="ComponentsGimp32Description">
|
||||
<value>Include files necessary for using 32-bit plug-ins.%nRequired for Python support.</value>
|
||||
</config>
|
||||
|
||||
<!-- Additional installation tasks -->
|
||||
<config name="AdditionalIcons">
|
||||
<value>Additional icons:</value>
|
||||
</config>
|
||||
<!-- Additional installation tasks -->
|
||||
<config name="AdditionalIconsDesktop">
|
||||
<value>Create a &desktop icon</value>
|
||||
</config>
|
||||
<!-- Additional installation tasks -->
|
||||
<config name="AdditionalIconsQuickLaunch">
|
||||
<value>Create a &Quick Launch icon</value>
|
||||
</config>
|
||||
|
||||
<config name="RemoveOldGIMP">
|
||||
<value>Remove previous GIMP version</value>
|
||||
</config>
|
||||
|
||||
<!-- %1 is replaced by file name; this message should never appear (unless user runs out of disk space at the exact right moment) -->
|
||||
<config name="ErrorChangingEnviron">
|
||||
<value>There was a problem updating GIMP's environment in %1. If you get any errors loading the plug-ins, try uninstalling and re-installing GIMP.</value>
|
||||
</config>
|
||||
<!-- This message should never appear (unless user runs out of disk space at the exact right moment) -->
|
||||
<config name="ErrorExtractingTemp">
|
||||
<value>Error extracting temporary data.</value>
|
||||
</config>
|
||||
<!-- This message should never appear (unless user runs out of disk space at the exact right moment) -->
|
||||
<config name="ErrorUpdatingPython">
|
||||
<value>Error updating Python interpreter info.</value>
|
||||
</config>
|
||||
<!-- This message should never appear (unless user runs out of disk space at the exact right moment) -->
|
||||
<config name="ErrorUpdatingMyPaint">
|
||||
<value>Error updating MyPaint brushes info.</value>
|
||||
</config>
|
||||
<!-- %1 is replaced by file name; this message should never appear (unless user runs out of disk space at the exact right moment) -->
|
||||
<config name="ErrorReadingGimpRC">
|
||||
<value>There was an error updating %1.</value>
|
||||
</config>
|
||||
<!-- %1 is replaced by file name; this message should never appear (unless user runs out of disk space at the exact right moment) -->
|
||||
<config name="ErrorUpdatingGimpRC">
|
||||
<value>There was an error updating GIMP's configuration file %1.</value>
|
||||
</config>
|
||||
|
||||
<!-- Displayed in Explorer's right-click menu -->
|
||||
<config name="OpenWithGimp">
|
||||
<value>Edit with GIMP</value>
|
||||
</config>
|
||||
|
||||
<!-- File associations page -->
|
||||
<config name="SelectAssociationsCaption">
|
||||
<value>Select file associations</value>
|
||||
</config>
|
||||
<!-- File associations page -->
|
||||
<config name="SelectAssociationsExtensions">
|
||||
<value>Extensions:</value>
|
||||
</config>
|
||||
<!-- File associations page -->
|
||||
<config name="SelectAssociationsInfo1">
|
||||
<value>Select the file types you wish to associate with GIMP</value>
|
||||
</config>
|
||||
<!-- File associations page -->
|
||||
<config name="SelectAssociationsInfo2">
|
||||
<value>This will make selected files open in GIMP when you double-click them in Explorer.</value>
|
||||
</config>
|
||||
<!-- File associations page -->
|
||||
<config name="SelectAssociationsSelectAll">
|
||||
<value>Select &All</value>
|
||||
</config>
|
||||
<!-- File associations page -->
|
||||
<config name="SelectAssociationsUnselectAll">
|
||||
<value>Unselect &All</value>
|
||||
</config>
|
||||
<!-- File associations page -->
|
||||
<config name="SelectAssociationsSelectUnused">
|
||||
<value>Select &Unused</value>
|
||||
</config>
|
||||
|
||||
<!-- Shown on summary screen just before starting the install -->
|
||||
<config name="ReadyMemoAssociations">
|
||||
<value>File types to associate with GIMP:</value>
|
||||
</config>
|
||||
|
||||
<config name="RemovingOldVersion">
|
||||
<value>Removing previous version of GIMP:</value>
|
||||
</config>
|
||||
<!-- %1 = version, %2 = installation directory; ran uninstaller, but it returned an error, or didn't remove everything -->
|
||||
<config name="RemovingOldVersionFailed">
|
||||
<value>GIMP %1 cannot be installed over your currently installed GIMP version, and the automatic uninstall of old version has failed.%n%nPlease remove the previous version of GIMP yourself before installing this version in %2, or choose a Custom install, and select a different installation folder.%n%nThe Setup will now exit.</value>
|
||||
</config>
|
||||
<!-- %1 = version, %2 = installation directory; couldn't find an uninstaller, or found several uninstallers -->
|
||||
<config name="RemovingOldVersionCantUninstall">
|
||||
<value>GIMP %1 cannot be installed over your currently installed GIMP version, and Setup couldn't determine how to remove the old version automatically.%n%nPlease remove the previous version of GIMP and any add-ons yourself before installing this version in %2, or choose a Custom install, and select a different installation folder.%n%nThe Setup will now exit.</value>
|
||||
</config>
|
||||
|
||||
<config name="RebootRequiredFirst">
|
||||
<value>Previous GIMP version was removed successfully, but Windows has to be restarted before the Setup can continue.%n%nAfter restarting your computer, Setup will continue next time an administrator logs in.</value>
|
||||
</config>
|
||||
|
||||
<!-- Displayed if restart settings couldn't be read, or if the setup couldn't re-run itself -->
|
||||
<config name="ErrorRestartingSetup">
|
||||
<value>There was an error restarting the Setup. (%1)</value>
|
||||
</config>
|
||||
|
||||
<config name="RemovingOldFiles">
|
||||
<value>Cleaning up old files...</value>
|
||||
</config>
|
||||
|
||||
<!-- Displayed while the files are being extracted; note the capitalisation! -->
|
||||
<config name="Billboard1">
|
||||
<value>Remember: GIMP is Free Software.%n%nPlease visit</value>
|
||||
</config>
|
||||
<!-- www.gimp.org (displayed between Billboard1 and Billboard2) -->
|
||||
<config name="Billboard2">
|
||||
<value>for free updates.</value>
|
||||
</config>
|
||||
|
||||
<config name="SettingUpAssociations">
|
||||
<value>Setting up file associations...</value>
|
||||
</config>
|
||||
<config name="SettingUpPyGimp">
|
||||
<value>Setting up environment for GIMP Python extension...</value>
|
||||
</config>
|
||||
<config name="SettingUpMyPaint">
|
||||
<value>Setting up MyPaint brushes...</value>
|
||||
</config>
|
||||
<config name="SettingUpEnvironment">
|
||||
<value>Setting up GIMP environment...</value>
|
||||
</config>
|
||||
<config name="SettingUpGimpRC">
|
||||
<value>Setting up GIMP configuration for 32-bit plug-in support...</value>
|
||||
</config>
|
||||
|
||||
<!-- Displayed on last page -->
|
||||
<config name="LaunchGimp">
|
||||
<value>Launch GIMP</value>
|
||||
</config>
|
||||
|
||||
<!-- Shown during uninstall when removing add-ons -->
|
||||
<config name="UninstallingAddOnCaption">
|
||||
<value>Removing add-on</value>
|
||||
</config>
|
||||
|
||||
<config name="InternalError">
|
||||
<value>Internal error (%1).</value>
|
||||
</config>
|
||||
|
||||
<!-- Used by installer for add-ons (currently only help) -->
|
||||
<config name="DirNotGimp">
|
||||
<value>GIMP does not appear to be installed in the selected directory. Continue anyway?</value>
|
||||
</config>
|
||||
</section>
|
||||
</gimp-ms-installer-config>
|
|
@ -4,7 +4,7 @@ To begin with, you need to install jhbuild, mingw-w64, and a few other build-rel
|
|||
|
||||
If you're using debian, install these packages:
|
||||
|
||||
sudo apt-get install build-essential mingw-w64 git jhbuild automake autoconf libtool libgtk2.0-dev ragel intltool bison flex gperf gtk-doc-tools nasm ruby cmake libxml-simple-perl
|
||||
sudo apt-get install build-essential mingw-w64 git jhbuild automake autoconf libtool libgtk2.0-dev ragel bison flex gperf gtk-doc-tools nasm ruby cmake libxml-simple-perl
|
||||
|
||||
From there, in theory, you can simply clone this repo, cd into it, and run:
|
||||
|
||||
|
|
86
configure.ac
86
configure.ac
|
@ -69,7 +69,6 @@ m4_define([gtk_mac_integration_required_version], [2.0.0])
|
|||
m4_define([gtk_required_version], [3.22.29])
|
||||
m4_define([gtkdoc_required_version], [1.0])
|
||||
m4_define([harfbuzz_required_version], [1.0.5])
|
||||
m4_define([intltool_required_version], [0.40.1])
|
||||
m4_define([introspection_required_version], [1.32.0])
|
||||
m4_define([json_glib_required_version], [1.2.6])
|
||||
m4_define([lcms_required_version], [2.8])
|
||||
|
@ -94,10 +93,6 @@ m4_define([webkitgtk_required_version], [2.20.3])
|
|||
m4_define([webp_required_version], [0.6.0])
|
||||
m4_define([wmf_required_version], [0.2.8])
|
||||
|
||||
# Current test considers only 2 version numbers. If we update the recommended
|
||||
# version of gettext with more version numbers, please update the tests.
|
||||
m4_define([xgettext_required_version], [0.19])
|
||||
|
||||
# required versions for build-time only tools
|
||||
m4_define([native_glib_required_version], [2.2.0])
|
||||
|
||||
|
@ -109,7 +104,7 @@ AC_CONFIG_HEADERS([config.h])
|
|||
AC_CONFIG_SRCDIR([app/core/gimp.c])
|
||||
AC_CONFIG_MACRO_DIR([m4macros])
|
||||
|
||||
AM_INIT_AUTOMAKE(no-define dist-bzip2 dist-xz no-dist-gzip -Wno-portability)
|
||||
AM_INIT_AUTOMAKE(no-define dist-bzip2 dist-xz no-dist-gzip foreign)
|
||||
|
||||
# Enable silent build rules by default, requires at least
|
||||
# Automake-1.11. Disable by either passing --disable-silent-rules to
|
||||
|
@ -178,7 +173,6 @@ GEXIV2_REQUIRED_VERSION=gexiv2_required_version
|
|||
GLIB_REQUIRED_VERSION=glib_required_version
|
||||
GTK_REQUIRED_VERSION=gtk_required_version
|
||||
HARFBUZZ_REQUIRED_VERSION=harfbuzz_required_version
|
||||
INTLTOOL_REQUIRED_VERSION=intltool_required_version
|
||||
LCMS_REQUIRED_VERSION=lcms_required_version
|
||||
LIBHEIF_REQUIRED_VERSION=libheif_required_version
|
||||
LIBJXL_REQUIRED_VERSION=libjxl_required_version
|
||||
|
@ -199,7 +193,6 @@ WEBKITGTK_REQUIRED_VERSION=webkitgtk_required_version
|
|||
WEBP_REQUIRED_VERSION=webp_required_version
|
||||
WMF_REQUIRED_VERSION=wmf_required_version
|
||||
LIBUNWIND_REQUIRED_VERSION=libunwind_required_version
|
||||
XGETTEXT_REQUIRED_VERSION=xgettext_required_version
|
||||
AC_SUBST(APPSTREAM_GLIB_REQUIRED_VERSION)
|
||||
AC_SUBST(ATK_REQUIRED_VERSION)
|
||||
AC_SUBST(BABL_MAJOR_MINOR_VERSION)
|
||||
|
@ -215,7 +208,6 @@ AC_SUBST(GEXIV2_REQUIRED_VERSION)
|
|||
AC_SUBST(GLIB_REQUIRED_VERSION)
|
||||
AC_SUBST(GTK_REQUIRED_VERSION)
|
||||
AC_SUBST(HARFBUZZ_REQUIRED_VERSION)
|
||||
AC_SUBST(INTLTOOL_REQUIRED_VERSION)
|
||||
AC_SUBST(LCMS_REQUIRED_VERSION)
|
||||
AC_SUBST(LIBHEIF_REQUIRED_VERSION)
|
||||
AC_SUBST(LIBJXL_REQUIRED_VERSION)
|
||||
|
@ -236,7 +228,6 @@ AC_SUBST(WEBKITGTK_REQUIRED_VERSION)
|
|||
AC_SUBST(WEBP_REQUIRED_VERSION)
|
||||
AC_SUBST(WMF_REQUIRED_VERSION)
|
||||
AC_SUBST(LIBUNWIND_REQUIRED_VERSION)
|
||||
AC_SUBST(XGETTEXT_REQUIRED_VERSION)
|
||||
|
||||
# The symbol GIMP_UNSTABLE is defined above for substitution in
|
||||
# Makefiles and conditionally defined here as a preprocessor symbol
|
||||
|
@ -264,11 +255,6 @@ AC_SUBST(GETTEXT_PACKAGE)
|
|||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
|
||||
[The prefix for our gettext translation domains.])
|
||||
|
||||
# work around intltool-update issues during 'make distcheck'
|
||||
AS_IF([test "x$0" != "x./configure"], [
|
||||
AC_SUBST([INTLTOOL_UPDATE], [/bin/true])
|
||||
])
|
||||
|
||||
# Determine a C compiler to use
|
||||
AC_PROG_CC
|
||||
AX_PROG_CC_FOR_BUILD
|
||||
|
@ -672,36 +658,8 @@ m4_define([add_deps_error], [
|
|||
# Internationalisation
|
||||
######################
|
||||
|
||||
IT_PROG_INTLTOOL(intltool_required_version)
|
||||
|
||||
# Testing xgettext version since we had some problem with localizing script-fu. See bug 720052.
|
||||
AC_MSG_CHECKING([for xgettext version (>= xgettext_required_version)])
|
||||
XGETTEXT_REQUIRED_VERSION_MAJOR=`echo $XGETTEXT_REQUIRED_VERSION | awk -F. '{ print $ 1; }'`
|
||||
XGETTEXT_REQUIRED_VERSION_MINOR_1=`echo $XGETTEXT_REQUIRED_VERSION | awk -F. '{ print $ 2; }'`
|
||||
|
||||
XGETTEXT_APPLIED_VERSION=`$XGETTEXT --version | head -1 | cut -d" " -f4`
|
||||
XGETTEXT_APPLIED_VERSION_MAJOR=`echo $XGETTEXT_APPLIED_VERSION | awk -F. '{ print $ 1; }'`
|
||||
XGETTEXT_APPLIED_VERSION_MINOR_1=`echo $XGETTEXT_APPLIED_VERSION | awk -F. '{ print $ 2; }'`
|
||||
|
||||
have_required_xgettext="no"
|
||||
if test -n "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
|
||||
if test "$XGETTEXT_REQUIRED_VERSION_MAJOR" -lt "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
|
||||
have_required_xgettext="yes"
|
||||
elif test "$XGETTEXT_REQUIRED_VERSION_MAJOR" -eq "$XGETTEXT_APPLIED_VERSION_MAJOR"; then
|
||||
if test -n "$XGETTEXT_APPLIED_VERSION_MINOR_1"; then
|
||||
if test "$XGETTEXT_REQUIRED_VERSION_MINOR_1" -le "$XGETTEXT_APPLIED_VERSION_MINOR_1"; then
|
||||
have_required_xgettext="yes"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
AC_MSG_RESULT($have_required_xgettext)
|
||||
|
||||
if test "x$have_required_xgettext" = "xno"; then
|
||||
add_deps_error([xgettext], [xgettext >= xgettext_required_version])
|
||||
fi
|
||||
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
AM_GNU_GETTEXT([external])
|
||||
AM_GNU_GETTEXT_VERSION([0.19.8])
|
||||
|
||||
###########
|
||||
# iso-codes
|
||||
|
@ -2844,13 +2802,6 @@ AC_ARG_ENABLE(windows-installer,
|
|||
(default=no)],,
|
||||
enable_windows_installer=no)
|
||||
|
||||
if test "x$enable_windows_installer" != xno; then
|
||||
if test ! -e "$srcdir/build/windows/installer/lang/setup.isl.ini"; then
|
||||
AC_MSG_RESULT([no (not building from git)])
|
||||
AC_MSG_ERROR([Building the Windows installer is only supported when building from git.])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT([$enable_windows_installer])
|
||||
AM_CONDITIONAL(BUILD_WINDOWS_INSTALLER, test "x$enable_windows_installer" != xno)
|
||||
|
||||
|
@ -3241,37 +3192,6 @@ gimpthumb-gimp_pkgconfig_version.pc:gimpthumb.pc.in
|
|||
gimpui-gimp_pkgconfig_version.pc:gimpui.pc.in
|
||||
)
|
||||
|
||||
# By default, autoconf will create only po/Makefile.
|
||||
# This code is used to create the POTFILES and Makefile for all
|
||||
# additional gettext catalogs.
|
||||
m4_define([generate_po_makefile], [
|
||||
AC_MSG_NOTICE([Generating POTFILES and Makefile for $1])
|
||||
|
||||
AC_CONFIG_COMMANDS([$1/stamp-it],
|
||||
[[
|
||||
if ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ; then
|
||||
as_fn_error $? "$1/Makefile.in.in was not created by intltoolize." "$LINENO" 5
|
||||
fi
|
||||
rm -f "$1/stamp-it" "$1/POTFILES"
|
||||
sed -e '/^#/d' -e 's/^[[].*] *//' \
|
||||
-e '/^[ ]*$/d' \
|
||||
-e "s|^| $ac_top_srcdir/|" \
|
||||
"$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" && \
|
||||
sed -e "/^# This comment gets stripped out/ {" \
|
||||
-e 'r $1/POTFILES' \
|
||||
-e "d" -e "}" \
|
||||
"$1/Makefile.in" >"$1/Makefile" && \
|
||||
touch "$1/stamp-it"
|
||||
]])
|
||||
])
|
||||
|
||||
generate_po_makefile([po-libgimp])
|
||||
generate_po_makefile([po-python])
|
||||
generate_po_makefile([po-plug-ins])
|
||||
generate_po_makefile([po-script-fu])
|
||||
generate_po_makefile([po-tips])
|
||||
generate_po_makefile([po-windows-installer])
|
||||
|
||||
# Print a summary of features enabled/disabled:
|
||||
optional_deps="
|
||||
Extra Binaries:
|
||||
|
|
|
@ -15,10 +15,14 @@ EXTRA_DIST = \
|
|||
|
||||
DISTCLEANFILES = $(tagsdata_data_files)
|
||||
|
||||
itsdir = $(datadir)/gettext/its
|
||||
its_DATA = its/gimp-tags.loc its/gimp-tags.its
|
||||
|
||||
EXTRA_DIST += $(its_DATA)
|
||||
|
||||
|
||||
gimp-tags-default.xml: gimp-tags-default.xml.in $(wildcard $(top_srcdir)/po-tags/*.po)
|
||||
mkdir -p $(top_builddir)/po-tags/
|
||||
$(INTLTOOL_MERGE) $(top_srcdir)/po-tags $< $(@) -x -u -c $(top_builddir)/po-tags/.intltool-merge-cache
|
||||
$(AM_V_GEN) GETTEXT_DATA_DIRS=$(abs_srcdir) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po-tags -o $@
|
||||
|
||||
|
||||
validate: gimp-tags-default.xml
|
||||
|
|
|
@ -8,15 +8,15 @@
|
|||
<tags>
|
||||
<resource identifier="${gimp_data_dir}/brushes/Round.vbr" checksum="a7f02530d3bc7484c8f9240cbe9c65b1">
|
||||
<tag>
|
||||
<_thetag>round</_thetag>
|
||||
<thetag>round</thetag>
|
||||
</tag>
|
||||
</resource>
|
||||
|
||||
<resource identifier="${gimp_data_dir}/brushes/Round-Fuzzy.vbr" checksum="f8cb2466841104a55e42afce4568d103">
|
||||
<tag>
|
||||
<!-- fuzzy as in a feathered, blurred, unfocused, soft brush -->
|
||||
<_thetag>fuzzy</_thetag>
|
||||
<_thetag>round</_thetag>
|
||||
<thetag>fuzzy</thetag>
|
||||
<thetag>round</thetag>
|
||||
</tag>
|
||||
</resource>
|
||||
</tags>
|
||||
|
|
5
data/tags/its/gimp-tags.its
Normal file
5
data/tags/its/gimp-tags.its
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0"?>
|
||||
<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
|
||||
<its:translateRule selector="/tags" translate="no"/>
|
||||
<its:translateRule selector="//thetag" translate="yes"/>
|
||||
</its:rules>
|
6
data/tags/its/gimp-tags.loc
Normal file
6
data/tags/its/gimp-tags.loc
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<locatingRules>
|
||||
<locatingRule name="GimpTags" pattern="*.xml">
|
||||
<documentRule localName="tags" target="gimp-tags.its"/>
|
||||
</locatingRule>
|
||||
</locatingRules>
|
|
@ -1,19 +1,15 @@
|
|||
|
||||
xmlfilename = 'gimp-tags-default.xml'
|
||||
|
||||
gimp_tags_default = custom_target(xmlfilename,
|
||||
input : xmlfilename+'.in',
|
||||
output: xmlfilename,
|
||||
|
||||
command: [
|
||||
intltool_merge,
|
||||
potags_dir,
|
||||
'@INPUT@',
|
||||
'@OUTPUT@',
|
||||
'--xml-style',
|
||||
'--utf8',
|
||||
'--cache=' + '@OUTDIR@' / 'intltool-merge-cache',
|
||||
install_data([
|
||||
'its/gimp-tags.its',
|
||||
'its/gimp-tags.loc',
|
||||
],
|
||||
install_dir: get_option('datadir') / 'gettext' / 'its',
|
||||
)
|
||||
|
||||
gimp_tags_default = i18n.merge_file(
|
||||
input : 'gimp-tags-default.xml.in',
|
||||
output: '@BASENAME@',
|
||||
data_dirs: meson.current_source_dir(),
|
||||
po_dir: potags_dir,
|
||||
install: true,
|
||||
install_dir: gimpdatadir / 'tags',
|
||||
)
|
||||
|
|
|
@ -16,9 +16,14 @@ EXTRA_DIST = \
|
|||
|
||||
DISTCLEANFILES = $(tipsdata_data_files)
|
||||
|
||||
itsdir = $(datadir)/gettext/its
|
||||
its_DATA = its/gimp-tips.loc its/gimp-tips.its
|
||||
|
||||
EXTRA_DIST += $(its_DATA)
|
||||
|
||||
|
||||
gimp-tips.xml: gimp-tips.xml.in $(wildcard $(top_srcdir)/po-tips/*.po)
|
||||
$(INTLTOOL_MERGE) $(top_srcdir)/po-tips $< $(@) -x -u -c $(top_builddir)/po-tips/.intltool-merge-cache
|
||||
$(AM_V_GEN) GETTEXT_DATA_DIRS=$(abs_srcdir) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po-tips -o $@
|
||||
|
||||
|
||||
validate: gimp-tips.xml
|
||||
|
|
|
@ -15,63 +15,63 @@
|
|||
<!-- -->
|
||||
|
||||
<tip level="beginner">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can get context-sensitive help for most of GIMP's features by
|
||||
pressing the F1 key at any time. This also works inside the menus.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="beginner" help="gimp-layer-dialog">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
GIMP uses layers to let you organize your image. Think of them
|
||||
as a stack of slides or filters, such that looking through them you
|
||||
see a composite of their contents.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="beginner" help="gimp-layer-menu">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can perform many layer operations by right-clicking on the text
|
||||
label of a layer in the Layers dialog.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="beginner" help="gimp-file-save">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
Saving an image uses XCF, GIMP's native file format (file extension
|
||||
<tt>.xcf</tt>). This preserves the layers and many aspects of your
|
||||
work-in-progress, allowing to work on it again later.
|
||||
Once a project is completed, you can export it as JPEG, PNG, GIF, etc.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="beginner" help="gimp-image-flatten">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
Most plug-ins work on the current layer of the current image. In
|
||||
some cases, you will have to merge all layers (Image→Flatten Image)
|
||||
if you want the plug-in to work on the whole image.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="beginner" help="gimp-layer-alpha-add">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
If a layer's name in the Layers dialog is displayed in <b>bold</b>,
|
||||
this layer doesn't have an alpha-channel. You can add an alpha-channel
|
||||
using Layer→Transparency→Add Alpha Channel.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="beginner">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
Not all effects can be applied to all kinds of images. This is
|
||||
indicated by a grayed-out menu-entry. You may need to change
|
||||
the image mode to RGB (Image→Mode→RGB), add an alpha-channel
|
||||
(Layer→Transparency→Add Alpha Channel) or flatten it
|
||||
(Image→Flatten Image).
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="beginner">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can adjust or move a selection by using <tt>Alt</tt>-drag.
|
||||
If this makes the window move, your window manager uses the
|
||||
<tt>Alt</tt> key already. Most window managers can be
|
||||
configured to ignore the <tt>Alt</tt> key or to use
|
||||
the <tt>Super</tt> key (or "Windows logo") instead.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
|
||||
<!-- -->
|
||||
|
@ -79,91 +79,91 @@
|
|||
<!-- -->
|
||||
|
||||
<tip level="intermediate">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can drag and drop many things in GIMP. For example, dragging
|
||||
a color from the toolbox or from a color palette and dropping it into
|
||||
an image will fill the current selection with that color.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can use the middle mouse button to pan around the image
|
||||
(or optionally hold <tt>Spacebar</tt> while you move the mouse).
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate" help="gimp-concepts-image-grid">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
Click and drag on a ruler to place a guide on an image. All
|
||||
dragged selections will snap to the guides. You can remove
|
||||
guides by dragging them off the image with the Move tool.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate" help="gimp-file-new">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can drag a layer from the Layers dialog and drop it onto the
|
||||
toolbox. This will create a new image containing only that layer.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
A floating selection must be anchored to a new layer or to the last
|
||||
active layer before doing other operations on the image. Click on the
|
||||
"New Layer" or the "Anchor Layer" button in the
|
||||
Layers dialog, or use the menus to do the same.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
GIMP supports gzip compression on the fly. Just add <tt>.gz</tt>
|
||||
(or <tt>.bz2</tt>, if you have bzip2 installed) to the filename and
|
||||
your image will be saved compressed. Of course loading compressed
|
||||
images works too.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
Pressing and holding the <tt>Shift</tt> key before making a selection
|
||||
allows you to add to the current selection instead of replacing it.
|
||||
Using <tt>Ctrl</tt> before making a selection subtracts from the
|
||||
current one.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate" help="gimp-selection-stroke">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can draw simple squares or circles using Edit→Stroke Selection.
|
||||
It strokes the edge of your current selection. More complex shapes
|
||||
can be drawn using the Path tool or with Filters→Render→Gfig.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate" help="gimp-path-stroke">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
If you stroke a path (Edit→Stroke Path), the paint tools can
|
||||
be used with their current settings. You can use the Paintbrush in
|
||||
gradient mode or even the Eraser or the Smudge tool.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate" help="gimp-using-paths">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can create and edit complex selections using the Path tool.
|
||||
The Paths dialog allows you to work on multiple paths and to convert
|
||||
them to selections.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate" help="gimp-using-quickmask">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can use the paint tools to change the selection. Click on the
|
||||
"Quick Mask" button at the bottom left of an image window.
|
||||
Change your selection by painting in the image and click on the button
|
||||
again to convert it back to a normal selection.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="intermediate" help="gimp-channel-dialog">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can save a selection to a channel (Select→Save to Channel) and
|
||||
then modify this channel with any paint tools. Using the buttons in
|
||||
the Channels dialog, you can toggle the visibility of this new channel
|
||||
or convert it to a selection.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
|
||||
<!-- -->
|
||||
|
@ -172,7 +172,7 @@
|
|||
<!-- -->
|
||||
|
||||
<tip level="advanced">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
After you enabled "Dynamic Keyboard Shortcuts" in the
|
||||
Preferences dialog, you can reassign shortcut keys. Do so by bringing
|
||||
up the menu, selecting a menu item, and pressing the desired key
|
||||
|
@ -180,56 +180,56 @@
|
|||
key bindings are saved when you exit GIMP.
|
||||
You should probably disable "Dynamic Keyboard Shortcuts"
|
||||
afterwards, to prevent accidentally assigning/reassigning shortcuts.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="advanced">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
If your screen is too cluttered, you can press <tt>Tab</tt>
|
||||
in an image window to toggle the visibility of the toolbox
|
||||
and other dialogs.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="advanced">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
<tt>Shift</tt>-click on the eye icon in the Layers dialog to hide all
|
||||
layers but that one. <tt>Shift</tt>-click again to show all layers.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="advanced">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
<tt>Ctrl</tt>-clicking on the layer mask's preview in the Layers dialog
|
||||
toggles the effect of the layer mask. <tt>Alt</tt>-clicking on the layer
|
||||
mask's preview in the Layers dialog toggles viewing the mask directly.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="advanced">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
You can use <tt>Ctrl</tt>-<tt>Tab</tt> to cycle through all layers in
|
||||
an image (if your window manager doesn't trap those keys...).
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="advanced" help="gimp-tool-bucket-fill">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
<tt>Ctrl</tt>-click with the Bucket Fill tool to have it use
|
||||
the background color instead of the foreground color.
|
||||
Similarly, <tt>Ctrl</tt>-clicking with the eyedropper tool
|
||||
sets the background color instead of the foreground color.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="advanced" help="gimp-tools-transform">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
<tt>Ctrl</tt>-drag with the Rotate tool will constrain the
|
||||
rotation to 15 degree angles.
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
<tip level="advanced">
|
||||
<_thetip>
|
||||
<thetip>
|
||||
If some of your scanned photos do not look colorful enough, you
|
||||
can easily improve their tonal range with the "Auto"
|
||||
button in the Levels tool (Colors→Levels). If there are any
|
||||
color casts, you can correct them with the Curves tool
|
||||
(Colors→Curves).
|
||||
</_thetip>
|
||||
</thetip>
|
||||
</tip>
|
||||
|
||||
</gimp-tips>
|
||||
|
|
5
data/tips/its/gimp-tips.its
Normal file
5
data/tips/its/gimp-tips.its
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0"?>
|
||||
<its:rules xmlns:its="http://www.w3.org/2005/11/its" version="1.0">
|
||||
<its:translateRule selector="/gimp-tips" translate="no"/>
|
||||
<its:translateRule selector="//thetip" translate="yes"/>
|
||||
</its:rules>
|
6
data/tips/its/gimp-tips.loc
Normal file
6
data/tips/its/gimp-tips.loc
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<locatingRules>
|
||||
<locatingRule name="GimpTips" pattern="*.xml">
|
||||
<documentRule localName="gimp-tips" target="gimp-tips.its"/>
|
||||
</locatingRule>
|
||||
</locatingRules>
|
|
@ -1,19 +1,15 @@
|
|||
|
||||
xmlfilename = 'gimp-tips.xml'
|
||||
|
||||
gimp_tips = custom_target(xmlfilename,
|
||||
input : xmlfilename+'.in',
|
||||
output: xmlfilename,
|
||||
|
||||
command: [
|
||||
intltool_merge,
|
||||
potips_dir,
|
||||
'@INPUT@',
|
||||
'@OUTPUT@',
|
||||
'--xml-style',
|
||||
'--utf8',
|
||||
'--cache=' + '@OUTDIR@' / 'intltool-merge-cache',
|
||||
install_data([
|
||||
'its/gimp-tips.its',
|
||||
'its/gimp-tips.loc',
|
||||
],
|
||||
install_dir: get_option('datadir') / 'gettext' / 'its',
|
||||
)
|
||||
|
||||
gimp_tips = i18n.merge_file(
|
||||
input : 'gimp-tips.xml.in',
|
||||
output: '@BASENAME@',
|
||||
data_dirs: meson.current_source_dir(),
|
||||
po_dir: potips_dir,
|
||||
install: true,
|
||||
install_dir: gimpdatadir / 'tips',
|
||||
)
|
||||
|
@ -38,7 +34,7 @@ if xmllint.found()
|
|||
'--output', '@OUTPUT@',
|
||||
'--path', meson.current_source_dir(),
|
||||
'--valid', gimp_tips,
|
||||
],
|
||||
],
|
||||
output: [ 'validate-tips-output.xml' ],
|
||||
build_by_default: true,
|
||||
install: false
|
||||
|
|
|
@ -10,6 +10,9 @@ appstream_in_files = \
|
|||
|
||||
appstream_files = $(appstream_in_files:.xml.in=.xml)
|
||||
|
||||
$(appstream_files): $(appstream_in_files)
|
||||
$(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
|
||||
|
||||
if DESKTOP_DATADIR
|
||||
|
||||
applicationsdir = $(DESKTOP_DATADIR)/applications
|
||||
|
@ -66,10 +69,8 @@ EXTRA_DIST = \
|
|||
|
||||
DISTCLEANFILES = $(desktop_files) $(appstream_files)
|
||||
|
||||
@INTLTOOL_XML_RULE@
|
||||
|
||||
gimp.desktop: gimp.desktop.in $(wildcard $(top_srcdir)/po/*.po)
|
||||
$(INTLTOOL_MERGE) $(top_srcdir)/po $< $(@) -d -u -c $(top_builddir)/po/.intltool-merge-cache
|
||||
$(AM_V_GEN) $(MSGFMT) --desktop --template $< -d $(top_srcdir)/po -o $@
|
||||
|
||||
validate: gimp.desktop
|
||||
( dfvalidate=`which desktop-file-validate`; \
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
_Name=GNU Image Manipulation Program
|
||||
_GenericName=Image Editor
|
||||
_Comment=Create images and edit photographs
|
||||
Name=GNU Image Manipulation Program
|
||||
GenericName=Image Editor
|
||||
Comment=Create images and edit photographs
|
||||
# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
|
||||
_Keywords=GIMP;graphic;design;illustration;painting;
|
||||
Keywords=GIMP;graphic;design;illustration;painting;
|
||||
Exec=@GIMP_COMMAND@ %U
|
||||
TryExec=gimp-@GIMP_APP_VERSION@
|
||||
Icon=gimp
|
||||
|
|
|
@ -33,18 +33,11 @@ desktopfilein = configure_file(
|
|||
configuration: desktop_conf,
|
||||
)
|
||||
|
||||
desktopfile = custom_target(desktopfilename,
|
||||
input : [ desktopfilein, ],
|
||||
output: [ desktopfilename, ],
|
||||
command: [
|
||||
intltool_merge,
|
||||
po_dir,
|
||||
'@INPUT@',
|
||||
'@OUTPUT@',
|
||||
'--desktop-style',
|
||||
'--utf8',
|
||||
'--cache=' + '@OUTDIR@' / 'intltool-merge-cache',
|
||||
],
|
||||
desktopfile = i18n.merge_file(
|
||||
input : desktopfilein,
|
||||
output: desktopfilename,
|
||||
type: 'desktop',
|
||||
po_dir: po_dir,
|
||||
install: true,
|
||||
install_dir: get_option('datadir') / 'applications',
|
||||
)
|
||||
|
@ -55,18 +48,10 @@ appdatafilein = configure_file(
|
|||
output: appdatafilename+'.in',
|
||||
configuration: desktop_conf,
|
||||
)
|
||||
appdatafile = custom_target(appdatafilename,
|
||||
input : [ appdatafilein, ],
|
||||
output: [ appdatafilename, ],
|
||||
command: [
|
||||
intltool_merge,
|
||||
po_dir,
|
||||
'@INPUT@',
|
||||
'@OUTPUT@',
|
||||
'--xml-style',
|
||||
'--utf8',
|
||||
'--cache=' + '@OUTDIR@' / 'intltool-merge-cache',
|
||||
],
|
||||
appdatafile = i18n.merge_file(
|
||||
input : appdatafilein,
|
||||
output: appdatafilename,
|
||||
po_dir: po_dir,
|
||||
install: true,
|
||||
install_dir: get_option('datadir') / 'metainfo',
|
||||
)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -92,16 +92,15 @@ running:
|
|||
Basically this does the following for you:
|
||||
|
||||
gimp/trunk$ aclocal-1.9; libtoolize; automake-1.9 -a;
|
||||
gimp/trunk$ autoconf; intltoolize --automake
|
||||
gimp/trunk$ autoconf;
|
||||
|
||||
The above commands create the "configure" script. Now you can run the
|
||||
configure script in gimp/trunk to create all the Makefiles.
|
||||
|
||||
Before running autogen.sh or configure, make sure you have libtool in
|
||||
your path. Also make sure glib-2.0.m4 glib-gettext.m4, gtk-3.0.m4,
|
||||
pkg.m4 and intltool.m4 are either installed in the same
|
||||
$prefix/share/aclocal relative to your automake/aclocal installation
|
||||
or call autogen.sh as follows:
|
||||
your path. Also make sure glib-2.0.m4 glib-gettext.m4, gtk-3.0.m4 and
|
||||
pkg.m4 are either installed in the same $prefix/share/aclocal relative to your
|
||||
automake/aclocal installation or call autogen.sh as follows:
|
||||
|
||||
$ ACLOCAL_FLAGS="-I $prefix/share/aclocal" ./autogen.sh
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ appdatadir = $(goat_exercise_c_libexecdir)
|
|||
appdata_DATA = $(appstream_files)
|
||||
|
||||
org.gimp.extension.goat-exercises.metainfo.xml: org.gimp.extension.goat-exercises.metainfo.xml.in $(wildcard $(top_srcdir)/po-plug-ins/*.po)
|
||||
$(INTLTOOL_MERGE) $(top_srcdir)/po-plug-ins $< $(@) -x -u -c $(top_builddir)/po-plug-ins/.intltool-merge-cache
|
||||
$(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po-plug-ins -o $@
|
||||
|
||||
.PHONY: org.gimp.extension.goat-exercises.metainfo.xml
|
||||
|
||||
|
|
|
@ -105,19 +105,10 @@ appdatafilein = configure_file(
|
|||
configuration: conf,
|
||||
)
|
||||
|
||||
appdatafile = custom_target(appdatafilename,
|
||||
appdatafile = i18n.merge_file(
|
||||
input : [ appdatafilein, ],
|
||||
output: [ appdatafilename, ],
|
||||
depend_files: [ po_plug_ins_dir ],
|
||||
command: [
|
||||
intltool_merge,
|
||||
po_plug_ins_dir,
|
||||
'@INPUT@',
|
||||
'@OUTPUT@',
|
||||
'--xml-style',
|
||||
'--utf8',
|
||||
'--cache=' + '@OUTDIR@' / 'intltool-merge-cache',
|
||||
],
|
||||
po_dir: po_plug_ins_dir,
|
||||
install: true,
|
||||
install_dir: gimpplugindir / 'extensions' / extension_name,
|
||||
)
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
<component type="addon">
|
||||
<id>org.gimp.extension.goat-exercises</id>
|
||||
<extends>org.gimp.GIMP</extends>
|
||||
<_name>Goat Exercises</_name>
|
||||
<_summary>Official Demo Plug-ins</_summary>
|
||||
<name>Goat Exercises</name>
|
||||
<summary>Official Demo Plug-ins</summary>
|
||||
<description>
|
||||
<_p>
|
||||
<p>
|
||||
This extension provides a set of basic examples to demonstrate
|
||||
how to create your own plug-ins.
|
||||
Each plug-in does the same thing, except it is developed in a
|
||||
|
@ -13,7 +13,7 @@
|
|||
They all create a GTK+ dialog with a text view displaying their own code
|
||||
(hence also demonstrating how to package data) and a button which calls
|
||||
a GEGL operation on the active layer.
|
||||
</_p>
|
||||
</p>
|
||||
</description>
|
||||
<url type="homepage">https://gimp.org</url>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
|
|
1
m4macros/.gitignore
vendored
1
m4macros/.gitignore
vendored
|
@ -1,7 +1,6 @@
|
|||
Makefile
|
||||
Makefile.in
|
||||
gtk-doc.m4
|
||||
intltool.m4
|
||||
libtool.m4
|
||||
lt~obsolete.m4
|
||||
ltoptions.m4
|
||||
|
|
|
@ -1017,7 +1017,6 @@ endif
|
|||
# Check for XML tools
|
||||
xmllint = find_program('xmllint', required: false)
|
||||
xsltproc = find_program('xsltproc')
|
||||
intltool_merge = find_program('intltool-merge')
|
||||
desktop_validate = find_program('desktop-file-validate', required: false)
|
||||
|
||||
appstreamcli = find_program('appstreamcli', version: '>=0.15.3', required: get_option('appdata-test'))
|
||||
|
@ -1552,7 +1551,6 @@ install_conf.set('GEXIV2_REQUIRED_VERSION', gexiv2_minver)
|
|||
install_conf.set('GLIB_REQUIRED_VERSION', glib_minver)
|
||||
install_conf.set('GTK_REQUIRED_VERSION', gtk3_minver)
|
||||
install_conf.set('HARFBUZZ_REQUIRED_VERSION', harfbuzz_minver)
|
||||
install_conf.set('INTLTOOL_REQUIRED_VERSION', '0.40.1')
|
||||
install_conf.set('LCMS_REQUIRED_VERSION', lcms_minver)
|
||||
install_conf.set('LIBHEIF_REQUIRED_VERSION', libheif_minver)
|
||||
install_conf.set('LIBLZMA_REQUIRED_VERSION', liblzma_minver)
|
||||
|
|
1
po-libgimp/.gitignore
vendored
1
po-libgimp/.gitignore
vendored
|
@ -1,7 +1,6 @@
|
|||
/*.gmo
|
||||
/*.mo
|
||||
/*.pot
|
||||
/.intltool-merge-cache
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/POTFILES
|
||||
|
|
|
@ -1,220 +0,0 @@
|
|||
# Makefile for program source directory in GNU NLS utilities package.
|
||||
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
#
|
||||
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
|
||||
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
|
||||
#
|
||||
# - Modified by jacob berkman <jacob@ximian.com> to install
|
||||
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
|
||||
#
|
||||
# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
|
||||
#
|
||||
# We have the following line for use by intltoolize:
|
||||
# INTLTOOL_MAKEFILE
|
||||
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-libgimp
|
||||
XGETTEXT_KEYWORDS=--keyword=_ --keyword=N_ --keyword=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
libdir = @libdir@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
itlocaledir = $(prefix)/$(DATADIRNAME)/locale
|
||||
subdir = po-libgimp
|
||||
install_sh = @install_sh@
|
||||
# Automake >= 1.8 provides @mkdir_p@.
|
||||
# Until it can be supposed, use the safe fallback:
|
||||
mkdir_p = $(install_sh) -d
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
GMSGFMT = @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
|
||||
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
|
||||
MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
||||
GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
||||
|
||||
ALL_LINGUAS = @ALL_LINGUAS@
|
||||
|
||||
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
||||
|
||||
USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
|
||||
|
||||
USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
|
||||
|
||||
POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
|
||||
|
||||
DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
|
||||
EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
|
||||
|
||||
POTFILES = \
|
||||
# This comment gets stripped out
|
||||
|
||||
CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .po .pox .gmo .mo .msg .cat
|
||||
|
||||
.po.pox:
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
|
||||
|
||||
.po.mo:
|
||||
$(MSGFMT) -o $@ $<
|
||||
|
||||
.po.gmo:
|
||||
file=`echo $* | sed 's,.*/,,'`.gmo \
|
||||
&& rm -f $$file && $(GMSGFMT) -o $$file $<
|
||||
|
||||
.po.cat:
|
||||
sed -f ../intl/po2msg.sed < $< > $*.msg \
|
||||
&& rm -f $@ && gencat $@ $*.msg
|
||||
|
||||
|
||||
all: all-@USE_NLS@
|
||||
|
||||
all-yes: $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
||||
$(GENPOT)
|
||||
|
||||
install: install-data
|
||||
install-data: install-data-@USE_NLS@
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
$(mkdir_p) $(DESTDIR)$(itlocaledir)
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
|
||||
$(mkdir_p) $$dir; \
|
||||
if test -r $$lang.gmo; then \
|
||||
$(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
else \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $(srcdir)/$$lang.gmo as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
fi; \
|
||||
if test -r $$lang.gmo.m; then \
|
||||
$(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
if test -r $(srcdir)/$$lang.gmo.m ; then \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
|
||||
$$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $(srcdir)/$$lang.gmo.m as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
true; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Empty stubs to satisfy archaic automake needs
|
||||
dvi info tags TAGS ID:
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
install-exec installcheck:
|
||||
|
||||
uninstall:
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
|
||||
done
|
||||
|
||||
check: all $(GETTEXT_PACKAGE).pot
|
||||
rm -f missing notexist
|
||||
srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
|
||||
if [ -r missing -o -r notexist ]; then \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
mostlyclean:
|
||||
rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
|
||||
rm -f .intltool-merge-cache
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile Makefile.in POTFILES stamp-it
|
||||
rm -f *.mo *.msg *.cat *.cat.m *.gmo
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f Makefile.in.in
|
||||
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
extra_dists="$(EXTRA_DISTFILES)"; \
|
||||
for file in $$extra_dists; do \
|
||||
test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
|
||||
done; \
|
||||
for file in $$dists; do \
|
||||
test -f $$file || file="$(srcdir)/$$file"; \
|
||||
ln $$file $(distdir) 2> /dev/null \
|
||||
|| cp -p $$file $(distdir); \
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
tmpdir=`pwd`; \
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
echo "$$lang:"; \
|
||||
result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
|
||||
if $$result; then \
|
||||
if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.gmo failed!"; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
Makefile POTFILES: stamp-it
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-it; \
|
||||
$(MAKE) stamp-it; \
|
||||
fi
|
||||
|
||||
stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
$(SHELL) ./config.status
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
78
po-libgimp/Makevars
Normal file
78
po-libgimp/Makevars
Normal file
|
@ -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=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2 --add-comments
|
||||
|
||||
# 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 = Free Software Foundation, Inc.
|
||||
|
||||
# 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 =
|
||||
|
||||
# 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 = https://gitlab.gnome.org/GNOME/gimp/issues
|
||||
|
||||
# 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 = yes
|
||||
|
||||
# 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 = no
|
||||
|
||||
# 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 = no
|
|
@ -1,8 +1,6 @@
|
|||
# Files from the Gimp distribution which have already been
|
||||
# marked to allow runtime translation of messages
|
||||
|
||||
[encoding: UTF-8]
|
||||
|
||||
libgimp/gimp.c
|
||||
libgimp/gimpbrushselectbutton.c
|
||||
libgimp/gimpexport.c
|
||||
|
|
1
po-plug-ins/.gitignore
vendored
1
po-plug-ins/.gitignore
vendored
|
@ -1,7 +1,6 @@
|
|||
/*.gmo
|
||||
/*.mo
|
||||
/*.pot
|
||||
/.intltool-merge-cache
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/POTFILES
|
||||
|
|
|
@ -1,225 +0,0 @@
|
|||
# Makefile for program source directory in GNU NLS utilities package.
|
||||
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
#
|
||||
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
|
||||
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
|
||||
#
|
||||
# - Modified by jacob berkman <jacob@ximian.com> to install
|
||||
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
|
||||
#
|
||||
# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
|
||||
#
|
||||
# We have the following line for use by intltoolize:
|
||||
# INTLTOOL_MAKEFILE
|
||||
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-std-plug-ins
|
||||
XGETTEXT_KEYWORDS=--keyword=_ --keyword=N_ --keyword=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
libdir = @libdir@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
itlocaledir = $(prefix)/$(DATADIRNAME)/locale
|
||||
subdir = po-plug-ins
|
||||
install_sh = @install_sh@
|
||||
# Automake >= 1.8 provides @mkdir_p@.
|
||||
# Until it can be supposed, use the safe fallback:
|
||||
mkdir_p = $(install_sh) -d
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
GMSGFMT = @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
|
||||
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
|
||||
MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
||||
GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
||||
|
||||
ALL_LINGUAS = @ALL_LINGUAS@
|
||||
|
||||
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
||||
|
||||
USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
|
||||
|
||||
USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
|
||||
|
||||
POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
|
||||
|
||||
DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
|
||||
EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
|
||||
|
||||
POTFILES = \
|
||||
# This comment gets stripped out
|
||||
|
||||
CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .po .pox .gmo .mo .msg .cat
|
||||
|
||||
.po.pox:
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
|
||||
|
||||
.po.mo:
|
||||
$(MSGFMT) -o $@ $<
|
||||
|
||||
.po.gmo:
|
||||
file=`echo $* | sed 's,.*/,,'`.gmo \
|
||||
&& rm -f $$file && $(GMSGFMT) -o $$file $<
|
||||
|
||||
.po.cat:
|
||||
sed -f ../intl/po2msg.sed < $< > $*.msg \
|
||||
&& rm -f $@ && gencat $@ $*.msg
|
||||
|
||||
|
||||
all: all-@USE_NLS@
|
||||
|
||||
all-yes: $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
||||
$(GENPOT)
|
||||
|
||||
install: install-data
|
||||
install-data: install-data-@USE_NLS@
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
$(mkdir_p) $(DESTDIR)$(itlocaledir)
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
|
||||
$(mkdir_p) $$dir; \
|
||||
if test -r $$lang.gmo; then \
|
||||
$(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
else \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $(srcdir)/$$lang.gmo as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
fi; \
|
||||
if test -r $$lang.gmo.m; then \
|
||||
$(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
if test -r $(srcdir)/$$lang.gmo.m ; then \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
|
||||
$$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $(srcdir)/$$lang.gmo.m as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
true; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Empty stubs to satisfy archaic automake needs
|
||||
dvi info tags TAGS ID:
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
install-exec installcheck:
|
||||
|
||||
uninstall:
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
|
||||
done
|
||||
|
||||
check: all $(GETTEXT_PACKAGE).pot
|
||||
rm -f missing notexist
|
||||
srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
|
||||
if [ -r missing -o -r notexist ]; then \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
mostlyclean:
|
||||
rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
|
||||
rm -f .intltool-merge-cache
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile Makefile.in POTFILES stamp-it
|
||||
rm -f *.mo *.msg *.cat *.cat.m *.gmo
|
||||
# Around December of 2020, a possible change on intltool-merge or some
|
||||
# other dependency in Debian testing broke the CI distcheck job, leaving
|
||||
# some lock files. This CLEANFILES rule should be removed once this is
|
||||
# fixed upstream.
|
||||
rm -f .intltool-merge-cache.lock
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f Makefile.in.in
|
||||
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
extra_dists="$(EXTRA_DISTFILES)"; \
|
||||
for file in $$extra_dists; do \
|
||||
test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
|
||||
done; \
|
||||
for file in $$dists; do \
|
||||
test -f $$file || file="$(srcdir)/$$file"; \
|
||||
ln $$file $(distdir) 2> /dev/null \
|
||||
|| cp -p $$file $(distdir); \
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
tmpdir=`pwd`; \
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
echo "$$lang:"; \
|
||||
result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
|
||||
if $$result; then \
|
||||
if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.gmo failed!"; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
Makefile POTFILES: stamp-it
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-it; \
|
||||
$(MAKE) stamp-it; \
|
||||
fi
|
||||
|
||||
stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
$(SHELL) ./config.status
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
78
po-plug-ins/Makevars
Normal file
78
po-plug-ins/Makevars
Normal file
|
@ -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=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2 --add-comments
|
||||
|
||||
# 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 = Free Software Foundation, Inc.
|
||||
|
||||
# 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 =
|
||||
|
||||
# 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 = https://gitlab.gnome.org/GNOME/gimp/issues
|
||||
|
||||
# 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 = yes
|
||||
|
||||
# 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 = no
|
||||
|
||||
# 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 = no
|
|
@ -1,8 +1,6 @@
|
|||
# Files from the Gimp distribution which have already been
|
||||
# marked to allow runtime translation of messages
|
||||
|
||||
[encoding: UTF-8]
|
||||
|
||||
extensions/goat-exercises/goat-exercise-c.c
|
||||
extensions/goat-exercises/goat-exercise-gjs.js
|
||||
extensions/goat-exercises/goat-exercise-lua.lua
|
||||
|
@ -150,8 +148,8 @@ plug-ins/gimpressionist/repaint.c
|
|||
plug-ins/gimpressionist/size.c
|
||||
plug-ins/gimpressionist/sizemap.c
|
||||
plug-ins/gimpressionist/utils.c
|
||||
[type: gettext/glade]plug-ins/ui/plug-in-metadata-editor.ui
|
||||
[type: gettext/glade]plug-ins/ui/plug-in-metadata-viewer.ui
|
||||
plug-ins/ui/plug-in-metadata-editor.ui
|
||||
plug-ins/ui/plug-in-metadata-viewer.ui
|
||||
plug-ins/gradient-flare/gradient-flare.c
|
||||
plug-ins/help-browser/dialog.c
|
||||
plug-ins/help-browser/help-browser.c
|
||||
|
|
1
po-python/.gitignore
vendored
1
po-python/.gitignore
vendored
|
@ -1,7 +1,6 @@
|
|||
/*.gmo
|
||||
/*.mo
|
||||
/*.pot
|
||||
/.intltool-merge-cache
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/POTFILES
|
||||
|
|
|
@ -1,229 +0,0 @@
|
|||
# Makefile for program source directory in GNU NLS utilities package.
|
||||
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
#
|
||||
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
|
||||
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
|
||||
#
|
||||
# - Modified by jacob berkman <jacob@ximian.com> to install
|
||||
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
|
||||
#
|
||||
# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
|
||||
#
|
||||
# We have the following line for use by intltoolize:
|
||||
# INTLTOOL_MAKEFILE
|
||||
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-python
|
||||
XGETTEXT_KEYWORDS=--keyword=_ --keyword=N_ --keyword=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
libdir = @libdir@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
itlocaledir = $(prefix)/$(DATADIRNAME)/locale
|
||||
subdir = po-python
|
||||
install_sh = @install_sh@
|
||||
# Automake >= 1.8 provides @mkdir_p@.
|
||||
# Until it can be supposed, use the safe fallback:
|
||||
mkdir_p = $(install_sh) -d
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
GMSGFMT = @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
|
||||
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
|
||||
MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
||||
GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
||||
|
||||
ALL_LINGUAS = @ALL_LINGUAS@
|
||||
|
||||
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
||||
|
||||
USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
|
||||
|
||||
USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
|
||||
|
||||
POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
|
||||
|
||||
DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
|
||||
EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
|
||||
|
||||
POTFILES = \
|
||||
# This comment gets stripped out
|
||||
|
||||
CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .po .pox .gmo .mo .msg .cat
|
||||
|
||||
.po.pox:
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
|
||||
|
||||
.po.mo:
|
||||
$(MSGFMT) -o $@ $<
|
||||
|
||||
.po.gmo:
|
||||
file=`echo $* | sed 's,.*/,,'`.gmo \
|
||||
&& rm -f $$file && $(GMSGFMT) -o $$file $<
|
||||
|
||||
.po.cat:
|
||||
sed -f ../intl/po2msg.sed < $< > $*.msg \
|
||||
&& rm -f $@ && gencat $@ $*.msg
|
||||
|
||||
|
||||
all: all-@USE_NLS@
|
||||
|
||||
all-yes: $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
||||
@if test "x$(INTLTOOL_UPDATE)" = "x/bin/true"; then \
|
||||
echo "Warning: pot generation deactivated on VPATH builds."; \
|
||||
echo " See commit c96006919."; \
|
||||
fi
|
||||
$(GENPOT)
|
||||
|
||||
install: install-data
|
||||
install-data: install-data-@USE_NLS@
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
$(mkdir_p) $(DESTDIR)$(itlocaledir)
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
|
||||
$(mkdir_p) $$dir; \
|
||||
if test -r $$lang.gmo; then \
|
||||
$(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
else \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $(srcdir)/$$lang.gmo as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
fi; \
|
||||
if test -r $$lang.gmo.m; then \
|
||||
$(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
if test -r $(srcdir)/$$lang.gmo.m ; then \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
|
||||
$$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $(srcdir)/$$lang.gmo.m as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
true; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Empty stubs to satisfy archaic automake needs
|
||||
dvi info tags TAGS ID:
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
install-exec installcheck:
|
||||
|
||||
uninstall:
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
|
||||
done
|
||||
|
||||
check: all $(GETTEXT_PACKAGE).pot
|
||||
rm -f missing notexist
|
||||
srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
|
||||
if [ -r missing -o -r notexist ]; then \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
mostlyclean:
|
||||
rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
|
||||
rm -f .intltool-merge-cache
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile Makefile.in POTFILES stamp-it
|
||||
rm -f *.mo *.msg *.cat *.cat.m *.gmo
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f Makefile.in.in
|
||||
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
extra_dists="$(EXTRA_DISTFILES)"; \
|
||||
for file in $$extra_dists; do \
|
||||
test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
|
||||
done; \
|
||||
for file in $$dists; do \
|
||||
test -f $$file || file="$(srcdir)/$$file"; \
|
||||
ln $$file $(distdir) 2> /dev/null \
|
||||
|| cp -p $$file $(distdir); \
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
@if test "x$(INTLTOOL_UPDATE)" = "x/bin/true"; then \
|
||||
echo "Error: po generation deactivated on VPATH builds."; \
|
||||
echo " See commit c96006919."; \
|
||||
false; \
|
||||
fi
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
tmpdir=`pwd`; \
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
echo "$$lang:"; \
|
||||
result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
|
||||
if $$result; then \
|
||||
if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.gmo failed!"; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
Makefile POTFILES: stamp-it
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-it; \
|
||||
$(MAKE) stamp-it; \
|
||||
fi
|
||||
|
||||
stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
$(SHELL) ./config.status
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
78
po-python/Makevars
Normal file
78
po-python/Makevars
Normal file
|
@ -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=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2 --add-comments
|
||||
|
||||
# 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 = Free Software Foundation, Inc.
|
||||
|
||||
# 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 =
|
||||
|
||||
# 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 = https://gitlab.gnome.org/GNOME/gimp/issues
|
||||
|
||||
# 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 = yes
|
||||
|
||||
# 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 = no
|
||||
|
||||
# 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 = no
|
|
@ -1,8 +1,6 @@
|
|||
# Files from the Gimp distribution which have already been
|
||||
# marked to allow runtime translation of messages
|
||||
|
||||
[encoding: UTF-8]
|
||||
|
||||
plug-ins/python/colorxhtml.py
|
||||
plug-ins/python/foggify.py
|
||||
plug-ins/python/gradients-save-as-css.py
|
||||
|
|
1
po-script-fu/.gitignore
vendored
1
po-script-fu/.gitignore
vendored
|
@ -1,7 +1,6 @@
|
|||
/*.gmo
|
||||
/*.mo
|
||||
/*.pot
|
||||
/.intltool-merge-cache
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/POTFILES
|
||||
|
|
|
@ -1,220 +0,0 @@
|
|||
# Makefile for program source directory in GNU NLS utilities package.
|
||||
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
#
|
||||
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
|
||||
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
|
||||
#
|
||||
# - Modified by jacob berkman <jacob@ximian.com> to install
|
||||
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
|
||||
#
|
||||
# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
|
||||
#
|
||||
# We have the following line for use by intltoolize:
|
||||
# INTLTOOL_MAKEFILE
|
||||
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-script-fu
|
||||
XGETTEXT_KEYWORDS=--keyword=_ --keyword=N_ --keyword=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
libdir = @libdir@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
itlocaledir = $(prefix)/$(DATADIRNAME)/locale
|
||||
subdir = po-script-fu
|
||||
install_sh = @install_sh@
|
||||
# Automake >= 1.8 provides @mkdir_p@.
|
||||
# Until it can be supposed, use the safe fallback:
|
||||
mkdir_p = $(install_sh) -d
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
GMSGFMT = @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
|
||||
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
|
||||
MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
||||
GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
||||
|
||||
ALL_LINGUAS = @ALL_LINGUAS@
|
||||
|
||||
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
||||
|
||||
USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
|
||||
|
||||
USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
|
||||
|
||||
POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
|
||||
|
||||
DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
|
||||
EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
|
||||
|
||||
POTFILES = \
|
||||
# This comment gets stripped out
|
||||
|
||||
CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .po .pox .gmo .mo .msg .cat
|
||||
|
||||
.po.pox:
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
|
||||
|
||||
.po.mo:
|
||||
$(MSGFMT) -o $@ $<
|
||||
|
||||
.po.gmo:
|
||||
file=`echo $* | sed 's,.*/,,'`.gmo \
|
||||
&& rm -f $$file && $(GMSGFMT) -o $$file $<
|
||||
|
||||
.po.cat:
|
||||
sed -f ../intl/po2msg.sed < $< > $*.msg \
|
||||
&& rm -f $@ && gencat $@ $*.msg
|
||||
|
||||
|
||||
all: all-@USE_NLS@
|
||||
|
||||
all-yes: $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
||||
$(GENPOT)
|
||||
|
||||
install: install-data
|
||||
install-data: install-data-@USE_NLS@
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
$(mkdir_p) $(DESTDIR)$(itlocaledir)
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
|
||||
$(mkdir_p) $$dir; \
|
||||
if test -r $$lang.gmo; then \
|
||||
$(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
else \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $(srcdir)/$$lang.gmo as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
fi; \
|
||||
if test -r $$lang.gmo.m; then \
|
||||
$(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
if test -r $(srcdir)/$$lang.gmo.m ; then \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
|
||||
$$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $(srcdir)/$$lang.gmo.m as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
true; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Empty stubs to satisfy archaic automake needs
|
||||
dvi info tags TAGS ID:
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
install-exec installcheck:
|
||||
|
||||
uninstall:
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
|
||||
done
|
||||
|
||||
check: all $(GETTEXT_PACKAGE).pot
|
||||
rm -f missing notexist
|
||||
srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
|
||||
if [ -r missing -o -r notexist ]; then \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
mostlyclean:
|
||||
rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
|
||||
rm -f .intltool-merge-cache
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile Makefile.in POTFILES stamp-it
|
||||
rm -f *.mo *.msg *.cat *.cat.m *.gmo
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f Makefile.in.in
|
||||
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
extra_dists="$(EXTRA_DISTFILES)"; \
|
||||
for file in $$extra_dists; do \
|
||||
test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
|
||||
done; \
|
||||
for file in $$dists; do \
|
||||
test -f $$file || file="$(srcdir)/$$file"; \
|
||||
ln $$file $(distdir) 2> /dev/null \
|
||||
|| cp -p $$file $(distdir); \
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
tmpdir=`pwd`; \
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
echo "$$lang:"; \
|
||||
result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
|
||||
if $$result; then \
|
||||
if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.gmo failed!"; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
Makefile POTFILES: stamp-it
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-it; \
|
||||
$(MAKE) stamp-it; \
|
||||
fi
|
||||
|
||||
stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
$(SHELL) ./config.status
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
78
po-script-fu/Makevars
Normal file
78
po-script-fu/Makevars
Normal file
|
@ -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=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2 --add-comments
|
||||
|
||||
# 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 = Free Software Foundation, Inc.
|
||||
|
||||
# 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 =
|
||||
|
||||
# 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 = https://gitlab.gnome.org/GNOME/gimp/issues
|
||||
|
||||
# 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 = yes
|
||||
|
||||
# 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 = no
|
||||
|
||||
# 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 = no
|
|
@ -1,8 +1,6 @@
|
|||
# Files from the Gimp distribution which have already been
|
||||
# marked to allow runtime translation of messages
|
||||
|
||||
[encoding: UTF-8]
|
||||
|
||||
plug-ins/script-fu/script-fu.c
|
||||
plug-ins/script-fu/script-fu-console.c
|
||||
plug-ins/script-fu/script-fu-eval.c
|
||||
|
|
1
po-tags/.gitignore
vendored
1
po-tags/.gitignore
vendored
|
@ -1,4 +1,3 @@
|
|||
/*.gmo
|
||||
/*.mo
|
||||
/*.pot
|
||||
/.intltool-merge-cache
|
||||
|
|
78
po-tags/Makevars
Normal file
78
po-tags/Makevars
Normal file
|
@ -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=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2 --add-comments
|
||||
|
||||
# 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 = Free Software Foundation, Inc.
|
||||
|
||||
# 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 =
|
||||
|
||||
# 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 = https://gitlab.gnome.org/GNOME/gimp/issues
|
||||
|
||||
# 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 = yes
|
||||
|
||||
# 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 = no
|
||||
|
||||
# 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 = no
|
|
@ -1,6 +1,4 @@
|
|||
# Files from the Gimp distribution which have already been
|
||||
# marked to allow runtime translation of messages
|
||||
|
||||
[encoding: UTF-8]
|
||||
|
||||
data/tags/gimp-tags-default.xml.in
|
||||
|
|
1
po-tips/.gitignore
vendored
1
po-tips/.gitignore
vendored
|
@ -1,7 +1,6 @@
|
|||
/*.gmo
|
||||
/*.mo
|
||||
/*.pot
|
||||
/.intltool-merge-cache
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/POTFILES
|
||||
|
|
|
@ -1,188 +0,0 @@
|
|||
# Makefile for program source directory in GNU NLS utilities package.
|
||||
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
#
|
||||
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
|
||||
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
|
||||
#
|
||||
# - Modified by jacob berkman <jacob@ximian.com> to install
|
||||
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
|
||||
#
|
||||
# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
|
||||
#
|
||||
# We have the following line for use by intltoolize:
|
||||
# INTLTOOL_MAKEFILE
|
||||
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-tips
|
||||
XGETTEXT_KEYWORDS=--keyword=_ --keyword=N_ --keyword=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
libdir = @libdir@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
itlocaledir = $(prefix)/$(DATADIRNAME)/locale
|
||||
subdir = po-tips
|
||||
install_sh = @install_sh@
|
||||
# Automake >= 1.8 provides @mkdir_p@.
|
||||
# Until it can be supposed, use the safe fallback:
|
||||
mkdir_p = $(install_sh) -d
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
GMSGFMT = @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
|
||||
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
|
||||
MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
||||
GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
||||
|
||||
ALL_LINGUAS = @ALL_LINGUAS@
|
||||
|
||||
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
||||
|
||||
USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
|
||||
|
||||
USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
|
||||
|
||||
POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
|
||||
|
||||
DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
|
||||
EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
|
||||
|
||||
POTFILES = \
|
||||
# This comment gets stripped out
|
||||
|
||||
CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .po .pox .gmo .mo .msg .cat
|
||||
|
||||
.po.pox:
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
|
||||
|
||||
.po.mo:
|
||||
$(MSGFMT) -o $@ $<
|
||||
|
||||
.po.gmo:
|
||||
file=`echo $* | sed 's,.*/,,'`.gmo \
|
||||
&& rm -f $$file && $(GMSGFMT) -o $$file $<
|
||||
|
||||
.po.cat:
|
||||
sed -f ../intl/po2msg.sed < $< > $*.msg \
|
||||
&& rm -f $@ && gencat $@ $*.msg
|
||||
|
||||
|
||||
all: all-@USE_NLS@
|
||||
|
||||
all-yes: $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
||||
$(GENPOT)
|
||||
|
||||
# XXX: we don't install these locale files because they are only used at
|
||||
# build-time to construct gimp-tips.xml (see #6852).
|
||||
install: install-data
|
||||
install-data:
|
||||
|
||||
# Empty stubs to satisfy archaic automake needs
|
||||
dvi info tags TAGS ID:
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
install-exec installcheck:
|
||||
|
||||
uninstall:
|
||||
|
||||
check: all $(GETTEXT_PACKAGE).pot
|
||||
rm -f missing notexist
|
||||
srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
|
||||
if [ -r missing -o -r notexist ]; then \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
mostlyclean:
|
||||
rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
|
||||
rm -f .intltool-merge-cache
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile Makefile.in POTFILES stamp-it
|
||||
rm -f *.mo *.msg *.cat *.cat.m *.gmo
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f Makefile.in.in
|
||||
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
extra_dists="$(EXTRA_DISTFILES)"; \
|
||||
for file in $$extra_dists; do \
|
||||
test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
|
||||
done; \
|
||||
for file in $$dists; do \
|
||||
test -f $$file || file="$(srcdir)/$$file"; \
|
||||
ln $$file $(distdir) 2> /dev/null \
|
||||
|| cp -p $$file $(distdir); \
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
tmpdir=`pwd`; \
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
echo "$$lang:"; \
|
||||
result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
|
||||
if $$result; then \
|
||||
if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.gmo failed!"; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
Makefile POTFILES: stamp-it
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-it; \
|
||||
$(MAKE) stamp-it; \
|
||||
fi
|
||||
|
||||
stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
$(SHELL) ./config.status
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
78
po-tips/Makevars
Normal file
78
po-tips/Makevars
Normal file
|
@ -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=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2 --add-comments
|
||||
|
||||
# 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 = Free Software Foundation, Inc.
|
||||
|
||||
# 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 =
|
||||
|
||||
# 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 = https://gitlab.gnome.org/GNOME/gimp/issues
|
||||
|
||||
# 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 = yes
|
||||
|
||||
# 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 = no
|
||||
|
||||
# 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 = no
|
|
@ -1,6 +1,4 @@
|
|||
# Files from the Gimp distribution which have already been
|
||||
# marked to allow runtime translation of messages
|
||||
|
||||
[encoding: UTF-8]
|
||||
|
||||
data/tips/gimp-tips.xml.in
|
||||
|
|
2
po-windows-installer/.gitignore
vendored
2
po-windows-installer/.gitignore
vendored
|
@ -1,8 +1,6 @@
|
|||
/*.gmo
|
||||
/*.mo
|
||||
/*.pot
|
||||
/.intltool-merge-cache
|
||||
/.intltool-merge-cache.lock
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/POTFILES
|
||||
|
|
|
@ -1,234 +0,0 @@
|
|||
# Makefile for program source directory in GNU NLS utilities package.
|
||||
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
#
|
||||
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
|
||||
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
|
||||
#
|
||||
# - Modified by jacob berkman <jacob@ximian.com> to install
|
||||
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
|
||||
#
|
||||
# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
|
||||
#
|
||||
# We have the following line for use by intltoolize:
|
||||
# INTLTOOL_MAKEFILE
|
||||
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@-windows-installer
|
||||
XGETTEXT_KEYWORDS=--keyword=_ --keyword=N_ --keyword=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
libdir = @libdir@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
itlocaledir = $(prefix)/$(DATADIRNAME)/locale
|
||||
subdir = po-windows-installer
|
||||
install_sh = @install_sh@
|
||||
# Automake >= 1.8 provides @mkdir_p@.
|
||||
# Until it can be supposed, use the safe fallback:
|
||||
mkdir_p = $(install_sh) -d
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
GMSGFMT = @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
|
||||
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
|
||||
MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
||||
GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
||||
|
||||
USE_NLS = no
|
||||
|
||||
ALL_LINGUAS = @ALL_LINGUAS@
|
||||
|
||||
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
||||
|
||||
USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
|
||||
|
||||
USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
|
||||
|
||||
POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
|
||||
|
||||
#DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
|
||||
#EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
|
||||
DISTFILES = Makefile.in.in POTFILES.in
|
||||
|
||||
POTFILES = \
|
||||
# This comment gets stripped out
|
||||
|
||||
CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .po .pox .gmo .mo .msg .cat
|
||||
|
||||
.po.pox:
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
|
||||
|
||||
.po.mo:
|
||||
$(MSGFMT) -o $@ $<
|
||||
|
||||
.po.gmo:
|
||||
file=`echo $* | sed 's,.*/,,'`.gmo \
|
||||
&& rm -f $$file && $(GMSGFMT) -o $$file $<
|
||||
|
||||
.po.cat:
|
||||
sed -f ../intl/po2msg.sed < $< > $*.msg \
|
||||
&& rm -f $@ && gencat $@ $*.msg
|
||||
|
||||
|
||||
all: all-$(USE_NLS)
|
||||
|
||||
all-yes: $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
||||
@if test "x$(INTLTOOL_UPDATE)" = "x/bin/true"; then \
|
||||
echo "Warning: pot generation deactivated on VPATH builds."; \
|
||||
echo " See commit c96006919."; \
|
||||
fi
|
||||
$(GENPOT)
|
||||
|
||||
install: install-data
|
||||
install-data: install-data-$(USE_NLS)
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
$(mkdir_p) $(DESTDIR)$(itlocaledir)
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
|
||||
$(mkdir_p) $$dir; \
|
||||
if test -r $$lang.gmo; then \
|
||||
$(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
else \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $(srcdir)/$$lang.gmo as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
fi; \
|
||||
if test -r $$lang.gmo.m; then \
|
||||
$(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
if test -r $(srcdir)/$$lang.gmo.m ; then \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
|
||||
$$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $(srcdir)/$$lang.gmo.m as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
true; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Empty stubs to satisfy archaic automake needs
|
||||
dvi info tags TAGS ID:
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
install-exec installcheck:
|
||||
|
||||
uninstall:
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
|
||||
done
|
||||
|
||||
check: check-$(USE_NLS)
|
||||
check-yes: all $(GETTEXT_PACKAGE).pot
|
||||
rm -f missing notexist
|
||||
srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
|
||||
if [ -r missing -o -r notexist ]; then \
|
||||
exit 1; \
|
||||
fi
|
||||
check-no: all
|
||||
|
||||
mostlyclean:
|
||||
rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
|
||||
rm -f .intltool-merge-cache
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile Makefile.in POTFILES stamp-it
|
||||
rm -f *.mo *.msg *.cat *.cat.m *.gmo
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f Makefile.in.in
|
||||
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
extra_dists="$(EXTRA_DISTFILES)"; \
|
||||
for file in $$extra_dists; do \
|
||||
test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
|
||||
done; \
|
||||
for file in $$dists; do \
|
||||
test -f $$file || file="$(srcdir)/$$file"; \
|
||||
ln $$file $(distdir) 2> /dev/null \
|
||||
|| cp -p $$file $(distdir); \
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
@if test "x$(INTLTOOL_UPDATE)" = "x/bin/true"; then \
|
||||
echo "Error: po generation deactivated on VPATH builds."; \
|
||||
echo " See commit c96006919."; \
|
||||
false; \
|
||||
fi
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
tmpdir=`pwd`; \
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
echo "$$lang:"; \
|
||||
result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
|
||||
if $$result; then \
|
||||
if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.gmo failed!"; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
Makefile POTFILES: stamp-it
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-it; \
|
||||
$(MAKE) stamp-it; \
|
||||
fi
|
||||
|
||||
stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
$(SHELL) ./config.status
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
78
po-windows-installer/Makevars
Normal file
78
po-windows-installer/Makevars
Normal file
|
@ -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=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2 --add-comments
|
||||
|
||||
# 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 = Free Software Foundation, Inc.
|
||||
|
||||
# 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 =
|
||||
|
||||
# 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 = https://gitlab.gnome.org/GNOME/gimp/issues
|
||||
|
||||
# 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 = yes
|
||||
|
||||
# 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 = no
|
||||
|
||||
# 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 = no
|
|
@ -1,6 +1,4 @@
|
|||
# Files from the Gimp distribution which have already been
|
||||
# marked to allow runtime translation of messages
|
||||
|
||||
[encoding: UTF-8]
|
||||
|
||||
[type: gettext/ini] build/windows/installer/lang/setup.isl.ini
|
||||
build/windows/installer/lang/setup.isl.xml.in
|
||||
|
|
1
po/.gitignore
vendored
1
po/.gitignore
vendored
|
@ -1,7 +1,6 @@
|
|||
/*.gmo
|
||||
/*.mo
|
||||
/*.pot
|
||||
/.intltool-merge-cache
|
||||
/Makefile
|
||||
/Makefile.in
|
||||
/POTFILES
|
||||
|
|
|
@ -1,234 +0,0 @@
|
|||
# Makefile for program source directory in GNU NLS utilities package.
|
||||
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
|
||||
#
|
||||
# This file file be copied and used freely without restrictions. It can
|
||||
# be used in projects which are not available under the GNU Public License
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
#
|
||||
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
|
||||
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
|
||||
#
|
||||
# - Modified by jacob berkman <jacob@ximian.com> to install
|
||||
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
|
||||
#
|
||||
# - Modified by Rodney Dawes <dobey@novell.com> for use with intltool
|
||||
#
|
||||
# We have the following line for use by intltoolize:
|
||||
# INTLTOOL_MAKEFILE
|
||||
|
||||
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
|
||||
XGETTEXT_KEYWORDS=--keyword=_ --keyword=N_ --keyword=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
top_builddir = @top_builddir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
libdir = @libdir@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
itlocaledir = $(prefix)/$(DATADIRNAME)/locale
|
||||
subdir = po
|
||||
install_sh = @install_sh@
|
||||
# Automake >= 1.8 provides @mkdir_p@.
|
||||
# Until it can be supposed, use the safe fallback:
|
||||
mkdir_p = $(install_sh) -d
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
GMSGFMT = @GMSGFMT@
|
||||
MSGFMT = @MSGFMT@
|
||||
XGETTEXT = @XGETTEXT@
|
||||
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
|
||||
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
|
||||
MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
|
||||
GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
|
||||
|
||||
ALL_LINGUAS = @ALL_LINGUAS@
|
||||
|
||||
PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
|
||||
|
||||
USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
|
||||
|
||||
USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
|
||||
|
||||
POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
|
||||
|
||||
DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
|
||||
EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
|
||||
|
||||
POTFILES = \
|
||||
# This comment gets stripped out
|
||||
|
||||
CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .po .pox .gmo .mo .msg .cat
|
||||
|
||||
.po.pox:
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
|
||||
|
||||
.po.mo:
|
||||
$(MSGFMT) -o $@ $<
|
||||
|
||||
.po.gmo:
|
||||
file=`echo $* | sed 's,.*/,,'`.gmo \
|
||||
&& rm -f $$file && $(GMSGFMT) -o $$file $<
|
||||
|
||||
.po.cat:
|
||||
sed -f ../intl/po2msg.sed < $< > $*.msg \
|
||||
&& rm -f $@ && gencat $@ $*.msg
|
||||
|
||||
|
||||
all: all-@USE_NLS@
|
||||
|
||||
all-yes: $(CATALOGS)
|
||||
all-no:
|
||||
|
||||
$(GETTEXT_PACKAGE).pot: $(POTFILES)
|
||||
@if test "x$(INTLTOOL_UPDATE)" = "x/bin/true"; then \
|
||||
echo "Warning: pot generation deactivated on VPATH builds."; \
|
||||
echo " See commit c96006919."; \
|
||||
fi
|
||||
$(GENPOT)
|
||||
|
||||
install: install-data
|
||||
install-data: install-data-@USE_NLS@
|
||||
install-data-no: all
|
||||
install-data-yes: all
|
||||
$(mkdir_p) $(DESTDIR)$(itlocaledir)
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
|
||||
$(mkdir_p) $$dir; \
|
||||
if test -r $$lang.gmo; then \
|
||||
$(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
else \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
|
||||
echo "installing $(srcdir)/$$lang.gmo as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo"; \
|
||||
fi; \
|
||||
if test -r $$lang.gmo.m; then \
|
||||
$(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
if test -r $(srcdir)/$$lang.gmo.m ; then \
|
||||
$(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
|
||||
$$dir/$(GETTEXT_PACKAGE).mo.m; \
|
||||
echo "installing $(srcdir)/$$lang.gmo.m as" \
|
||||
"$$dir/$(GETTEXT_PACKAGE).mo.m"; \
|
||||
else \
|
||||
true; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# Empty stubs to satisfy archaic automake needs
|
||||
dvi info tags TAGS ID:
|
||||
|
||||
# Define this as empty until I found a useful application.
|
||||
install-exec installcheck:
|
||||
|
||||
uninstall:
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
|
||||
rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
|
||||
done
|
||||
|
||||
check: all $(GETTEXT_PACKAGE).pot
|
||||
rm -f missing notexist
|
||||
srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
|
||||
if [ -r missing -o -r notexist ]; then \
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
mostlyclean:
|
||||
rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
|
||||
rm -f .intltool-merge-cache
|
||||
|
||||
clean: mostlyclean
|
||||
|
||||
distclean: clean
|
||||
rm -f Makefile Makefile.in POTFILES stamp-it
|
||||
rm -f *.mo *.msg *.cat *.cat.m *.gmo
|
||||
# Around December of 2020, a possible change on intltool-merge or some
|
||||
# other dependency in Debian testing broke the CI distcheck job, leaving
|
||||
# some lock files. This CLEANFILES rule should be removed once this is
|
||||
# fixed upstream.
|
||||
rm -f .intltool-merge-cache.lock
|
||||
|
||||
maintainer-clean: distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
rm -f Makefile.in.in
|
||||
|
||||
distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
dist distdir: $(DISTFILES)
|
||||
dists="$(DISTFILES)"; \
|
||||
extra_dists="$(EXTRA_DISTFILES)"; \
|
||||
for file in $$extra_dists; do \
|
||||
test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
|
||||
done; \
|
||||
for file in $$dists; do \
|
||||
test -f $$file || file="$(srcdir)/$$file"; \
|
||||
ln $$file $(distdir) 2> /dev/null \
|
||||
|| cp -p $$file $(distdir); \
|
||||
done
|
||||
|
||||
update-po: Makefile
|
||||
@if test "x$(INTLTOOL_UPDATE)" = "x/bin/true"; then \
|
||||
echo "Error: po generation deactivated on VPATH builds."; \
|
||||
echo " See commit c96006919."; \
|
||||
false; \
|
||||
fi
|
||||
$(MAKE) $(GETTEXT_PACKAGE).pot
|
||||
tmpdir=`pwd`; \
|
||||
linguas="$(USE_LINGUAS)"; \
|
||||
for lang in $$linguas; do \
|
||||
echo "$$lang:"; \
|
||||
result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
|
||||
if $$result; then \
|
||||
if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
else \
|
||||
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
|
||||
:; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
fi; \
|
||||
else \
|
||||
echo "msgmerge for $$lang.gmo failed!"; \
|
||||
rm -f $$tmpdir/$$lang.new.po; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
Makefile POTFILES: stamp-it
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-it; \
|
||||
$(MAKE) stamp-it; \
|
||||
fi
|
||||
|
||||
stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
|
||||
$(SHELL) ./config.status
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make not to export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
78
po/Makevars
Normal file
78
po/Makevars
Normal file
|
@ -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=Q_:1g --keyword=C_:1c,2 --keyword=NC_:1c,2 --add-comments
|
||||
|
||||
# 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 = Free Software Foundation, Inc.
|
||||
|
||||
# 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 =
|
||||
|
||||
# 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 = https://gitlab.gnome.org/GNOME/gimp/issues
|
||||
|
||||
# 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 = yes
|
||||
|
||||
# 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 = no
|
||||
|
||||
# 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 = no
|
|
@ -1,8 +1,6 @@
|
|||
# Files from the Gimp distribution which have already been
|
||||
# marked to allow runtime translation of messages
|
||||
|
||||
[encoding: UTF-8]
|
||||
|
||||
desktop/org.gimp.GIMP.appdata.xml.in.in
|
||||
desktop/gimp.desktop.in.in
|
||||
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
We use intltool. Try ../intltool-update --help
|
Loading…
Add table
Add a link
Reference in a new issue