[gtk-mac-integration] Convert translation handling to gettext.



commit 494ba2b661fe8189b4c49f15ed0935abd494a060
Author: John Ralls <jralls ceridwen us>
Date:   Mon Apr 30 16:23:56 2018 -0700

    Convert translation handling to gettext.

 Makefile.am                             |    4 +-
 config.rpath                            |  684 +++++++++++++++++++++++++++++++
 configure.ac                            |   21 +-
 po/LINGUAS                              |    2 +
 po/Makefile.in.in                       |  483 ++++++++++++++++++++++
 po/Makevars                             |   78 ++++
 po/POTFILES.in                          |    2 +
 po/ca.po                                |   65 +++
 po/cs.po                                |   65 +++
 po/da.po                                |   65 +++
 po/de.po                                |   65 +++
 po/en.po                                |   65 +++
 po/es.po                                |   65 +++
 po/eu.po                                |   65 +++
 po/fa.po                                |   65 +++
 po/fi.po                                |   65 +++
 po/fr.po                                |   65 +++
 po/gtk-mac-integration.pot              |   65 +++
 po/he.po                                |   65 +++
 po/hu.po                                |   65 +++
 po/insert-header.sin                    |   23 +
 po/it.po                                |   65 +++
 po/ja.po                                |   65 +++
 po/ko.po                                |   65 +++
 po/lt.po                                |   65 +++
 po/lv_LV.po                             |   65 +++
 po/nb.po                                |   65 +++
 po/nl.po                                |   65 +++
 po/pl.po                                |   65 +++
 po/pt.po                                |   65 +++
 po/remove-potcdate.sin                  |   19 +
 po/ro.po                                |   65 +++
 po/ru.po                                |   65 +++
 po/sk.po                                |   65 +++
 po/sv.po                                |   65 +++
 po/tr.po                                |   65 +++
 po/uk.po                                |   65 +++
 po/vi.po                                |   65 +++
 po/zh_CN.po                             |   65 +++
 po/zh_TW.po                             |   65 +++
 src/Makefile.am                         |    4 +-
 src/gettext.h                           |  292 +++++++++++++
 src/gtkosxapplication_quartz.c          |   53 ++--
 strings/GtkosxApplication.strings.ca    |  Bin 1078 -> 0 bytes
 strings/GtkosxApplication.strings.cs    |  Bin 1088 -> 0 bytes
 strings/GtkosxApplication.strings.da    |  Bin 1056 -> 0 bytes
 strings/GtkosxApplication.strings.de    |  Bin 1102 -> 0 bytes
 strings/GtkosxApplication.strings.en    |  Bin 1090 -> 0 bytes
 strings/GtkosxApplication.strings.es    |  Bin 1084 -> 0 bytes
 strings/GtkosxApplication.strings.eu    |  Bin 1092 -> 0 bytes
 strings/GtkosxApplication.strings.fa    |  Bin 1054 -> 0 bytes
 strings/GtkosxApplication.strings.fi    |  Bin 1066 -> 0 bytes
 strings/GtkosxApplication.strings.fr    |  Bin 1124 -> 0 bytes
 strings/GtkosxApplication.strings.he    |  Bin 1030 -> 0 bytes
 strings/GtkosxApplication.strings.hu    |  Bin 1072 -> 0 bytes
 strings/GtkosxApplication.strings.it    |  Bin 1118 -> 0 bytes
 strings/GtkosxApplication.strings.ja    |  Bin 964 -> 0 bytes
 strings/GtkosxApplication.strings.ko    |  Bin 960 -> 0 bytes
 strings/GtkosxApplication.strings.lt    |  Bin 1074 -> 0 bytes
 strings/GtkosxApplication.strings.lv_LV |  Bin 1084 -> 0 bytes
 strings/GtkosxApplication.strings.nb    |  Bin 1066 -> 0 bytes
 strings/GtkosxApplication.strings.nl    |  Bin 1100 -> 0 bytes
 strings/GtkosxApplication.strings.pl    |  Bin 1084 -> 0 bytes
 strings/GtkosxApplication.strings.pt    |  Bin 1102 -> 0 bytes
 strings/GtkosxApplication.strings.ro    |  Bin 1084 -> 0 bytes
 strings/GtkosxApplication.strings.ru    |  Bin 1084 -> 0 bytes
 strings/GtkosxApplication.strings.sk    |  Bin 1096 -> 0 bytes
 strings/GtkosxApplication.strings.sv    |  Bin 1064 -> 0 bytes
 strings/GtkosxApplication.strings.tr    |  Bin 1018 -> 0 bytes
 strings/GtkosxApplication.strings.uk    |  Bin 971 -> 0 bytes
 strings/GtkosxApplication.strings.vi    |  Bin 1064 -> 0 bytes
 strings/GtkosxApplication.strings.zh_CN |  Bin 944 -> 0 bytes
 strings/GtkosxApplication.strings.zh_TW |  Bin 944 -> 0 bytes
 strings/Makefile.am                     |   56 ---
 74 files changed, 3638 insertions(+), 98 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index b1c6318..18975b6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
-SUBDIRS = src data bindings docs strings
+SUBDIRS = src data bindings docs po
 
 EXTRA_DIST = gtk-doc.make accel_map autogen.sh
 
 DISTCHECK_CONFIGURE_FLAGS = --enable-python=all --enable-gtk-doc
