diff -Nur marquee-plugins-0.22/configure.ac marquee-plugins-0.22-new/configure.ac
--- marquee-plugins-0.22/configure.ac	2008-05-09 08:05:42.000000000 +0000
+++ marquee-plugins-0.22-new/configure.ac	2008-05-09 08:24:42.000000000 +0000
@@ -46,6 +46,18 @@
 AC_SUBST(LIBHILDONWM_LIBS)
 AC_SUBST(LIBHILDONWM_CFLAGS)
 
+#+++++++++++++++++++++
+# Gettext support
+#+++++++++++++++++++++
+
+GETTEXT_PACKAGE=marquee-plugins
+AC_SUBST(GETTEXT_PACKAGE)
+
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", "definition of GETTEXT_PACKAGE")
+
+AM_GLIB_GNU_GETTEXT
+AM_GLIB_DEFINE_LOCALEDIR([LOCALEDIR])
+
 #+++++++++++++++++++
 # Directories setup
 #+++++++++++++++++++
@@ -66,6 +78,7 @@
 src/clock-plugin.desktop
 src/close-app.desktop
 src/showhome-plugin.desktop
+po/Makefile.in
 ])
 
 AC_OUTPUT
diff -Nur marquee-plugins-0.22/Makefile.am marquee-plugins-0.22-new/Makefile.am
--- marquee-plugins-0.22/Makefile.am	2008-05-07 03:25:40.000000000 +0000
+++ marquee-plugins-0.22-new/Makefile.am	2008-05-09 08:25:08.000000000 +0000
@@ -1 +1 @@
-SUBDIRS = src
+SUBDIRS = src po
diff -Nur marquee-plugins-0.22/po/LINGUAS marquee-plugins-0.22-new/po/LINGUAS
--- marquee-plugins-0.22/po/LINGUAS	1970-01-01 00:00:00.000000000 +0000
+++ marquee-plugins-0.22-new/po/LINGUAS	2008-05-09 08:44:38.000000000 +0000
@@ -0,0 +1,3 @@
+zh_CN
+zh_HK
+zh_TW
diff -Nur marquee-plugins-0.22/po/Makefile.in.in marquee-plugins-0.22-new/po/Makefile.in.in
--- marquee-plugins-0.22/po/Makefile.in.in	2008-05-07 03:25:40.000000000 +0000
+++ marquee-plugins-0.22-new/po/Makefile.in.in	2008-05-09 08:25:28.000000000 +0000
@@ -1,46 +1,49 @@
 # Makefile for program source directory in GNU NLS utilities package.
 # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 2004-2008 Rodney Dawes <dobey.pwns@gmail.com>
 #
-# This file file be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU Public License
+# This file may be copied and used freely without restrictions.  It may
+# be used in projects which are not available under a GNU Public License,
 # but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
 #
 # - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
 #   instead of PACKAGE and to look for po2tbl in ./ not in intl/
 #
 # - Modified by jacob berkman <jacob@ximian.com> to install
 #   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
+#
+# - Modified by Rodney Dawes <dobey.pwns@gmail.com> for use with intltool
+#
+# We have the following line for use by intltoolize:
+# INTLTOOL_MAKEFILE
 
 GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
 
 SHELL = /bin/sh
-@SET_MAKE@
 
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
-top_builddir = ..
+top_builddir = @top_builddir@
 VPATH = @srcdir@
 
 prefix = @prefix@
 exec_prefix = @exec_prefix@
 datadir = @datadir@
+datarootdir = @datarootdir@
 libdir = @libdir@
-localedir = $(libdir)/locale
-gnulocaledir = $(datadir)/locale
-gettextsrcdir = $(datadir)/glib-2.0/gettext/po
+DATADIRNAME = @DATADIRNAME@
+itlocaledir = $(prefix)/$(DATADIRNAME)/locale
 subdir = po
 install_sh = @install_sh@
