gtk: add translation support (v5)
This includes a de_DE translation from Kevin Wolf and an it translation from Paolo Bonzini. Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Kevin Wolf <kwolf@redhat.com> Cc: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-id: 1361367806-4599-8-git-send-email-aliguori@us.ibm.com
This commit is contained in:
		
							parent
							
								
									c61584833c
								
							
						
					
					
						commit
						834574ea89
					
				
							
								
								
									
										3
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										3
									
								
								Makefile
								
								
								
								
							| 
						 | 
				
			
			@ -313,6 +313,9 @@ ifneq ($(BLOBS),)
 | 
			
		|||
	set -e; for x in $(BLOBS); do \
 | 
			
		||||
		$(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(qemu_datadir)"; \
 | 
			
		||||
	done
 | 
			
		||||
endif
 | 
			
		||||
ifeq ($(CONFIG_GTK),y)
 | 
			
		||||
	$(MAKE) -C po $@
 | 
			
		||||
endif
 | 
			
		||||
	$(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/keymaps"
 | 
			
		||||
	set -e; for x in $(KEYMAPS); do \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3243,6 +3243,7 @@ fi
 | 
			
		|||
 | 
			
		||||
qemu_confdir=$sysconfdir$confsuffix
 | 
			
		||||
qemu_datadir=$datadir$confsuffix
 | 
			
		||||
qemu_localedir="$datadir/locale"
 | 
			
		||||
 | 
			
		||||
tools=""
 | 
			
		||||
if test "$want_tools" = "yes" ; then
 | 
			
		||||
| 
						 | 
				
			
			@ -3416,6 +3417,7 @@ echo "qemu_localstatedir=$local_statedir" >> $config_host_mak
 | 
			
		|||
echo "qemu_helperdir=$libexecdir" >> $config_host_mak
 | 
			
		||||
echo "extra_cflags=$EXTRA_CFLAGS" >> $config_host_mak
 | 
			
		||||
echo "extra_ldflags=$EXTRA_LDFLAGS" >> $config_host_mak
 | 
			
		||||
echo "qemu_localedir=$qemu_localedir" >> $config_host_mak
 | 
			
		||||
 | 
			
		||||
echo "ARCH=$ARCH" >> $config_host_mak
 | 
			
		||||
if test "$debug_tcg" = "yes" ; then
 | 
			
		||||
| 
						 | 
				
			
			@ -4336,7 +4338,7 @@ DIRS="$DIRS roms/seabios roms/vgabios"
 | 
			
		|||
DIRS="$DIRS qapi-generated"
 | 
			
		||||
FILES="Makefile tests/tcg/Makefile qdict-test-data.txt"
 | 
			
		||||
FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit"
 | 
			
		||||
FILES="$FILES tests/tcg/lm32/Makefile"
 | 
			
		||||
FILES="$FILES tests/tcg/lm32/Makefile po/Makefile"
 | 
			
		||||
FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps"
 | 
			
		||||
FILES="$FILES pc-bios/spapr-rtas/Makefile"
 | 
			
		||||
FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,46 @@
 | 
			
		|||
# This makefile is very special as it's meant to build as part of the build
 | 
			
		||||
# process and also within the source tree to update the translation files.
 | 
			
		||||
 | 
			
		||||
VERSION=$(shell cat ../VERSION)
 | 
			
		||||
TRANSLATIONS=de_DE it
 | 
			
		||||
SRCS=$(addsuffix .po, $(TRANSLATIONS))
 | 
			
		||||
OBJS=$(addsuffix .mo, $(TRANSLATIONS))
 | 
			
		||||
 | 
			
		||||
SRC_PATH=..
 | 
			
		||||
 | 
			
		||||
-include ../config-host.mak
 | 
			
		||||
 | 
			
		||||
vpath %.po $(SRC_PATH)/po
 | 
			
		||||
 | 
			
		||||
all:
 | 
			
		||||
	@echo Use 'make update' to update translation files
 | 
			
		||||
	@echo or us 'make build' or 'make install' to build and install
 | 
			
		||||
	@echo the translation files
 | 
			
		||||
 | 
			
		||||
update: $(SRCS)
 | 
			
		||||
 | 
			
		||||
build: $(OBJS)
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	$(RM) $(OBJS)
 | 
			
		||||
 | 
			
		||||
install: $(OBJS)
 | 
			
		||||
	for obj in $(OBJS); do \
 | 
			
		||||
	    base=`basename $$obj .mo`; \
 | 
			
		||||
	    $(INSTALL) -d $(DESTDIR)$(prefix)/share/locale/$$base/LC_MESSAGES; \
 | 
			
		||||
	    $(INSTALL) -m644 $$obj $(DESTDIR)$(prefix)/share/locale/$$base/LC_MESSAGES/qemu.mo; \
 | 
			
		||||
	done
 | 
			
		||||
 | 
			
		||||
%.mo:
 | 
			
		||||
	@msgfmt -o $@ $(SRC_PATH)/po/`basename $@ .mo`.po
 | 
			
		||||
 | 
			
		||||
messages.po: $(SRC_PATH)/ui/gtk.c
 | 
			
		||||
	@xgettext -o $@ --foreign-user --package-name=QEMU --package-version=1.0.50 --msgid-bugs-address=qemu-devel@nongnu.org -k_ -C $<
 | 
			
		||||
 | 
			
		||||
de_DE.po: messages.po $(SRC_PATH)/ui/gtk.c
 | 
			
		||||
	@msgmerge $@ $< > $@.bak && mv $@.bak $@
 | 
			
		||||
 | 
			
		||||
it.po: messages.po $(SRC_PATH)/ui/gtk.c
 | 
			
		||||
	@msgmerge $@ $< > $@.bak && mv $@.bak $@
 | 
			
		||||
 | 
			
		||||
.PHONY: $(SRCS) clean all
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
# German translation for QEMU.
 | 
			
		||||
# This file is put in the public domain.
 | 
			
		||||
# Kevin Wolf <kwolf@redhat.com>, 2012.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: QEMU 1.4.50\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n"
 | 
			
		||||
"POT-Creation-Date: 2013-02-08 09:21-0600\n"
 | 
			
		||||
"PO-Revision-Date: 2012-02-28 16:00+0100\n"
 | 
			
		||||
"Last-Translator: Kevin Wolf <kwolf@redhat.com>\n"
 | 
			
		||||
"Language-Team: Deutsch <de@li.org>\n"
 | 
			
		||||
"Language: \n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:990
 | 
			
		||||
msgid "_File"
 | 
			
		||||
msgstr "_Datei"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1000
 | 
			
		||||
msgid "_View"
 | 
			
		||||
msgstr "_Ansicht"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1002
 | 
			
		||||
msgid "_Full Screen"
 | 
			
		||||
msgstr "Voll_bild"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1029
 | 
			
		||||
msgid "Zoom To _Fit"
 | 
			
		||||
msgstr "Auf _Fenstergröße skalieren"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1035
 | 
			
		||||
msgid "Grab On _Hover"
 | 
			
		||||
msgstr "Tastatur _automatisch einfangen"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1038
 | 
			
		||||
msgid "_Grab Input"
 | 
			
		||||
msgstr "_Eingabegeräte einfangen"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1064
 | 
			
		||||
msgid "Show _Tabs"
 | 
			
		||||
msgstr "_Tableiste anzeigen"
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
# Italian translation for QEMU.
 | 
			
		||||
# This file is put in the public domain.
 | 
			
		||||
# Paolo Bonzini <pbonzini@redhat.com>, 2012.
 | 
			
		||||
#
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: QEMU 1.4.50\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n"
 | 
			
		||||
"POT-Creation-Date: 2013-02-08 09:21-0600\n"
 | 
			
		||||
"PO-Revision-Date: 2012-02-27 08:23+0100\n"
 | 
			
		||||
"Last-Translator: Paolo Bonzini <pbonzini@redhat.com>\n"
 | 
			
		||||
"Language-Team: Italian <it@li.org>\n"
 | 
			
		||||
"Language: \n"
 | 
			
		||||
"MIME-Version: 1.0\n"
 | 
			
		||||
"Content-Type: text/plain; charset=UTF-8\n"
 | 
			
		||||
"Content-Transfer-Encoding: 8bit\n"
 | 
			
		||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:990
 | 
			
		||||
msgid "_File"
 | 
			
		||||
msgstr "_File"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1000
 | 
			
		||||
msgid "_View"
 | 
			
		||||
msgstr "_Visualizza"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1002
 | 
			
		||||
msgid "_Full Screen"
 | 
			
		||||
msgstr "_Schermo intero"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1029
 | 
			
		||||
msgid "Zoom To _Fit"
 | 
			
		||||
msgstr "Adatta alla _finestra"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1035
 | 
			
		||||
msgid "Grab On _Hover"
 | 
			
		||||
msgstr "Cattura _automatica input"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1038
 | 
			
		||||
msgid "_Grab Input"
 | 
			
		||||
msgstr "_Cattura input"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1064
 | 
			
		||||
msgid "Show _Tabs"
 | 
			
		||||
msgstr "Mostra _tab"
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
# SOME DESCRIPTIVE TITLE.
 | 
			
		||||
# This file is put in the public domain.
 | 
			
		||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 | 
			
		||||
#
 | 
			
		||||
#, fuzzy
 | 
			
		||||
msgid ""
 | 
			
		||||
msgstr ""
 | 
			
		||||
"Project-Id-Version: QEMU 1.4.50\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n"
 | 
			
		||||
"POT-Creation-Date: 2013-02-08 09:21-0600\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"
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:990
 | 
			
		||||
msgid "_File"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1000
 | 
			
		||||
msgid "_View"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1002
 | 
			
		||||
msgid "_Full Screen"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1029
 | 
			
		||||
msgid "Zoom To _Fit"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1035
 | 
			
		||||
msgid "Grab On _Hover"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1038
 | 
			
		||||
msgid "_Grab Input"
 | 
			
		||||
msgstr ""
 | 
			
		||||
 | 
			
		||||
#: ../ui/gtk.c:1064
 | 
			
		||||
msgid "Show _Tabs"
 | 
			
		||||
msgstr ""
 | 
			
		||||
							
								
								
									
										22
									
								
								ui/gtk.c
								
								
								
								
							
							
						
						
									
										22
									
								
								ui/gtk.c
								
								
								
								
							| 
						 | 
				
			
			@ -31,8 +31,12 @@
 | 
			
		|||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define GETTEXT_PACKAGE "qemu"
 | 
			
		||||
#define LOCALEDIR "po"
 | 
			
		||||
 | 
			
		||||
#include <gtk/gtk.h>
 | 
			
		||||
#include <gdk/gdkkeysyms.h>
 | 
			
		||||
#include <glib/gi18n.h>
 | 
			
		||||
#include <vte/vte.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -950,7 +954,7 @@ static void gd_create_menus(GtkDisplayState *s)
 | 
			
		|||
    accel_group = gtk_accel_group_new();
 | 
			
		||||
    s->file_menu = gtk_menu_new();
 | 
			
		||||
    gtk_menu_set_accel_group(GTK_MENU(s->file_menu), accel_group);
 | 
			
		||||
    s->file_menu_item = gtk_menu_item_new_with_mnemonic("_File");
 | 
			
		||||
    s->file_menu_item = gtk_menu_item_new_with_mnemonic(_("_File"));
 | 
			
		||||
 | 
			
		||||
    s->quit_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL);
 | 
			
		||||
    gtk_stock_lookup(GTK_STOCK_QUIT, &item);
 | 
			
		||||
| 
						 | 
				
			
			@ -960,9 +964,9 @@ static void gd_create_menus(GtkDisplayState *s)
 | 
			
		|||
 | 
			
		||||
    s->view_menu = gtk_menu_new();
 | 
			
		||||
    gtk_menu_set_accel_group(GTK_MENU(s->view_menu), accel_group);
 | 
			
		||||
    s->view_menu_item = gtk_menu_item_new_with_mnemonic("_View");
 | 
			
		||||
    s->view_menu_item = gtk_menu_item_new_with_mnemonic(_("_View"));
 | 
			
		||||
 | 
			
		||||
    s->full_screen_item = gtk_check_menu_item_new_with_mnemonic("_Full Screen");
 | 
			
		||||
    s->full_screen_item = gtk_check_menu_item_new_with_mnemonic(_("_Full Screen"));
 | 
			
		||||
    gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->full_screen_item),
 | 
			
		||||
                                 "<QEMU>/View/Full Screen");
 | 
			
		||||
    gtk_accel_map_add_entry("<QEMU>/View/Full Screen", GDK_KEY_f, GDK_CONTROL_MASK | GDK_MOD1_MASK);
 | 
			
		||||