-ACLOCAL_AMFLAGS = -I m4
\ No newline at end of file
+ACLOCAL_AMFLAGS = -I m4
diff --git a/config.rpath b/config.rpath
new file mode 100644
index 0000000..98183ff
--- /dev/null
+++ b/config.rpath
@@ -0,0 +1,684 @@
+#! /bin/sh
+# Output a system dependent set of variables, describing how to set the
+# run time search path of shared libraries in an executable.
+#
+#   Copyright 1996-2016 Free Software Foundation, Inc.
+#   Taken from GNU libtool, 2001
+#   Originally by Gordon Matzigkeit <gord gnu ai mit edu>, 1996
+#
+#   This file is free software; the Free Software Foundation gives
+#   unlimited permission to copy and/or distribute it, with or without
+#   modifications, as long as this notice is preserved.
+#
+# The first argument passed to this file is the canonical host specification,
+#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or
+#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
+# should be set by the caller.
+#
+# The set of defined variables is at the end of this script.
+
+# Known limitations:
+# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
+#   than 256 bytes, otherwise the compiler driver will dump core. The only
+#   known workaround is to choose shorter directory names for the build
+#   directory and/or the installation directory.
+
+# All known linkers require a '.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+shrext=.so
+
+host="$1"
+host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+# Code taken from libtool.m4's _LT_CC_BASENAME.
+
+for cc_temp in $CC""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
+
+# Code taken from libtool.m4's _LT_COMPILER_PIC.
+
+wl=
+if test "$GCC" = yes; then
+  wl='-Wl,'
+else
+  case "$host_os" in
+    aix*)
+      wl='-Wl,'
+      ;;
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      ;;
+    hpux9* | hpux10* | hpux11*)
+      wl='-Wl,'
+      ;;
+    irix5* | irix6* | nonstopux*)
+      wl='-Wl,'
+      ;;
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      case $cc_basename in
+        ecc*)
+          wl='-Wl,'
+          ;;
+        icc* | ifort*)
+          wl='-Wl,'
+          ;;
+        lf95*)
+          wl='-Wl,'
+          ;;
+        nagfor*)
+          wl='-Wl,-Wl,,'
+          ;;
+        pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
+          wl='-Wl,'
+          ;;
+        ccc*)
+          wl='-Wl,'
+          ;;
+        xl* | bgxl* | bgf* | mpixl*)
+          wl='-Wl,'
+          ;;
+        como)
+          wl='-lopt='
+          ;;
+        *)
+          case `$CC -V 2>&1 | sed 5q` in
+            *Sun\ F* | *Sun*Fortran*)
+              wl=
+              ;;
+            *Sun\ C*)
+              wl='-Wl,'
+              ;;
+          esac
+          ;;
+      esac
+      ;;
+    newsos6)
+      ;;
+    *nto* | *qnx*)
+      ;;
+    osf3* | osf4* | osf5*)
+      wl='-Wl,'
+      ;;
+    rdos*)
+      ;;
+    solaris*)
+      case $cc_basename in
+        f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
+          wl='-Qoption ld '
+          ;;
+        *)
+          wl='-Wl,'
+          ;;
+      esac
+      ;;
+    sunos4*)
+      wl='-Qoption ld '
+      ;;
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      wl='-Wl,'
+      ;;
+    sysv4*MP*)
+      ;;
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      wl='-Wl,'
+      ;;
+    unicos*)
+      wl='-Wl,'
+      ;;
+    uts4*)
+      ;;
+  esac
+fi
+
+# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
+
+hardcode_libdir_flag_spec=
+hardcode_libdir_separator=
+hardcode_direct=no
+hardcode_minus_L=no
+
+case "$host_os" in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+esac
+
+ld_shlibs=yes
+if test "$with_gnu_ld" = yes; then
+  # Set some defaults for GNU ld with shared library support. These
+  # are reset later if shared libraries are not supported. Putting them
+  # here allows them to be overridden if necessary.
+  # Unlike libtool, we use -rpath here, not --rpath, since the documented
+  # option of GNU ld is called -rpath, not --rpath.
+  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+  case "$host_os" in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+        ld_shlibs=no
+      fi
+      ;;
+    amigaos*)
+      case "$host_cpu" in
+        powerpc)
+          ;;
+        m68k)
+          hardcode_libdir_flag_spec='-L$libdir'
+          hardcode_minus_L=yes
+          ;;
+      esac
+      ;;
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    cygwin* | mingw* | pw32* | cegcc*)
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    haiku*)
+      ;;
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      ;;
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    netbsd*)
+      ;;
+    solaris*)
+      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
+        ld_shlibs=no
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+          ld_shlibs=no
+          ;;
+        *)
+          if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+            hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+          else
+            ld_shlibs=no
+          fi
+          ;;
+      esac
+      ;;
+    sunos4*)
+      hardcode_direct=yes
+      ;;
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+  esac
+  if test "$ld_shlibs" = no; then
+    hardcode_libdir_flag_spec=
+  fi
+else
+  case "$host_os" in
+    aix3*)
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes; then
+        # Neither direct hardcoding nor static linking is supported with a
+        # broken collect2.
+        hardcode_direct=unsupported
+      fi
+      ;;
+    aix[4-9]*)
+      if test "$host_cpu" = ia64; then
+        # On IA64, the linker does run time linking by default, so we don't
+        # have to do anything special.
+        aix_use_runtimelinking=no
+      else
+        aix_use_runtimelinking=no
+        # Test if we are trying to use run time linking or normal
+        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+        # need to do runtime linking.
+        case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+          for ld_flag in $LDFLAGS; do
+            if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+              aix_use_runtimelinking=yes
+              break
+            fi
+          done
+          ;;
+        esac
+      fi
+      hardcode_direct=yes
+      hardcode_libdir_separator=':'
+      if test "$GCC" = yes; then
+        case $host_os in aix4.[012]|aix4.[012].*)
+          collect2name=`${CC} -print-prog-name=collect2`
+          if test -f "$collect2name" && \
+            strings "$collect2name" | grep resolve_lib_name >/dev/null
+          then
+            # We have reworked collect2
+            :
+          else
+            # We have old collect2
+            hardcode_direct=unsupported
+            hardcode_minus_L=yes
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_libdir_separator=
+          fi
+          ;;
+        esac
+      fi
+      # Begin _LT_AC_SYS_LIBPATH_AIX.
+      echo 'int main () { return 0; }' > conftest.c
+      ${CC} ${LDFLAGS} conftest.c -o conftest
+      aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  
*\(.*\)$/\1/; p; }
+}'`
+      if test -z "$aix_libpath"; then
+        aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  
*\(.*\)$/\1/; p; }
+}'`
+      fi
+      if test -z "$aix_libpath"; then
+        aix_libpath="/usr/lib:/lib"
+      fi
+      rm -f conftest.c conftest
+      # End _LT_AC_SYS_LIBPATH_AIX.
+      if test "$aix_use_runtimelinking" = yes; then
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+      else
+        if test "$host_cpu" = ia64; then
+          hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+        else
+          hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        fi
+      fi
+      ;;
+    amigaos*)
+      case "$host_cpu" in
+        powerpc)
+          ;;
+        m68k)
+          hardcode_libdir_flag_spec='-L$libdir'
+          hardcode_minus_L=yes
+          ;;
+      esac
+      ;;
+    bsdi[45]*)
+      ;;
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      libext=lib
+      ;;
+    darwin* | rhapsody*)
+      hardcode_direct=no
+      if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
+        :
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    dgux*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      ;;
+    freebsd2.[01]*)
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      ;;
+    freebsd* | dragonfly*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      ;;
+    hpux9*)
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      ;;
+    hpux10*)
+      if test "$with_gnu_ld" = no; then
+        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+        hardcode_libdir_separator=:
+        hardcode_direct=yes
+        # hardcode_minus_L: Not really in the search PATH,
+        # but as the default location of the library.
+        hardcode_minus_L=yes
+      fi
+      ;;
+    hpux11*)
+      if test "$with_gnu_ld" = no; then
+        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+        hardcode_libdir_separator=:
+        case $host_cpu in
+          hppa*64*|ia64*)
+            hardcode_direct=no
+            ;;
+          *)
+            hardcode_direct=yes
+            # hardcode_minus_L: Not really in the search PATH,
+            # but as the default location of the library.
+            hardcode_minus_L=yes
+            ;;
+        esac
+      fi
+      ;;
+    irix5* | irix6* | nonstopux*)
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+    netbsd*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      ;;
+    newsos6)
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+    *nto* | *qnx*)
+      ;;
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+        hardcode_direct=yes
+        if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = 
"openbsd2.8-powerpc"; then
+          hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+        else
+          case "$host_os" in
+            openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+              hardcode_libdir_flag_spec='-R$libdir'
+              ;;
+            *)
+              hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+              ;;
+          esac
+        fi
+      else
+        ld_shlibs=no
+      fi
+      ;;
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      ;;
+    osf3*)
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+    osf4* | osf5*)
+      if test "$GCC" = yes; then
+        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+        # Both cc and cxx compiler support -rpath directly
+        hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      hardcode_libdir_separator=:
+      ;;
+    solaris*)
+      hardcode_libdir_flag_spec='-R$libdir'
+      ;;
+    sunos4*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      ;;
+    sysv4)
+      case $host_vendor in
+        sni)
+          hardcode_direct=yes # is this really true???
+          ;;
+        siemens)
+          hardcode_direct=no
+          ;;
+        motorola)
+          hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+          ;;
+      esac
+      ;;
+    sysv4.3*)
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+        ld_shlibs=yes
+      fi
+      ;;
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      ;;
+    sysv5* | sco3.2v5* | sco5v6*)
+      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      hardcode_libdir_separator=':'
+      ;;
+    uts4*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      ;;
+    *)
+      ld_shlibs=no
+      ;;
+  esac
+fi
+
+# Check dynamic linker characteristics
+# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec=      # the last element of library_names_spec in libtool.m4
+libname_spec='lib$name'
+case "$host_os" in
+  aix3*)
+    library_names_spec='$libname.a'
+    ;;
+  aix[4-9]*)
+    library_names_spec='$libname$shrext'
+    ;;
+  amigaos*)
+    case "$host_cpu" in
+      powerpc*)
+        library_names_spec='$libname$shrext' ;;
+      m68k)
+        library_names_spec='$libname.a' ;;
+    esac
+    ;;
+  beos*)
+    library_names_spec='$libname$shrext'
+    ;;
+  bsdi[45]*)
+    library_names_spec='$libname$shrext'
+    ;;
+  cygwin* | mingw* | pw32* | cegcc*)
+    shrext=.dll
+    library_names_spec='$libname.dll.a $libname.lib'
+    ;;
+  darwin* | rhapsody*)
+    shrext=.dylib
+    library_names_spec='$libname$shrext'
+    ;;
+  dgux*)
+    library_names_spec='$libname$shrext'
+    ;;
+  freebsd[23].*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
+  freebsd* | dragonfly*)
+    library_names_spec='$libname$shrext'
+    ;;
+  gnu*)
+    library_names_spec='$libname$shrext'
+    ;;
+  haiku*)
+    library_names_spec='$libname$shrext'
+    ;;
+  hpux9* | hpux10* | hpux11*)
+    case $host_cpu in
+      ia64*)
+        shrext=.so
+        ;;
+      hppa*64*)
+        shrext=.sl
+        ;;
+      *)
+        shrext=.sl
+        ;;
+    esac
+    library_names_spec='$libname$shrext'
+    ;;
+  interix[3-9]*)
+    library_names_spec='$libname$shrext'
+    ;;
+  irix5* | irix6* | nonstopux*)
+    library_names_spec='$libname$shrext'
+    case "$host_os" in
+      irix5* | nonstopux*)
+        libsuff= shlibsuff=
+        ;;
+      *)
+        case $LD in
+          *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
+          *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
+          *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
+          *) libsuff= shlibsuff= ;;
+        esac
+        ;;
+    esac
+    ;;
+  linux*oldld* | linux*aout* | linux*coff*)
+    ;;
+  linux* | k*bsd*-gnu | kopensolaris*-gnu)
+    library_names_spec='$libname$shrext'
+    ;;
+  knetbsd*-gnu)
+    library_names_spec='$libname$shrext'
+    ;;
+  netbsd*)
+    library_names_spec='$libname$shrext'
+    ;;
+  newsos6)
+    library_names_spec='$libname$shrext'
+    ;;
+  *nto* | *qnx*)
+    library_names_spec='$libname$shrext'
+    ;;
+  openbsd*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
+  os2*)
+    libname_spec='$name'
+    shrext=.dll
+    library_names_spec='$libname.a'
+    ;;
+  osf3* | osf4* | osf5*)
+    library_names_spec='$libname$shrext'
+    ;;
+  rdos*)
+    ;;
+  solaris*)
+    library_names_spec='$libname$shrext'
+    ;;
+  sunos4*)
+    library_names_spec='$libname$shrext$versuffix'
+    ;;
+  sysv4 | sysv4.3*)
+    library_names_spec='$libname$shrext'
+    ;;
+  sysv4*MP*)
+    library_names_spec='$libname$shrext'
+    ;;
+  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+    library_names_spec='$libname$shrext'
+    ;;
+  tpf*)
+    library_names_spec='$libname$shrext'
+    ;;
+  uts4*)
+    library_names_spec='$libname$shrext'
+    ;;
+esac
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
+shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e 
"$sed_quote_subst"`
+
+LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
+
+# How to pass a linker flag through the compiler.
+wl="$escaped_wl"
+
+# Static library suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally "so").
+shlibext="$shlibext"
+
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator="$hardcode_libdir_separator"
+
+# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct="$hardcode_direct"
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L="$hardcode_minus_L"
+
+EOF
diff --git a/configure.ac b/configure.ac
index e30e80c..e7a40ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -36,6 +36,7 @@ AC_PROG_OBJC
 AM_PROG_CC_C_O
 AM_PROG_AR
 AM_PROG_LIBTOOL
+AM_GNU_GETTEXT([external])
 
 AM_PATH_GLIB_2_0([2.14.0])
 AC_MSG_CHECKING([GLib Version])
@@ -93,16 +94,16 @@ else
 fi
 
 AC_CONFIG_FILES(
-       Makefile
-       src/Makefile
-        bindings/Makefile
-        bindings/python/Makefile
-       bindings/python/gtkmacintegration/Makefile
-       bindings/python/gtkosx_application/Makefile
-        data/Makefile
-       docs/Makefile
-       docs/reference/Makefile
-       strings/Makefile
+    po/Makefile.in
+    Makefile
+    src/Makefile
+    bindings/Makefile
+    bindings/python/Makefile
+    bindings/python/gtkmacintegration/Makefile
+    bindings/python/gtkosx_application/Makefile
+    data/Makefile
+    docs/Makefile
+    docs/reference/Makefile
     data/gtk-mac-integration-gtk2.pc
     data/gtk-mac-integration-gtk3.pc
 )
diff --git a/po/LINGUAS b/po/LINGUAS
new file mode 100644
index 0000000..258f55d
--- /dev/null
+++ b/po/LINGUAS
@@ -0,0 +1,2 @@
+# Set of available languages
+ca cs da de en es eu fa fi fr he hu it ja ko lt lv_LV nb nl pl pt ro ru sk sv tr uk vi zh_CN zh_TW
\ No newline at end of file
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
new file mode 100644
index 0000000..aafe9e7
--- /dev/null
+++ b/po/Makefile.in.in
@@ -0,0 +1,483 @@
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper gnu ai mit edu>
+#
+# Copying and distribution of this file, with or without modification,
+# are permitted in any medium without royalty provided the copyright
+# notice and this notice are preserved.  This file is offered as-is,
+# without any warranty.
+#
+# Origin: gettext-0.19.8
+GETTEXT_MACRO_VERSION = 0.19
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SED = @SED@
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+# When building gettext-tools, we prefer to use the built programs
+# rather than installed programs.  However, we can't do that when we
+# are cross compiling.
+CROSS_COMPILING = @CROSS_COMPILING@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+POFILESDEPS_ = $(srcdir)/$(DOMAIN).pot
+POFILESDEPS_yes = $(POFILESDEPS_)
+POFILESDEPS_no =
+POFILESDEPS = $(POFILESDEPS_$(PO_DEPENDS_ON_POT))
+
+DISTFILESDEPS_ = update-po
+DISTFILESDEPS_yes = $(DISTFILESDEPS_)
+DISTFILESDEPS_no =
+DISTFILESDEPS = $(DISTFILESDEPS_$(DIST_DEPENDS_ON_UPDATE_PO))
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+       @echo "$(MSGFMT) -c -o $@ $<"; \
+       $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+       @lang=`echo $* | sed -e 's,.*/,,'`; \
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo 
$${lang}.po"; \
+       cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo 
$${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+       sed -e '/^#/d' $< > t-$@
+       mv t-$@ $@
+
+
+all: all-@USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+CHECK_MACRO_VERSION = \
+       test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+         || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 
$(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+              exit 1; \
+            }
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+       @$(CHECK_MACRO_VERSION)
+       test ! -f $(srcdir)/$(DOMAIN).pot || \
+         test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+       @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+         echo "touch stamp-po" && \
+         echo timestamp > stamp-poT && \
+         mv stamp-poT stamp-po; \
+       }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+# The determination of whether the package xyz is a GNU one is based on the
+# heuristic whether some file in the top level directory mentions "GNU xyz".
+# If GNU 'find' is available, we avoid grepping through monster files.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+       package_gnu="$(PACKAGE_GNU)"; \
+       test -n "$$package_gnu" || { \
+         if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
+                LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f \
+                              -size -10000000c -exec grep 'GNU @PACKAGE@' \
+                              /dev/null '{}' ';' 2>/dev/null; \
+              else \
+                LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
+              fi; \
+            } | grep -v 'libtool:' >/dev/null; then \
+            package_gnu=yes; \
+          else \
+            package_gnu=no; \
+          fi; \
+       }; \
+       if test "$$package_gnu" = "yes"; then \
+         package_prefix='GNU '; \
+       else \
+         package_prefix=''; \
+       fi; \
+       if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+         msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+       else \
+         msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+       fi; \
+       case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+         '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+           $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+             --add-comments=Translators: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+             --files-from=$(srcdir)/POTFILES.in \
+             --copyright-holder='$(COPYRIGHT_HOLDER)' \
+             --msgid-bugs-address="$$msgid_bugs_address" \
+           ;; \
+         *) \
+           $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+             --add-comments=Translators: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+             --files-from=$(srcdir)/POTFILES.in \
+             --copyright-holder='$(COPYRIGHT_HOLDER)' \
+             --package-name="$${package_prefix}@PACKAGE@" \
+             --package-version='@VERSION@' \
+             --msgid-bugs-address="$$msgid_bugs_address" \
+           ;; \
+       esac
+       test ! -f $(DOMAIN).po || { \
+         if test -f $(srcdir)/$(DOMAIN).pot-header; then \
+           sed -e '1,/^#$$/d' < $(DOMAIN).po > $(DOMAIN).1po && \
+           cat $(srcdir)/$(DOMAIN).pot-header $(DOMAIN).1po > $(DOMAIN).po; \
+           rm -f $(DOMAIN).1po; \
+         fi; \
+         if test -f $(srcdir)/$(DOMAIN).pot; then \
+           sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+           sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+           if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+             rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+           else \
+             rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+             mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+           fi; \
+         else \
+           mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+         fi; \
+       }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+       $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(POFILESDEPS)
+       @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+       if test -f "$(srcdir)/$${lang}.po"; then \
+         test -f $(srcdir)/$(DOMAIN).pot || $(MAKE) $(srcdir)/$(DOMAIN).pot; \
+         test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+         echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+         cd $(srcdir) \
+           && { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+                  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+                  *) \
+                    $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+                esac; \
+              }; \
+       else \
+         $(MAKE) $${lang}.po-create; \
+       fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+         for file in $(DISTFILES.common) Makevars.template; do \
+           $(INSTALL_DATA) $(srcdir)/$$file \
+                           $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+         for file in Makevars; do \
+           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+       else \
+         : ; \
+       fi
+install-data-no: all
+install-data-yes: all
+       @catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         dir=$(localedir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $(DESTDIR)$$dir; \
+         if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+         $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+         echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+           if test -n "$$lc"; then \
+             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' 
/dev/null; then \
+               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+                for file in *; do \
+                  if test -f $$file; then \
+                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+                  fi; \
+                done); \
+               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+             else \
+               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+                 :; \
+               else \
+                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               fi; \
+             fi; \
+             rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+             ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null 
|| \
+             ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo 
$(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+             cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo 
$(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+             echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+           fi; \
+         done; \
+       done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+       else \
+         : ; \
+       fi
+installdirs-data-no:
+installdirs-data-yes:
+       @catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         dir=$(localedir)/$$lang/LC_MESSAGES; \
+         $(mkdir_p) $(DESTDIR)$$dir; \
+         for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+           if test -n "$$lc"; then \
+             if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' 
/dev/null; then \
+               link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+               mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+               mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+                for file in *; do \
+                  if test -f $$file; then \
+                    ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+                  fi; \
+                done); \
+               rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+             else \
+               if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+                 :; \
+               else \
+                 rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+                 mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+               fi; \
+             fi; \
+           fi; \
+         done; \
+       done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         for file in $(DISTFILES.common) Makevars.template; do \
+           rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+         done; \
+       else \
+         : ; \
+       fi
+uninstall-data-no:
+uninstall-data-yes:
+       catalogs='$(CATALOGS)'; \
+       for cat in $$catalogs; do \
+         cat=`basename $$cat`; \
+         lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+         for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+           rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+         done; \
+       done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+       rm -f remove-potcdate.sed
+       rm -f stamp-poT
+       rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+       rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+       rm -f Makefile Makefile.in POTFILES *.mo
+
+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 stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+       test -z "$(DISTFILESDEPS)" || $(MAKE) $(DISTFILESDEPS)
+       @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
+       dists="$(DISTFILES)"; \
+       if test "$(PACKAGE)" = "gettext-tools"; then \
+         dists="$$dists Makevars.template"; \
+       fi; \
+       if test -f $(srcdir)/$(DOMAIN).pot; then \
+         dists="$$dists $(DOMAIN).pot stamp-po"; \
+       fi; \
+       if test -f $(srcdir)/ChangeLog; then \
+         dists="$$dists ChangeLog"; \
+       fi; \
+       for i in 0 1 2 3 4 5 6 7 8 9; do \
+         if test -f $(srcdir)/ChangeLog.$$i; then \
+           dists="$$dists ChangeLog.$$i"; \
+         fi; \
+       done; \
+       if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+       for file in $$dists; do \
+         if test -f $$file; then \
+           cp -p $$file $(distdir) || exit 1; \
+         else \
+           cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+         fi; \
+       done
+
+update-po: Makefile
+       $(MAKE) $(DOMAIN).pot-update
+       test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+       $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+       @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+       echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 
1>&2; \
+       exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+       @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+       if test "$(PACKAGE)" = "gettext-tools" && test "$(CROSS_COMPILING)" != "yes"; then 
PATH=`pwd`/../src:$$PATH; fi; \
+       tmpdir=`pwd`; \
+       echo "$$lang:"; \
+       test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+       echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o 
$$lang.new.po"; \
+       cd $(srcdir); \
+       if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+              '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+              *) \
+                $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po 
$(DOMAIN).pot;; \
+            esac; \
+          }; then \
+         if cmp $$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; \
+             exit 1; \
+           fi; \
+         fi; \
+       else \
+         echo "msgmerge for $$lang.po failed!" 1>&2; \
+         rm -f $$tmpdir/$$lang.new.po; \
+       fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+       @:
+
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+       cd $(top_builddir) \
+         && @SHELL@ ./config.status $(subdir)/$@.in po-directories
+
+force:
+
+# 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:
diff --git a/po/Makevars b/po/Makevars
new file mode 100644
index 0000000..ca5dc34
--- /dev/null
+++ b/po/Makevars
@@ -0,0 +1,78 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# 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 = John Ralls <jralls ceridwen us>
+
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty.  If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU = no
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+#   in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+#   understood.
+# - Strings which make invalid assumptions about notation of date, time or
+#   money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-mac-integration
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used.  It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context.  Possible values are "yes" and "no".  Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+#   --previous            to keep previous msgids of translated messages,
+#   --quiet               to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed.  Possible values are "yes" and "no".  Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = yes
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist".  Possible values are "yes" and
+# "no".  Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = yes
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 0000000..39a76bf
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,2 @@
+# List of source files which contain translatable strings.
+src/gtkosxapplication_quartz.c
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 0000000..a331bc6
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Serveis"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Amaga %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Amaga altres"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Mostra Totes"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Deixar %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Finestra"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimitzar"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Portar tot al capdavant"
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..e120200
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Služby"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Skrýt %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Skrýt ostatní "
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Zobrazit vaechny"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Přestat %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Okno"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimalizovat"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Přenést vše do popředí"
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..331b074
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Services"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Skjul %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Skjul Andre"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Vis alle"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Slut %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Vindue"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimer"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Bring alle for at Front"
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..6e10f95
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Services"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "%s ausblenden"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr ""
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Alle anzeigen"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr ""
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Fenster"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimieren"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Alle nach vorne bringen"
diff --git a/po/en.po b/po/en.po
new file mode 100644
index 0000000..bc427b3
--- /dev/null
+++ b/po/en.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr ""
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr ""
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr ""
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr ""
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr ""
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr ""
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr ""
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr ""
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..7f4e6ec
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Servicios"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Ocultar %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Ocultar otro"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Mostrar todas"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Salir de %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Ventana"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimizar"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Traer todo al frente"
diff --git a/po/eu.po b/po/eu.po
new file mode 100644
index 0000000..9db62a1
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Zerbitzuak"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Ezkutatu %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Beste batzuk ezkutatu"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Erakutsi guztiak"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Irten %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Leiho"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr ""
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Guztiak Ekarri"
diff --git a/po/fa.po b/po/fa.po
new file mode 100644
index 0000000..91d2c63
--- /dev/null
+++ b/po/fa.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "خدمات"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "%s مخفی کردن"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "دیگران مخفی"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "نمایش همه"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "%s ترک"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "پنجره"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "به حداقل رساندن"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "بیاورید همه به جبهه"
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 0000000..4911fac
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Palvelut"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Piilottaa %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "K�tke muut"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "N�yt� kaikki"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Lopettaa %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Ikkuna"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimoida"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Tuo kaikki eteen"
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..33af8ed
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Services"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Masquer %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Masquer les autres"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Tout afficher"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Quitter de %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Fenêtre"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Placer dans le Dock"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Tout ramener au premier plan"
diff --git a/po/gtk-mac-integration.pot b/po/gtk-mac-integration.pot
new file mode 100644
index 0000000..bc427b3
--- /dev/null
+++ b/po/gtk-mac-integration.pot
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr ""
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr ""
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr ""
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr ""
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr ""
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr ""
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr ""
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr ""
diff --git a/po/he.po b/po/he.po
new file mode 100644
index 0000000..25080dd
--- /dev/null
+++ b/po/he.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "שירותים"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "%s להסתיר"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "הסתר אחרים"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "הצג הכל"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "%s להתפטר"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "חלון"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "לצמצם"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "כדי להביא את כל החזית"
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 0000000..ca2162b
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Szolgáltatások"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Eldug %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Többi elrejtése"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Összes"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Kilép %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr ""
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Ablak"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Hozd Összes Front"
diff --git a/po/insert-header.sin b/po/insert-header.sin
new file mode 100644
index 0000000..b26de01
--- /dev/null
+++ b/po/insert-header.sin
@@ -0,0 +1,23 @@
+# Sed script that inserts the file called HEADER before the header entry.
+#
+# At each occurrence of a line starting with "msgid ", we execute the following
+# commands. At the first occurrence, insert the file. At the following
+# occurrences, do nothing. The distinction between the first and the following
+# occurrences is achieved by looking at the hold space.
+/^msgid /{
+x
+# Test if the hold space is empty.
+s/m/m/
+ta
+# Yes it was empty. First occurrence. Read the file.
+r HEADER
+# Output the file's contents by reading the next line. But don't lose the
+# current line while doing this.
+g
+N
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..8934d53
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Servizi"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Nascondere %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Nascondi Altre"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "ÖMostra tutto"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Smettere %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Finestra"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Ridurre al minimo"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Porta tutto in primo piano"
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..ee0b729
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "サービス"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "隠す %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "隠すその他"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "すべて表示"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "終了%s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "ウィンドウ"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "最小化"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "すべての最前面へ"
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 0000000..a88f33f
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "서비스"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "숨기기 %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "숨기기기타"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "모두보기"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "종료 %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "창"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "최소화"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "모두 앞으로 가져오기"
diff --git a/po/lt.po b/po/lt.po
new file mode 100644
index 0000000..271ca9f
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Paslaugos"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Paslėpti %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Slėpti kitus"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Rodyti visus"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Mesti %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Langas"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimizuoti"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Visiems į frontą"
diff --git a/po/lv_LV.po b/po/lv_LV.po
new file mode 100644
index 0000000..bc427b3
--- /dev/null
+++ b/po/lv_LV.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr ""
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr ""
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr ""
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr ""
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr ""
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr ""
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr ""
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr ""
diff --git a/po/nb.po b/po/nb.po
new file mode 100644
index 0000000..a24cfdf
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Tjenester"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "PSkjul %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Skjul Andre"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Vis alle"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Avslutt %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Vindu"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimer"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Bring alle for å Forsiden"
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..0e86225
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Diensten"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Verberg %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Anderen verbergen"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Alles laten zien"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Stop %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Venster"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimalisee"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Alle Breng naar voorgrond"
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..4f63d0c
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Usługi"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Ukryć %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Ukryj Inne"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Pokaż wszystko"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Zamknij %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Okno"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Zminimalizuj"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Przynieś wszystko na wierzch"
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..dbddfc7
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Serviços"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Ocultar %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Esconder os Outros"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Mostrar todos"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Encerrar %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Janela"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimizar"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Todos trazem para a Frente"
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
new file mode 100644
index 0000000..2436c49
--- /dev/null
+++ b/po/remove-potcdate.sin
@@ -0,0 +1,19 @@
+# Sed script that remove the POT-Creation-Date line in the header entry
+# from a POT file.
+#
+# The distinction between the first and the following occurrences of the
+# pattern is achieved by looking at the hold space.
+/^"POT-Creation-Date: .*"$/{
+x
+# Test if the hold space is empty.
+s/P/P/
+ta
+# Yes it was empty. First occurrence. Remove the line.
+g
+d
+bb
+:a
+# The hold space was nonempty. Following occurrences. Do nothing.
+x
+:b
+}
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 0000000..eae61bf
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Servicii"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Ascunde %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Ascunde Altele"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Arata toate"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Ieire %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Fereastr"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimaliza"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Adu Toate pentru față"
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..d4ca41a
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "услуги"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Скрыть %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Скрыть другие"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "показать все"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Выход %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "окно"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "инимизировать"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Приведите все для фронта"
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 0000000..99a92d4
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Služby"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Skryť %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Skryť Ostatné"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Zobraziť Všetko"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Ukončiť %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Okno"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimalizovať"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Prineste Všetko do Popredia"
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..ec7b77a
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Tjänster"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Dölj %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Dölj andra"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Visa alla"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Avsluta %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Fönster"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Minimera"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Ta med alla längst fram"
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..1d303c6
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "Hizmetler"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Gizlemek %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Diğerlerini sakla"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Tüm"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Çık %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Pencere"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Azaltmak"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Tüm Öne Getir"
diff --git a/po/uk.po b/po/uk.po
new file mode 100644
index 0000000..dcd4e5f
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "послуги"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "приховувати %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "сховати інші"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Показати всі"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Вийти %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Вікно"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "мінімізувати"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Наведіть все для фронту"
diff --git a/po/vi.po b/po/vi.po
new file mode 100644
index 0000000..83a0d74
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "dịch vụ"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "Che %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "Ẩn Khác"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "Hiện tất cả"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "Thoát %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "Cửa sổ"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "Gi£ṭ thiÃṵ"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "Tất cả mang đến Mặt trận"
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644
index 0000000..e045b93
--- /dev/null
+++ b/po/zh_CN.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "服务"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "隐藏 %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "隐藏其他"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "显示所有"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "退出 %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "窗口"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "最小化"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "把所有要接待"
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644
index 0000000..093951f
--- /dev/null
+++ b/po/zh_TW.po
@@ -0,0 +1,65 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR John Ralls <jralls ceridwen us>
+# This file is distributed under the same license as the gtk-mac-integration package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gtk-mac-integration 2.0.8\n"
+"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gtk-";
+"mac-integration\n"
+"POT-Creation-Date: 2018-04-30 12:09-0700\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL li org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Translators: This is the Services menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:251
+msgid "Services"
+msgstr "服務"
+
+#. Translators: This is the "Hide" menu item of the "Apple"
+#. menu. The parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:270
+#, c-format
+msgid "Hide %s"
+msgstr "隱藏 %s"
+
+#. Translators: This is the "Hide Others" menu item for the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:284
+msgid "Hide Others"
+msgstr "隱藏其他"
+
+#. Translators: This is the Show All menu item in the "Apple" menu.
+#: src/gtkosxapplication_quartz.c:291
+msgid "Show All"
+msgstr "顯示所有"
+
+#. Translators: This is the Quit menu item for the "Apple" menu. The
+#. parameter is the application name.
+#.
+#: src/gtkosxapplication_quartz.c:306
+#, c-format
+msgid "Quit %s"
+msgstr "退出 %s"
+
+#. Translators: This is the title of the Window menu in the menubar.
+#: src/gtkosxapplication_quartz.c:339
+msgid "Window"
+msgstr "窗口"
+
+#. Translators: This is the Minimize menuitem for the Window menu.
+#: src/gtkosxapplication_quartz.c:355
+msgid "Minimize"
+msgstr "最小化"
+
+#. Translators: This is a menu item in the Window menu.
+#: src/gtkosxapplication_quartz.c:359
+msgid "Bring All to Front"
+msgstr "把所有要接待"
diff --git a/src/Makefile.am b/src/Makefile.am
index 4aaa9ad..3180e5e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,4 +1,4 @@
-AM_CPPFLAGS = -I$(top_srcdir) $(WARN_CFLAGS)
+AM_CPPFLAGS = -I$(top_srcdir) $(WARN_CFLAGS) -DLOCALEDIR=\"$(localedir)\"
 
 -include $(INTROSPECTION_MAKEFILE)
 
@@ -110,4 +110,4 @@ typelibs_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
 
 CLEANFILES = $(gir_DATA) $(typelibs_DATA)
 endif
-endif
\ No newline at end of file
+endif
diff --git a/src/gettext.h b/src/gettext.h
new file mode 100644
index 0000000..841b072
--- /dev/null
+++ b/src/gettext.h
@@ -0,0 +1,292 @@
+/* Convenience header for conditional use of GNU <libintl.h>.
+   Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2016 Free Software
+   Foundation, Inc.
+
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBGETTEXT_H
+#define _LIBGETTEXT_H 1
+
+/* NLS can be disabled through the configure --disable-nls option.  */
+#if ENABLE_NLS
+
+/* Get declarations of GNU message catalog functions.  */
+# include <libintl.h>
+
+/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by
+   the gettext() and ngettext() macros.  This is an alternative to calling
+   textdomain(), and is useful for libraries.  */
+# ifdef DEFAULT_TEXT_DOMAIN
+#  undef gettext
+#  define gettext(Msgid) \
+     dgettext (DEFAULT_TEXT_DOMAIN, Msgid)
+#  undef ngettext
+#  define ngettext(Msgid1, Msgid2, N) \
+     dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N)
+# endif
+
+#else
+
+/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
+   chokes if dcgettext is defined as a macro.  So include it now, to make
+   later inclusions of <locale.h> a NOP.  We don't include <libintl.h>
+   as well because people using "gettext.h" will not include <libintl.h>,
+   and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
+   is OK.  */
+#if defined(__sun)
+# include <locale.h>
+#endif
+
+/* Many header files from the libstdc++ coming with g++ 3.3 or newer include
+   <libintl.h>, which chokes if dcgettext is defined as a macro.  So include
+   it now, to make later inclusions of <libintl.h> a NOP.  */
+#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
+# include <cstdlib>
+# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H
+#  include <libintl.h>
+# endif
+#endif
+
+/* Disabled NLS.
+   The casts to 'const char *' serve the purpose of producing warnings
+   for invalid uses of the value returned from these functions.
+   On pre-ANSI systems without 'const', the config.h file is supposed to
+   contain "#define const".  */
+# undef gettext
+# define gettext(Msgid) ((const char *) (Msgid))
+# undef dgettext
+# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
+# undef dcgettext
+# define dcgettext(Domainname, Msgid, Category) \
+    ((void) (Category), dgettext (Domainname, Msgid))
+# undef ngettext
+# define ngettext(Msgid1, Msgid2, N) \
+    ((N) == 1 \
+     ? ((void) (Msgid2), (const char *) (Msgid1)) \
+     : ((void) (Msgid1), (const char *) (Msgid2)))
+# undef dngettext
+# define dngettext(Domainname, Msgid1, Msgid2, N) \
+    ((void) (Domainname), ngettext (Msgid1, Msgid2, N))
+# undef dcngettext
+# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
+    ((void) (Category), dngettext (Domainname, Msgid1, Msgid2, N))
+# undef textdomain
+# define textdomain(Domainname) ((const char *) (Domainname))
+# undef bindtextdomain
+# define bindtextdomain(Domainname, Dirname) \
+    ((void) (Domainname), (const char *) (Dirname))
+# undef bind_textdomain_codeset
+# define bind_textdomain_codeset(Domainname, Codeset) \
+    ((void) (Domainname), (const char *) (Codeset))
+
+#endif
+
+/* Prefer gnulib's setlocale override over libintl's setlocale override.  */
+#ifdef GNULIB_defined_setlocale
+# undef setlocale
+# define setlocale rpl_setlocale
+#endif
+
+/* A pseudo function call that serves as a marker for the automated
+   extraction of messages, but does not call gettext().  The run-time
+   translation is done at a different place in the code.
+   The argument, String, should be a literal string.  Concatenated strings
+   and other string expressions won't work.
+   The macro's expansion is not parenthesized, so that it is suitable as
+   initializer for static 'char[]' or 'const char[]' variables.  */
+#define gettext_noop(String) String
+
+/* The separator between msgctxt and msgid in a .mo file.  */
+#define GETTEXT_CONTEXT_GLUE "\004"
+
+/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
+   MSGID.  MSGCTXT and MSGID must be string literals.  MSGCTXT should be
+   short and rarely need to change.
+   The letter 'p' stands for 'particular' or 'special'.  */
+#ifdef DEFAULT_TEXT_DOMAIN
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#else
+# define pgettext(Msgctxt, Msgid) \
+   pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#endif
+#define dpgettext(Domainname, Msgctxt, Msgid) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
+  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
+#ifdef DEFAULT_TEXT_DOMAIN
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, 
LC_MESSAGES)
+#else
+# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+   npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#endif
+#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
+  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+pgettext_aux (const char *domain,
+              const char *msg_ctxt_id, const char *msgid,
+              int category)
+{
+  const char *translation = dcgettext (domain, msg_ctxt_id, category);
+  if (translation == msg_ctxt_id)
+    return msgid;
+  else
+    return translation;
+}
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+npgettext_aux (const char *domain,
+               const char *msg_ctxt_id, const char *msgid,
+               const char *msgid_plural, unsigned long int n,
+               int category)
+{
+  const char *translation =
+    dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+  if (translation == msg_ctxt_id || translation == msgid_plural)
+    return (n == 1 ? msgid : msgid_plural);
+  else
+    return translation;
+}
+
+/* The same thing extended for non-constant arguments.  Here MSGCTXT and MSGID
+   can be arbitrary expressions.  But for string literals these macros are
+   less efficient than those above.  */
+
+#include <string.h>
+
+#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
+     /* || __STDC_VERSION__ >= 199901L */ )
+# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
+#else
+# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
+#endif
+
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+#include <stdlib.h>
+#endif
+
+#define pgettext_expr(Msgctxt, Msgid) \
+  dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES)
+#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
+  dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES)
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcpgettext_expr (const char *domain,
+                 const char *msgctxt, const char *msgid,
+                 int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      int found_translation;
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcgettext (domain, msg_ctxt_id, category);
+      found_translation = (translation != msg_ctxt_id);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+        free (msg_ctxt_id);
+#endif
+      if (found_translation)
+        return translation;
+    }
+  return msgid;
+}
+
+#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+  dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static const char *
+dcnpgettext_expr (const char *domain,
+                  const char *msgctxt, const char *msgid,
+                  const char *msgid_plural, unsigned long int n,
+                  int category)
+{
+  size_t msgctxt_len = strlen (msgctxt) + 1;
+  size_t msgid_len = strlen (msgid) + 1;
+  const char *translation;
+#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+  char msg_ctxt_id[msgctxt_len + msgid_len];
+#else
+  char buf[1024];
+  char *msg_ctxt_id =
+    (msgctxt_len + msgid_len <= sizeof (buf)
+     ? buf
+     : (char *) malloc (msgctxt_len + msgid_len));
+  if (msg_ctxt_id != NULL)
+#endif
+    {
+      int found_translation;
+      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+      msg_ctxt_id[msgctxt_len - 1] = '\004';
+      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+      translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+      found_translation = !(translation == msg_ctxt_id || translation == msgid_plural);
+#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+      if (msg_ctxt_id != buf)
+        free (msg_ctxt_id);
+#endif
+      if (found_translation)
+        return translation;
+    }
+  return (n == 1 ? msgid : msgid_plural);
+}
+
+#endif /* _LIBGETTEXT_H */
diff --git a/src/gtkosxapplication_quartz.c b/src/gtkosxapplication_quartz.c
index 94a07ee..d4ba637 100644
--- a/src/gtkosxapplication_quartz.c
+++ b/src/gtkosxapplication_quartz.c
@@ -38,6 +38,7 @@
 #include "cocoa_menu.h"
 #include "getlabel.h"
 #include "gtkosx-image.h"
+#include "gettext.h"
 
 #if GTK_CHECK_VERSION (2, 90, 7)
 #include <gdk/gdkkeysyms-compat.h>
@@ -49,6 +50,7 @@
 #undef G_LOG_DOMAIN
 #endif
 #define G_LOG_DOMAIN "gtkosxapplication"
+#define _(s) dgettext (PACKAGE_NAME, s)
 
 /* This is a private function in libgdk; we need to have is so that we
    can force new windows onto the Window menu */
@@ -245,9 +247,8 @@ create_apple_menu (GtkosxApplication *self, GtkWidget *toplevel)
   NSMenuItem *menuitem;
   // Create the application (Apple) menu.
   NSMenu *app_menu = [[[NSMenu alloc] initWithTitle: @"Apple Menu"] autorelease];
-  NSString *title = NSLocalizedStringFromTable (@"Services",
-                                               @"GtkosxApplication",
-                                               @"Services Menu title");
+  /* Translators: This is the Services menu item for the "Apple" menu. */
+  NSString *title = [NSString stringWithUTF8String: _("Services")];
   NSMenu *menuServices = [[[NSMenu alloc] initWithTitle: title] autorelease];
   NSString *appname = get_application_name ();
   GClosure *hide_closure, *hide_others_closure;
@@ -257,13 +258,16 @@ create_apple_menu (GtkosxApplication *self, GtkWidget *toplevel)
   [NSApp setServicesMenu: menuServices];
 
   [app_menu addItem: [NSMenuItem separatorItem]];
-  menuitem = [[NSMenuItem alloc] initWithTitle:  NSLocalizedStringFromTable (@"Services",  
@"GtkosxApplication", @"Services Menu Item title")
+  menuitem = [[NSMenuItem alloc] initWithTitle: title
              action: nil keyEquivalent: @""];
   [menuitem setSubmenu: menuServices];
   [app_menu addItem: menuitem];
   [menuitem release];
   [app_menu addItem: [NSMenuItem separatorItem]];
-  menuitem = [[NSMenuItem alloc] initWithTitle: [NSString stringWithFormat: NSLocalizedStringFromTable 
(@"Hide %@", @"GtkosxApplication", @"Hide menu item title"), appname]
+  /* Translators: This is the "Hide" menu item of the "Apple"
+     menu. The parameter is the application name.
+   */
+  menuitem = [[NSMenuItem alloc] initWithTitle: [NSString stringWithFormat: [NSString stringWithUTF8String: 
_("Hide %s")], appname]
              action: @selector (hide:) keyEquivalent: @"h"];
   hide_closure = g_cclosure_new (G_CALLBACK (_nsapp_hide),
                                 (void*)menuitem, NULL);
@@ -276,13 +280,15 @@ create_apple_menu (GtkosxApplication *self, GtkWidget *toplevel)
   [menuitem setTarget: NSApp];
   [app_menu addItem: menuitem];
   [menuitem release];
-  menuitem = [[NSMenuItem alloc] initWithTitle: NSLocalizedStringFromTable (@"Hide Others",  
@"GtkosxApplication", @"Hide Others menu item title")
+  /* Translators: This is the "Hide Others" menu item for the "Apple" menu. */
+  menuitem = [[NSMenuItem alloc] initWithTitle: [NSString stringWithUTF8String: _("Hide Others")]
              action: @selector (hideOtherApplications: ) keyEquivalent: @"h"];
   [menuitem setKeyEquivalentModifierMask: NSCommandKeyMask | NSAlternateKeyMask];
   [menuitem setTarget: NSApp];
   [app_menu addItem: menuitem];
   [menuitem release];
-  menuitem = [[NSMenuItem alloc] initWithTitle: NSLocalizedStringFromTable ( @"Show All", 
@"GtkosxApplication",  @"Show All menu item title")
+  /* Translators: This is the Show All menu item in the "Apple" menu. */
+  menuitem = [[NSMenuItem alloc] initWithTitle: [NSString stringWithUTF8String: _("Show All")]
              action: @selector (unhideAllApplications: ) keyEquivalent: @""];
   hide_others_closure = g_cclosure_new (G_CALLBACK (_nsapp_hide_others),
                                        (void*)menuitem, NULL);
@@ -294,7 +300,10 @@ create_apple_menu (GtkosxApplication *self, GtkWidget *toplevel)
   [menuitem release];
   [app_menu addItem: [NSMenuItem separatorItem]];
 
-  menuitem = [[NSMenuItem alloc] initWithTitle: [NSString stringWithFormat: NSLocalizedStringFromTable 
(@"Quit %@", @"GtkosxApplication", @"Quit menu item title"), appname]
+  /* Translators: This is the Quit menu item for the "Apple" menu. The
+     parameter is the application name.
+   */
+  menuitem = [[NSMenuItem alloc] initWithTitle: [NSString stringWithFormat: [NSString stringWithUTF8String: 
_("Quit %s")], appname]
              action: @selector (terminate:) keyEquivalent: @"q"];
 /*
  * Accounts for the added application name to the Quit menu item in a
@@ -326,9 +335,8 @@ create_apple_menu (GtkosxApplication *self, GtkWidget *toplevel)
 static _GNSMenuItem *
 create_window_menu (GtkosxApplication *self)
 {
-  NSString *title = NSLocalizedStringFromTable (@"Window",
-                    @"GtkosxApplication",
-                    @"Window Menu title");
+  /* Translators: This is the title of the Window menu in the menubar. */
+  NSString *title = [NSString stringWithUTF8String: _("Window")];
   NSMenu *window_menu = [[[NSMenu alloc] initWithTitle: title] autorelease];
   GtkMenuBar *menubar = [(_GNSMenuBar*)[NSApp mainMenu] menuBar];
   GtkWidget *parent = NULL;
@@ -343,11 +351,12 @@ create_window_menu (GtkosxApplication *self)
     win = gtk_widget_get_window (parent);
   if (win && GDK_IS_WINDOW (win))
     nswin = gdk_quartz_window_get_nswindow (win);
-
-  [window_menu addItemWithTitle: NSLocalizedStringFromTable (@"Minimize", @"GtkosxApplication", 
@"Windows|Minimize menu item")
+  /* Translators: This is the Minimize menuitem for the Window menu. */
+  [window_menu addItemWithTitle: [NSString stringWithUTF8String: _("Minimize")]
    action: @selector (performMiniaturize: ) keyEquivalent: @"m"];
   [window_menu addItem: [NSMenuItem separatorItem]];
-  [window_menu addItemWithTitle: NSLocalizedStringFromTable (@"Bring All to Front", @"GtkosxApplication", 
@"Windows|Bring All To Front menu item title")
+  /* Translators: This is a menu item in the Window menu. */
+  [window_menu addItemWithTitle: [NSString stringWithUTF8String: _("Bring All to Front")]
    action: @selector (arrangeInFront: ) keyEquivalent: @""];
 
   [NSApp setWindowsMenu: window_menu];
@@ -364,11 +373,6 @@ create_window_menu (GtkosxApplication *self)
  * @properties: an array of construction properties
  *
  * Overrides the GObject (superclass) constructor to enforce a singleton
- * Note that the static strings are internationalized the Apple way,
- * so you'll need to use the Apple localization tools if you need to
- * translations other than the ones provided. The resource file will
- * be GtkosxApplication.strings, and must be installed in lang.proj in
- * the application bundle's Resources directory.
  *
  * Returns: A pointer to the new object.
  */
@@ -588,6 +592,7 @@ gtkosx_application_init (GtkosxApplication *self)
   self->priv->notify = [[GtkApplicationNotificationObject alloc] init];
   [NSApp setDelegate: [GtkApplicationDelegate new]];
   self->priv->delegate = [NSApp delegate];
+  bindtextdomain (PACKAGE_NAME, LOCALEDIR);
 }
 
 static void
@@ -847,16 +852,8 @@ gtkosx_application_insert_app_menu_item (GtkosxApplication* self,
                                          gint index)
 {
   gtk_widget_set_visible (item, TRUE);
-  /*Sleazy hack to avoid dealing with translating "About": If it's the
-    zero'th item, it's the About item. */
   if (index == 0)
-    {
-      GtkWidget *widgetLabel = NULL;
-      const gchar *label = get_menu_label_text (item, &widgetLabel);
-      NSString *nsappname = get_application_name ();
-      const gchar *appname = [nsappname UTF8String];
-      gtk_menu_item_set_label (GTK_MENU_ITEM (item), g_strdup_printf ("%s %s", label, appname));
-    }
+    return;
 
   cocoa_menu_item_add_item ([[[NSApp mainMenu] itemAtIndex: 0] submenu],
                             item, index);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]