diff -Nurd -X.diff_ignore freeciv/bootstrap/langnames.txt freeciv/bootstrap/langnames.txt
--- freeciv/bootstrap/langnames.txt	1970-01-01 02:00:00.000000000 +0200
+++ freeciv/bootstrap/langnames.txt	2012-07-25 04:41:56.000000000 +0300
@@ -0,0 +1,34 @@
+ar Arabic
+bg Bulgarian
+ca Catalan
+cs Czesh
+da Danish
+de German
+el Greek
+en_GB British English
+eo Esperanto
+es Spanish
+et Estonian
+fa Persian
+fi Finnish
+fr French
+ga Irish
+gd Scottish Gaelic
+he Hebrew
+hu Hungarian
+it Italian
+ja Japanese
+ko Korean
+lt Lithuanian
+nl Dutch
+no Norwegian
+pl Polish
+pt_BR Brazilian Portuguese
+pt Portuguese
+ro Romanian
+ru Russian
+sr Serbian
+sv Swedish
+tr Turkish
+uk Ukrainian
+zh_CN Chinese
Binary files src.orig/po/messages.mo and src.patched/po/messages.mo differ
diff -Nurd -X.diff_ignore freeciv/win32/Makefile.am freeciv/win32/Makefile.am
--- freeciv/win32/Makefile.am	2012-07-10 00:38:50.000000000 +0300
+++ freeciv/win32/Makefile.am	2012-07-25 04:35:36.000000000 +0300
@@ -7,6 +7,7 @@
 		clienticon.rc 	\
 		mpicon.rc	\
 		servericon.rc	\
+		langstat.txt	\
 		installer/create-freeciv-gtk2-nsi.sh	\
 		installer/create-freeciv-sdl-nsi.sh	\
 		installer/freeciv-gtk2.cmd		\
@@ -16,6 +17,10 @@
 		installer/Freeciv.url			\
 		installer/Makefile
 
+langstat.txt:
+	rm -f langstat.txt
+	cat $(top_srcdir)/bootstrap/langnames.txt | while read CODE NLANG ; do declare -i TVAR1; declare -i TVAR2; declare -i TRANS; declare -i FUZZY; declare -i UNTRANS; if test -f $(top_srcdir)/po/$$CODE.po ; then FSTR="$$(msgfmt --stat $(top_srcdir)/po/$$CODE.po 2>&1)"; TRANS=$$(echo $$FSTR | sed 's/ translated.*//'); FUZZY=$$(echo $$FSTR | sed -e 's/.* translated messages, //' -e 's/.* translated messages.//' -e 's/ fuzzy.*//'); UNTRANS=$$(echo $$FSTR | sed -e 's/.* fuzzy translations, //' -e 's/ translated messages.//' -e 's/ untranslated.*//'); TVAR2=$$TRANS+$$FUZZY+$$UNTRANS; TVAR1=$$TRANS*100/$$TVAR2; echo "$$CODE $$TVAR1 $$NLANG" >> langstat.txt ; fi ; done
+
 if MINGW32
 nodist_noinst_DATA = 		\
 		clienticon.o 	\