| 
						 | 
				
			
			@ -989,16 +993,16 @@ static void gd_create_menus(GtkDisplayState *s)
 | 
			
		|||
    gtk_accel_map_add_entry("<QEMU>/View/Zoom Fixed", GDK_KEY_0, GDK_CONTROL_MASK | GDK_MOD1_MASK);
 | 
			
		||||
    gtk_menu_append(GTK_MENU(s->view_menu), s->zoom_fixed_item);
 | 
			
		||||
 | 
			
		||||
    s->zoom_fit_item = gtk_check_menu_item_new_with_mnemonic("Zoom To _Fit");
 | 
			
		||||
    s->zoom_fit_item = gtk_check_menu_item_new_with_mnemonic(_("Zoom To _Fit"));
 | 
			
		||||
    gtk_menu_append(GTK_MENU(s->view_menu), s->zoom_fit_item);
 | 
			
		||||
 | 
			
		||||
    separator = gtk_separator_menu_item_new();
 | 
			
		||||
    gtk_menu_append(GTK_MENU(s->view_menu), separator);
 | 
			
		||||
 | 
			
		||||
    s->grab_on_hover_item = gtk_check_menu_item_new_with_mnemonic("Grab On _Hover");
 | 
			
		||||
    s->grab_on_hover_item = gtk_check_menu_item_new_with_mnemonic(_("Grab On _Hover"));
 | 
			
		||||
    gtk_menu_append(GTK_MENU(s->view_menu), s->grab_on_hover_item);
 | 
			
		||||
 | 
			
		||||
    s->grab_item = gtk_check_menu_item_new_with_mnemonic("_Grab Input");
 | 
			
		||||
    s->grab_item = gtk_check_menu_item_new_with_mnemonic(_("_Grab Input"));
 | 
			
		||||
    gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->grab_item),
 | 
			
		||||
                                 "<QEMU>/View/Grab Input");
 | 
			
		||||
    gtk_accel_map_add_entry("<QEMU>/View/Grab Input", GDK_KEY_g, GDK_CONTROL_MASK | GDK_MOD1_MASK);
 | 
			
		||||