-mkdir_p = @mkdir_p@
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+# Automake >= 1.8 provides @mkdir_p@.
+# Until it can be supposed, use the safe fallback:
+mkdir_p = $(install_sh) -d
 
 INSTALL = @INSTALL@
 INSTALL_DATA = @INSTALL_DATA@
 
-CC = @CC@
-GENCAT = @GENCAT@
 GMSGFMT = @GMSGFMT@
 MSGFMT = @MSGFMT@
 XGETTEXT = @XGETTEXT@
@@ -49,35 +52,30 @@
 MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
 GENPOT   = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
 
-DEFS = @DEFS@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-
-INCLUDES = -I.. -I$(top_srcdir)/intl
-
-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
-
-SOURCES = 
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-DISTFILES = ChangeLog Makefile.in.in POTFILES.in \
-$(POFILES) $(GMOFILES) $(SOURCES)
+ALL_LINGUAS = @ALL_LINGUAS@
+
+PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; fi)
+
+USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS`" -o -n "`echo $$ALINGUAS|grep ' ?$$lang ?'`"; then printf "$$lang "; fi; done; fi)
+
+USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
+
+POFILES=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
+
+DISTFILES = ChangeLog Makefile.in.in POTFILES.in $(POFILES)
+EXTRA_DISTFILES = POTFILES.skip Makevars LINGUAS
 
 POTFILES = \
+# This comment gets stripped out
 
-CATALOGS = @CATALOGS@
-CATOBJEXT = @CATOBJEXT@
-INSTOBJEXT = @INSTOBJEXT@
+CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
 
 .SUFFIXES:
-.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
-
-.c.o:
-	$(COMPILE) $<
+.SUFFIXES: .po .pox .gmo .mo .msg .cat
 
 .po.pox:
 	$(MAKE) $(GETTEXT_PACKAGE).pot
-	$(MSGMERGE) $< $(top_builddir)/po/$(GETTEXT_PACKAGE).pot -o $*pox
+	$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
 
 .po.mo:
 	$(MSGFMT) -o $@ $<
@@ -88,7 +86,7 @@
 
 .po.cat:
 	sed -f ../intl/po2msg.sed < $< > $*.msg \
-	  && rm -f $@ && $(GENCAT) $@ $*.msg
+	  && rm -f $@ && gencat $@ $*.msg
 
 
 all: all-@USE_NLS@
@@ -99,115 +97,91 @@
 $(GETTEXT_PACKAGE).pot: $(POTFILES)
 	$(GENPOT)
 
-install: install-exec install-data
-install-exec:
+install: install-data
 install-data: install-data-@USE_NLS@
 install-data-no: all
 install-data-yes: all
-	if test -n "$(MKINSTALLDIRS)"; then \
-	  $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
-	else \
-	  $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
-	fi
-	@catalogs='$(CATALOGS)'; \
-	for cat in $$catalogs; do \
-	  cat=`basename $$cat`; \
-	  case "$$cat" in \
-	    *.gmo) destdir=$(gnulocaledir);; \
-	    *)     destdir=$(localedir);; \
-	  esac; \
-	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
-	  dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
-	  if test -n "$(MKINSTALLDIRS)"; then \
-	    $(MKINSTALLDIRS) $$dir; \
-	  else \
-	    $(SHELL) $(top_srcdir)/mkinstalldirs $$dir; \
-	  fi; \
-	  if test -r $$cat; then \
-	    $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
-	    echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
-	  else \
-	    $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
-	    echo "installing $(srcdir)/$$cat as" \
-		 "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
-	  fi; \
-	  if test -r $$cat.m; then \
-	    $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
-	    echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \
-	  else \
-	    if test -r $(srcdir)/$$cat.m ; then \
-	      $(INSTALL_DATA) $(srcdir)/$$cat.m \
-		$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
-	      echo "installing $(srcdir)/$$cat as" \
-		   "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \
+	$(mkdir_p) $(DESTDIR)$(itlocaledir)
+	linguas="$(USE_LINGUAS)"; \
+	for lang in $$linguas; do \
+	  dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
+	  $(mkdir_p) $$dir; \
+	  if test -r $$lang.gmo; then \
+	    $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+	    echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
+	  else \
+	    $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
+	    echo "installing $(srcdir)/$$lang.gmo as" \
+		 "$$dir/$(GETTEXT_PACKAGE).mo"; \
+	  fi; \
+	  if test -r $$lang.gmo.m; then \
+	    $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
+	    echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
+	  else \
+	    if test -r $(srcdir)/$$lang.gmo.m ; then \
+	      $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
+		$$dir/$(GETTEXT_PACKAGE).mo.m; \
+	      echo "installing $(srcdir)/$$lang.gmo.m as" \
+		   "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
 	    else \
 	      true; \
 	    fi; \
 	  fi; \
 	done
-	if test "$(PACKAGE)" = "glib"; then \
-	  if test -n "$(MKINSTALLDIRS)"; then \
-	    $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
-	  else \
-	    $(SHELL) $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
-	  fi; \
-	  $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
-			  $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
-	else \
-	  : ; \
-	fi
+
+# Empty stubs to satisfy archaic automake needs
+dvi info tags TAGS ID:
 
 # Define this as empty until I found a useful application.
-installcheck:
+install-exec installcheck:
 
 uninstall:
-	catalogs='$(CATALOGS)'; \
-	for cat in $$catalogs; do \
-	  cat=`basename $$cat`; \
-	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
-	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
-	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
-	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
-	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
+	linguas="$(USE_LINGUAS)"; \
+	for lang in $$linguas; do \
+	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
+	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
 	done
-	if test "$(PACKAGE)" = "glib"; then \
-	  rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
-	fi
-
-check: all
 
-dvi info tags TAGS ID:
+check: all $(GETTEXT_PACKAGE).pot
+	rm -f missing notexist
+	srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
+	if [ -r missing -o -r notexist ]; then \
+	  exit 1; \
+	fi
 
 mostlyclean:
-	rm -f core core.* *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
-	rm -fr *.o
+	rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
 	rm -f .intltool-merge-cache
 
 clean: mostlyclean
 
 distclean: clean
-	rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m
+	rm -f Makefile Makefile.in POTFILES stamp-it
+	rm -f *.mo *.msg *.cat *.cat.m *.gmo
 
 maintainer-clean: distclean
 	@echo "This command is intended for maintainers to use;"
 	@echo "it deletes files that may require special tools to rebuild."
-	rm -f $(GMOFILES)
+	rm -f Makefile.in.in
 
-distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir)
-dist distdir: $(DISTFILES) $(GETTEXT_PACKAGE).pot
+distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir: $(DISTFILES)
 	dists="$(DISTFILES)"; \
+	extra_dists="$(EXTRA_DISTFILES)"; \
+	for file in $$extra_dists; do \
+	  test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
+	done; \
 	for file in $$dists; do \
-	  ln $(srcdir)/$$file $(distdir) 2> /dev/null \
-	    || cp -p $(srcdir)/$$file $(distdir); \
+	  test -f $$file || file="$(srcdir)/$$file"; \
+	  ln $$file $(distdir) 2> /dev/null \
+	    || cp -p $$file $(distdir); \
 	done
 
 update-po: Makefile
 	$(MAKE) $(GETTEXT_PACKAGE).pot
 	tmpdir=`pwd`; \
-	catalogs='$(CATALOGS)'; \
-	for cat in $$catalogs; do \
-	  cat=`basename $$cat`; \
-	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
+	linguas="$(USE_LINGUAS)"; \
+	for lang in $$linguas; do \
 	  echo "$$lang:"; \
 	  result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
 	  if $$result; then \
@@ -223,32 +197,20 @@
 	      fi; \
 	    fi; \
 	  else \
-	    echo "msgmerge for $$cat failed!"; \
+	    echo "msgmerge for $$lang.gmo failed!"; \
 	    rm -f $$tmpdir/$$lang.new.po; \
 	  fi; \
 	done
 
-# POTFILES is created from POTFILES.in by stripping comments, empty lines
-# and Intltool tags (enclosed in square brackets), and appending a full
-# relative path to them
-POTFILES: POTFILES.in
-	( if test 'x$(srcdir)' != 'x.'; then \
-	    posrcprefix='$(top_srcdir)/'; \
-	  else \
-	    posrcprefix="../"; \
-	  fi; \
-	  rm -f $@-t $@ \
-	    && (sed -e '/^#/d' 						\
-		    -e "s/^\[.*\] +//" 					\
-		    -e '/^[ 	]*$$/d' 				\
-		    -e "s@.*@	$$posrcprefix& \\\\@" < $(srcdir)/$@.in	\
-		| sed -e '$$s/\\$$//') > $@-t \
-	    && chmod a-w $@-t \
-	    && mv $@-t $@ )
-
-Makefile: Makefile.in.in ../config.status POTFILES
-	cd .. \
-	  && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
+Makefile POTFILES: stamp-it
+	@if test ! -f $@; then \
+	  rm -f stamp-it; \
+	  $(MAKE) stamp-it; \
+	fi
+
+stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
+	cd $(top_builddir) \
+	  && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
 	       $(SHELL) ./config.status
 
 # Tell versions [3.59,3.63) of GNU make not to export all variables.
diff -Nur marquee-plugins-0.22/po/POTFILES marquee-plugins-0.22-new/po/POTFILES
--- marquee-plugins-0.22/po/POTFILES	2008-05-07 03:25:40.000000000 +0000
+++ marquee-plugins-0.22-new/po/POTFILES	1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-	/home/lucasr/Code/dummy-plugins/src/dummy_applet.c
diff -Nur marquee-plugins-0.22/po/POTFILES.in marquee-plugins-0.22-new/po/POTFILES.in
--- marquee-plugins-0.22/po/POTFILES.in	2008-05-07 03:25:40.000000000 +0000
+++ marquee-plugins-0.22-new/po/POTFILES.in	2008-05-09 08:25:35.000000000 +0000
@@ -1,2 +1,2 @@
-src/dummy-panel-plugin.c
-src/dummy-home-plugin.c
+src/drop-down-menu-plugin.c
+src/clock-plugin.c
diff -Nur marquee-plugins-0.22/po/zh_CN.po marquee-plugins-0.22-new/po/zh_CN.po
--- marquee-plugins-0.22/po/zh_CN.po	1970-01-01 00:00:00.000000000 +0000
+++ marquee-plugins-0.22-new/po/zh_CN.po	2008-05-09 08:53:20.000000000 +0000
@@ -0,0 +1,22 @@
+# Simplified Chinese translation script for marquee plugins.
+# Copyright (C) 2008 Intel Corporation
+# This file is distributed under the same license as the marquee-plugins package.
+# Li, Horace <horace.li@intel.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2008-05-09 14:52 +0800\n"
+"Last-Translator: Li, Horace <horace.li@intel.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../src/drop-down-menu-plugin.c:295
+msgid "All"
+msgstr "全部程序"
+
+#: ../src/clock-plugin.c:113
+msgid "Close"
+msgstr "关闭"
diff -Nur marquee-plugins-0.22/po/zh_CN.po~ marquee-plugins-0.22-new/po/zh_CN.po~
--- marquee-plugins-0.22/po/zh_CN.po~	1970-01-01 00:00:00.000000000 +0000
+++ marquee-plugins-0.22-new/po/zh_CN.po~	2008-05-09 08:25:52.000000000 +0000
@@ -0,0 +1,22 @@
+# Simplified Chinese translation script for marquee plugins.
+# Copyright (C) 2008 Intel Corporation
+# This file is distributed under the same license as the marquee-plugins package.
+# Li, Horace <horace.li@intel.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2008-05-09 14:52 +0800\n"
+"Last-Translator: Li, Horace <horace.li@intel.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../src/drop-down-menu-plugin.c:295
+msgid "All"
+msgstr "全部"
+
+#: ../src/clock-plugin.c:113
+msgid "Close"
+msgstr "关闭"
diff -Nur marquee-plugins-0.22/po/zh_HK.po marquee-plugins-0.22-new/po/zh_HK.po
--- marquee-plugins-0.22/po/zh_HK.po	1970-01-01 00:00:00.000000000 +0000
+++ marquee-plugins-0.22-new/po/zh_HK.po	2008-05-09 08:53:31.000000000 +0000
@@ -0,0 +1,22 @@
+# Traditional Chinese (Hongkong) translation script for marquee plugins.
+# Copyright (C) 2008 Intel Corporation
+# This file is distributed under the same license as the marquee-plugins package.
+# Li, Horace <horace.li@intel.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2008-05-09 14:52 +0800\n"
+"Last-Translator: Li, Horace <horace.li@intel.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../src/drop-down-menu-plugin.c:295
+msgid "All"
+msgstr "全部程序"
+
+#: ../src/clock-plugin.c:113
+msgid "Close"
+msgstr "關閉"
diff -Nur marquee-plugins-0.22/po/zh_HK.po~ marquee-plugins-0.22-new/po/zh_HK.po~
--- marquee-plugins-0.22/po/zh_HK.po~	1970-01-01 00:00:00.000000000 +0000
+++ marquee-plugins-0.22-new/po/zh_HK.po~	2008-05-09 08:32:05.000000000 +0000
@@ -0,0 +1,22 @@
+# Traditional Chinese (Hongkong) translation script for marquee plugins.
+# Copyright (C) 2008 Intel Corporation
+# This file is distributed under the same license as the marquee-plugins package.
+# Li, Horace <horace.li@intel.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2008-05-09 14:52 +0800\n"
+"Last-Translator: Li, Horace <horace.li@intel.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../src/drop-down-menu-plugin.c:295
+msgid "All"
+msgstr "全部"
+
+#: ../src/clock-plugin.c:113
+msgid "Close"
+msgstr "關閉"
diff -Nur marquee-plugins-0.22/po/zh_TW.po marquee-plugins-0.22-new/po/zh_TW.po
--- marquee-plugins-0.22/po/zh_TW.po	1970-01-01 00:00:00.000000000 +0000
+++ marquee-plugins-0.22-new/po/zh_TW.po	2008-05-09 08:54:51.000000000 +0000
@@ -0,0 +1,22 @@
+# Traditional Chinese (Taiwan) translation script for marquee plugins.
+# Copyright (C) 2008 Intel Corporation
+# This file is distributed under the same license as the marquee-plugins package.
+# Li, Horace <horace.li@intel.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2008-05-09 14:52 +0800\n"
+"Last-Translator: Li, Horace <horace.li@intel.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../src/drop-down-menu-plugin.c:295
+msgid "All"
+msgstr "全部程式"
+
+#: ../src/clock-plugin.c:113
+msgid "Close"
+msgstr "關閉"
diff -Nur marquee-plugins-0.22/po/zh_TW.po~ marquee-plugins-0.22-new/po/zh_TW.po~
--- marquee-plugins-0.22/po/zh_TW.po~	1970-01-01 00:00:00.000000000 +0000
+++ marquee-plugins-0.22-new/po/zh_TW.po~	2008-05-09 08:31:32.000000000 +0000
@@ -0,0 +1,22 @@
+# Traditional Chinese (Taiwan) translation script for marquee plugins.
+# Copyright (C) 2008 Intel Corporation
+# This file is distributed under the same license as the marquee-plugins package.
+# Li, Horace <horace.li@intel.com>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"PO-Revision-Date: 2008-05-09 14:52 +0800\n"
+"Last-Translator: Li, Horace <horace.li@intel.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../src/drop-down-menu-plugin.c:295
+msgid "All"
+msgstr "全部"
+
+#: ../src/clock-plugin.c:113
+msgid "Close"
+msgstr "關閉"
diff -Nur marquee-plugins-0.22/src/clock-plugin.c marquee-plugins-0.22-new/src/clock-plugin.c
--- marquee-plugins-0.22/src/clock-plugin.c	2008-05-09 08:05:57.000000000 +0000
+++ marquee-plugins-0.22-new/src/clock-plugin.c	2008-05-09 08:17:33.000000000 +0000
@@ -108,7 +108,7 @@
     priv->cal_dlg = gtk_dialog_new ();
 
     gtk_window_set_modal (GTK_WINDOW (priv->cal_dlg), TRUE);
-    gtk_dialog_add_button (GTK_DIALOG (priv->cal_dlg), "Close", GTK_RESPONSE_CLOSE);
+    gtk_dialog_add_button (GTK_DIALOG (priv->cal_dlg), _("Close"), GTK_RESPONSE_CLOSE);
     g_signal_connect_swapped (GTK_DIALOG (priv->cal_dlg),
                               "response", 
                               G_CALLBACK (clock_plugin_dialog_close),
@@ -189,6 +189,9 @@
   GtkWidget *btn, *time_lb;
   gint scn_width = 800, plugin_width;
 
+  bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+
   priv = CLOCK_PLUGIN_GET_PRIVATE (clock_plugin);
 
   priv->panel_height = plugins_get_marquee_panel_height ();
diff -Nur marquee-plugins-0.22/src/common-config.h marquee-plugins-0.22-new/src/common-config.h
--- marquee-plugins-0.22/src/common-config.h	2008-05-07 03:25:40.000000000 +0000
+++ marquee-plugins-0.22-new/src/common-config.h	2008-05-09 08:19:09.000000000 +0000
@@ -26,6 +26,9 @@
 #include <libhildondesktop/libhildondesktop.h>
 #include <libhildondesktop/tasknavigator-item.h>
 #include <string.h>
+#include <libintl.h>
+
+#include "config.h"
 
 #define DEFAULT_MARQUEE_PANEL_HEIGHT  52
 #define MARQUEE_DROPDOWN "marquee-drowdown"
@@ -33,6 +36,8 @@
 #define MARQUEE_HEIGHT "X-Size-Height"
 #define HILDON_DESKTOP_CONFIG "/etc/hildon-desktop/desktop.conf"
 
+#define _(String) dgettext (GETTEXT_PACKAGE, String)
+
 void plugins_popup_preference (const gchar *pref_id);
 gint plugins_get_marquee_panel_height (void);
 
diff -Nur marquee-plugins-0.22/src/drop-down-menu-plugin.c marquee-plugins-0.22-new/src/drop-down-menu-plugin.c
--- marquee-plugins-0.22/src/drop-down-menu-plugin.c	2008-05-09 08:05:46.000000000 +0000
+++ marquee-plugins-0.22-new/src/drop-down-menu-plugin.c	2008-05-09 08:16:30.000000000 +0000
@@ -34,6 +34,9 @@
 
 #define THEME_DIR "/usr/share/themes/mobilebasic"
 
+#define CATEGORIES_DIR "/usr/share/desktop-directories/"
+#define DIR_SUFFIX ".directory"
+
 #define DDM_KEYS_GCONF_PATH  "/apps/marquee-plugins"
 #define DDM_GCONF_GROUPS_KEY "/apps/marquee-plugins/categories"
 #define DDM_GCONF_CAT_KEY    "/apps/marquee-plugins/active"
@@ -55,6 +58,45 @@
 static gboolean home_menu_hide_cb (GtkWidget *widget, gpointer user_data);
 static gboolean home_menu_show_cb (GtkWidget *widget, gpointer user_data);
 
+static gchar *get_localized_name (const gchar *std_category)
+{
+  gchar *lang, *namefield, *name = NULL, *current_path;
+  const gchar *mylang = g_getenv("LANG");
+  GKeyFile *key_file = NULL;
+
+  if (!mylang)
+    return _(std_category);
+
+  current_path = g_build_filename (CATEGORIES_DIR, 
+                                   g_strconcat (std_category, DIR_SUFFIX, NULL), NULL);
+  key_file = g_key_file_new ();
+
+  if (!g_key_file_load_from_file (key_file, current_path, G_KEY_FILE_NONE, NULL)) 
+  {
+    g_warning ("Error reading '%s'\n", current_path);
+    g_free (current_path);
+    
+    return _(std_category);
+  }
+
+  lang = g_strdup (mylang);
+
+  /* if the value has .UTF-8 appended, we */
+  /* have to remove that as it's unneeded */
+  g_strdelimit(lang, ".", '\0');
+
+  /* this is the nametag for our language */
+  namefield = g_strdup_printf("%s[%s]", G_KEY_FILE_DESKTOP_KEY_NAME, lang);
+
+  /* try to get out Name value */
+  name = g_key_file_get_string(key_file, G_KEY_FILE_DESKTOP_GROUP, namefield, NULL);
+
+  g_free (lang);
+  g_free (namefield);
+
+  return name;
+}
+
 static void updateDownArrow (DropDownMenuPlugin *ddm_plugin, gboolean hasMenuItems) 
 {
   // find out if current app has any menu items
@@ -109,7 +151,7 @@
        active = gconf_client_get_string(client, DDM_GCONF_CAT_KEY, NULL);
        if (active)
 	       gtk_label_set_text ((GtkLabel*)ddm_plugin->priv->label, 
-				   gettext(active));
+				   get_localized_name (active));
    } else {
       gtk_label_set_text ((GtkLabel*)ddm_plugin->priv->label, gettext(wnd_title));
    }
@@ -198,7 +240,7 @@
    if (!wnd_title)
 	   wnd_title = "";
 
-   gtk_label_set_text ((GtkLabel*)ddm_plugin->priv->label, gettext(wnd_title));
+   gtk_label_set_text ((GtkLabel*)ddm_plugin->priv->label, get_localized_name (wnd_title));
    gtk_label_set_ellipsize ((GtkLabel*)ddm_plugin->priv->label, PANGO_ELLIPSIZE_END);
 }
 
@@ -235,7 +277,7 @@
    for (list = category_names; list; list = g_slist_next(list)) {
 	   gchar *c = (gchar *)list->data;
 
-	   menu_item = gtk_menu_item_new_with_label (gettext(c));
+	   menu_item = gtk_menu_item_new_with_label (get_localized_name (c));
 	   g_signal_connect_swapped (menu_item, "activate",
 				     G_CALLBACK(update_app_category), c);
 	   gtk_menu_shell_append (GTK_MENU_SHELL (home_menu), menu_item);
@@ -243,7 +285,7 @@
    }
 
    /* Add a special entry for "All" applications */
-   menu_item = gtk_menu_item_new_with_label (gettext("All"));
+   menu_item = gtk_menu_item_new_with_label (_("All"));
    g_signal_connect_swapped (menu_item, "activate",
 			     G_CALLBACK(update_app_category), "All");
    gtk_menu_shell_append (GTK_MENU_SHELL (home_menu), menu_item);
@@ -332,6 +374,9 @@
   if (!client)
     return;
 
+  bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+
   panel_height = plugins_get_marquee_panel_height ();
 
   ddm_plugin->priv = DROP_DOWN_MENU_PLUGIN_GET_PRIVATE (ddm_plugin);
@@ -484,6 +529,6 @@
     if (g_str_equal(gkey, DDM_GCONF_CAT_KEY)) {
 	    GtkLabel *label = (GtkLabel *)(ddm_plugin->priv->label);
 	    if (label)
-		    gtk_label_set_text (label, gconf_value_get_string(gvalue));
+		    gtk_label_set_text (label, get_localized_name (gconf_value_get_string(gvalue)));
     }
 }