| 
						 | 
				
			
			@ -1024,7 +1028,7 @@ static void gd_create_menus(GtkDisplayState *s)
 | 
			
		|||
    separator = gtk_separator_menu_item_new();
 | 
			
		||||
    gtk_menu_append(GTK_MENU(s->view_menu), separator);
 | 
			
		||||
 | 
			
		||||
    s->show_tabs_item = gtk_check_menu_item_new_with_mnemonic("Show _Tabs");
 | 
			
		||||
    s->show_tabs_item = gtk_check_menu_item_new_with_mnemonic(_("Show _Tabs"));
 | 
			
		||||
    gtk_menu_append(GTK_MENU(s->view_menu), s->show_tabs_item);
 | 
			
		||||
 | 
			
		||||
    g_object_set_data(G_OBJECT(s->window), "accel_group", accel_group);
 | 
			
		||||
| 
						 | 
				
			
			@ -1060,6 +1064,10 @@ void gtk_display_init(DisplayState *ds)
 | 
			
		|||
    s->scale_y = 1.0;
 | 
			
		||||
    s->free_scale = FALSE;
 | 
			
		||||
 | 
			
		||||
    setlocale(LC_ALL, "");
 | 
			
		||||
    bindtextdomain("qemu", CONFIG_QEMU_LOCALEDIR);
 | 
			
		||||
    textdomain("qemu");
 | 
			
		||||
 | 
			
		||||
    s->null_cursor = gdk_cursor_new(GDK_BLANK_CURSOR);
 | 
			
		||||
 | 
			
		||||
    s->mouse_mode_notifier.notify = gd_mouse_mode_change;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue