Revision 834574ea
b/Makefile | ||
---|---|---|
314 | 314 |
$(INSTALL_DATA) $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(qemu_datadir)"; \ |
315 | 315 |
done |
316 | 316 |
endif |
317 |
ifeq ($(CONFIG_GTK),y) |
|
318 |
$(MAKE) -C po $@ |
|
319 |
endif |
|
317 | 320 |
$(INSTALL_DIR) "$(DESTDIR)$(qemu_datadir)/keymaps" |
318 | 321 |
set -e; for x in $(KEYMAPS); do \ |
319 | 322 |
$(INSTALL_DATA) $(SRC_PATH)/pc-bios/keymaps/$$x "$(DESTDIR)$(qemu_datadir)/keymaps"; \ |
b/configure | ||
---|---|---|
3243 | 3243 |
|
3244 | 3244 |
qemu_confdir=$sysconfdir$confsuffix |
3245 | 3245 |
qemu_datadir=$datadir$confsuffix |
3246 |
qemu_localedir="$datadir/locale" |
|
3246 | 3247 |
|
3247 | 3248 |
tools="" |
3248 | 3249 |
if test "$want_tools" = "yes" ; then |
... | ... | |
3416 | 3417 |
echo "qemu_helperdir=$libexecdir" >> $config_host_mak |
3417 | 3418 |
echo "extra_cflags=$EXTRA_CFLAGS" >> $config_host_mak |
3418 | 3419 |
echo "extra_ldflags=$EXTRA_LDFLAGS" >> $config_host_mak |
3420 |
echo "qemu_localedir=$qemu_localedir" >> $config_host_mak |
|
3419 | 3421 |
|
3420 | 3422 |
echo "ARCH=$ARCH" >> $config_host_mak |
3421 | 3423 |
if test "$debug_tcg" = "yes" ; then |
... | ... | |
4336 | 4338 |
DIRS="$DIRS qapi-generated" |
4337 | 4339 |
FILES="Makefile tests/tcg/Makefile qdict-test-data.txt" |
4338 | 4340 |
FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit" |
4339 |
FILES="$FILES tests/tcg/lm32/Makefile" |
|
4341 |
FILES="$FILES tests/tcg/lm32/Makefile po/Makefile"
|
|
4340 | 4342 |
FILES="$FILES pc-bios/optionrom/Makefile pc-bios/keymaps" |
4341 | 4343 |
FILES="$FILES pc-bios/spapr-rtas/Makefile" |
4342 | 4344 |
FILES="$FILES roms/seabios/Makefile roms/vgabios/Makefile" |
b/po/Makefile | ||
---|---|---|
1 |
# This makefile is very special as it's meant to build as part of the build |
|
2 |
# process and also within the source tree to update the translation files. |
|
3 |
|
|
4 |
VERSION=$(shell cat ../VERSION) |
|
5 |
TRANSLATIONS=de_DE it |
|
6 |
SRCS=$(addsuffix .po, $(TRANSLATIONS)) |
|
7 |
OBJS=$(addsuffix .mo, $(TRANSLATIONS)) |
|
8 |
|
|
9 |
SRC_PATH=.. |
|
10 |
|
|
11 |
-include ../config-host.mak |
|
12 |
|
|
13 |
vpath %.po $(SRC_PATH)/po |
|
14 |
|
|
15 |
all: |
|
16 |
@echo Use 'make update' to update translation files |
|
17 |
@echo or us 'make build' or 'make install' to build and install |
|
18 |
@echo the translation files |
|
19 |
|
|
20 |
update: $(SRCS) |
|
21 |
|
|
22 |
build: $(OBJS) |
|
23 |
|
|
24 |
clean: |
|
25 |
$(RM) $(OBJS) |
|
26 |
|
|
27 |
install: $(OBJS) |
|
28 |
for obj in $(OBJS); do \ |
|
29 |
base=`basename $$obj .mo`; \ |
|
30 |
$(INSTALL) -d $(DESTDIR)$(prefix)/share/locale/$$base/LC_MESSAGES; \ |
|
31 |
$(INSTALL) -m644 $$obj $(DESTDIR)$(prefix)/share/locale/$$base/LC_MESSAGES/qemu.mo; \ |
|
32 |
done |
|
33 |
|
|
34 |
%.mo: |
|
35 |
@msgfmt -o $@ $(SRC_PATH)/po/`basename $@ .mo`.po |
|
36 |
|
|
37 |
messages.po: $(SRC_PATH)/ui/gtk.c |
|
38 |
@xgettext -o $@ --foreign-user --package-name=QEMU --package-version=1.0.50 --msgid-bugs-address=qemu-devel@nongnu.org -k_ -C $< |
|
39 |
|
|
40 |
de_DE.po: messages.po $(SRC_PATH)/ui/gtk.c |
|
41 |
@msgmerge $@ $< > $@.bak && mv $@.bak $@ |
|
42 |
|
|
43 |
it.po: messages.po $(SRC_PATH)/ui/gtk.c |
|
44 |
@msgmerge $@ $< > $@.bak && mv $@.bak $@ |
|
45 |
|
|
46 |
.PHONY: $(SRCS) clean all |
b/po/de_DE.po | ||
---|---|---|
1 |
# German translation for QEMU. |
|
2 |
# This file is put in the public domain. |
|
3 |
# Kevin Wolf <kwolf@redhat.com>, 2012. |
|
4 |
# |
|
5 |
msgid "" |
|
6 |
msgstr "" |
|
7 |
"Project-Id-Version: QEMU 1.4.50\n" |
|
8 |
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n" |
|
9 |
"POT-Creation-Date: 2013-02-08 09:21-0600\n" |
|
10 |
"PO-Revision-Date: 2012-02-28 16:00+0100\n" |
|
11 |
"Last-Translator: Kevin Wolf <kwolf@redhat.com>\n" |
|
12 |
"Language-Team: Deutsch <de@li.org>\n" |
|
13 |
"Language: \n" |
|
14 |
"MIME-Version: 1.0\n" |
|
15 |
"Content-Type: text/plain; charset=UTF-8\n" |
|
16 |
"Content-Transfer-Encoding: 8bit\n" |
|
17 |
"Plural-Forms: nplurals=2; plural=(n!=1);\n" |
|
18 |
|
|
19 |
#: ../ui/gtk.c:990 |
|
20 |
msgid "_File" |
|
21 |
msgstr "_Datei" |
|
22 |
|
|
23 |
#: ../ui/gtk.c:1000 |
|
24 |
msgid "_View" |
|
25 |
msgstr "_Ansicht" |
|
26 |
|
|
27 |
#: ../ui/gtk.c:1002 |
|
28 |
msgid "_Full Screen" |
|
29 |
msgstr "Voll_bild" |
|
30 |
|
|
31 |
#: ../ui/gtk.c:1029 |
|
32 |
msgid "Zoom To _Fit" |
|
33 |
msgstr "Auf _Fenstergröße skalieren" |
|
34 |
|
|
35 |
#: ../ui/gtk.c:1035 |
|
36 |
msgid "Grab On _Hover" |
|
37 |
msgstr "Tastatur _automatisch einfangen" |
|
38 |
|
|
39 |
#: ../ui/gtk.c:1038 |
|
40 |
msgid "_Grab Input" |
|
41 |
msgstr "_Eingabegeräte einfangen" |
|
42 |
|
|
43 |
#: ../ui/gtk.c:1064 |
|
44 |
msgid "Show _Tabs" |
|
45 |
msgstr "_Tableiste anzeigen" |
b/po/it.po | ||
---|---|---|
1 |
# Italian translation for QEMU. |
|
2 |
# This file is put in the public domain. |
|
3 |
# Paolo Bonzini <pbonzini@redhat.com>, 2012. |
|
4 |
# |
|
5 |
msgid "" |
|
6 |
msgstr "" |
|
7 |
"Project-Id-Version: QEMU 1.4.50\n" |
|
8 |
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n" |
|
9 |
"POT-Creation-Date: 2013-02-08 09:21-0600\n" |
|
10 |
"PO-Revision-Date: 2012-02-27 08:23+0100\n" |
|
11 |
"Last-Translator: Paolo Bonzini <pbonzini@redhat.com>\n" |
|
12 |
"Language-Team: Italian <it@li.org>\n" |
|
13 |
"Language: \n" |
|
14 |
"MIME-Version: 1.0\n" |
|
15 |
"Content-Type: text/plain; charset=UTF-8\n" |
|
16 |
"Content-Transfer-Encoding: 8bit\n" |
|
17 |
"Plural-Forms: nplurals=2; plural=n != 1;\n" |
|
18 |
|
|
19 |
#: ../ui/gtk.c:990 |
|
20 |
msgid "_File" |
|
21 |
msgstr "_File" |
|
22 |
|
|
23 |
#: ../ui/gtk.c:1000 |
|
24 |
msgid "_View" |
|
25 |
msgstr "_Visualizza" |
|
26 |
|
|
27 |
#: ../ui/gtk.c:1002 |
|
28 |
msgid "_Full Screen" |
|
29 |
msgstr "_Schermo intero" |
|
30 |
|
|
31 |
#: ../ui/gtk.c:1029 |
|
32 |
msgid "Zoom To _Fit" |
|
33 |
msgstr "Adatta alla _finestra" |
|
34 |
|
|
35 |
#: ../ui/gtk.c:1035 |
|
36 |
msgid "Grab On _Hover" |
|
37 |
msgstr "Cattura _automatica input" |
|
38 |
|
|
39 |
#: ../ui/gtk.c:1038 |
|
40 |
msgid "_Grab Input" |
|
41 |
msgstr "_Cattura input" |
|
42 |
|
|
43 |
#: ../ui/gtk.c:1064 |
|
44 |
msgid "Show _Tabs" |
|
45 |
msgstr "Mostra _tab" |
b/po/messages.po | ||
---|---|---|
1 |
# SOME DESCRIPTIVE TITLE. |
|
2 |
# This file is put in the public domain. |
|
3 |
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
|
4 |
# |
|
5 |
#, fuzzy |
|
6 |
msgid "" |
|
7 |
msgstr "" |
|
8 |
"Project-Id-Version: QEMU 1.4.50\n" |
|
9 |
"Report-Msgid-Bugs-To: qemu-devel@nongnu.org\n" |
|
10 |
"POT-Creation-Date: 2013-02-08 09:21-0600\n" |
|
11 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n" |
|
14 |
"Language: \n" |
|
15 |
"MIME-Version: 1.0\n" |
|
16 |
"Content-Type: text/plain; charset=CHARSET\n" |
|
17 |
"Content-Transfer-Encoding: 8bit\n" |
|
18 |
|
|
19 |
#: ../ui/gtk.c:990 |
|
20 |
msgid "_File" |
|
21 |
msgstr "" |
|
22 |
|
|
23 |
#: ../ui/gtk.c:1000 |
|
24 |
msgid "_View" |
|
25 |
msgstr "" |
|
26 |
|
|
27 |
#: ../ui/gtk.c:1002 |
|
28 |
msgid "_Full Screen" |
|
29 |
msgstr "" |
|
30 |
|
|
31 |
#: ../ui/gtk.c:1029 |
|
32 |
msgid "Zoom To _Fit" |
|
33 |
msgstr "" |
|
34 |
|
|
35 |
#: ../ui/gtk.c:1035 |
|
36 |
msgid "Grab On _Hover" |
|
37 |
msgstr "" |
|
38 |
|
|
39 |
#: ../ui/gtk.c:1038 |
|
40 |
msgid "_Grab Input" |
|
41 |
msgstr "" |
|
42 |
|
|
43 |
#: ../ui/gtk.c:1064 |
|
44 |
msgid "Show _Tabs" |
|
45 |
msgstr "" |
b/ui/gtk.c | ||
---|---|---|
31 | 31 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
32 | 32 |
*/ |
33 | 33 |
|
34 |
#define GETTEXT_PACKAGE "qemu" |
|
35 |
#define LOCALEDIR "po" |
|
36 |
|
|
34 | 37 |
#include <gtk/gtk.h> |
35 | 38 |
#include <gdk/gdkkeysyms.h> |
39 |
#include <glib/gi18n.h> |
|
36 | 40 |
#include <vte/vte.h> |
37 | 41 |
#include <sys/types.h> |
38 | 42 |
#include <sys/socket.h> |
... | ... | |
950 | 954 |
accel_group = gtk_accel_group_new(); |
951 | 955 |
s->file_menu = gtk_menu_new(); |
952 | 956 |
gtk_menu_set_accel_group(GTK_MENU(s->file_menu), accel_group); |
953 |
s->file_menu_item = gtk_menu_item_new_with_mnemonic("_File");
|
|
957 |
s->file_menu_item = gtk_menu_item_new_with_mnemonic(_("_File"));
|
|
954 | 958 |
|
955 | 959 |
s->quit_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL); |
956 | 960 |
gtk_stock_lookup(GTK_STOCK_QUIT, &item); |
... | ... | |
960 | 964 |
|
961 | 965 |
s->view_menu = gtk_menu_new(); |
962 | 966 |
gtk_menu_set_accel_group(GTK_MENU(s->view_menu), accel_group); |
963 |
s->view_menu_item = gtk_menu_item_new_with_mnemonic("_View");
|
|
967 |
s->view_menu_item = gtk_menu_item_new_with_mnemonic(_("_View"));
|
|
964 | 968 |
|
965 |
s->full_screen_item = gtk_check_menu_item_new_with_mnemonic("_Full Screen");
|
|
969 |
s->full_screen_item = gtk_check_menu_item_new_with_mnemonic(_("_Full Screen"));
|
|
966 | 970 |
gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->full_screen_item), |
967 | 971 |
"<QEMU>/View/Full Screen"); |
968 | 972 |
gtk_accel_map_add_entry("<QEMU>/View/Full Screen", GDK_KEY_f, GDK_CONTROL_MASK | GDK_MOD1_MASK); |
... | ... | |
989 | 993 |
gtk_accel_map_add_entry("<QEMU>/View/Zoom Fixed", GDK_KEY_0, GDK_CONTROL_MASK | GDK_MOD1_MASK); |
990 | 994 |
gtk_menu_append(GTK_MENU(s->view_menu), s->zoom_fixed_item); |
991 | 995 |
|
992 |
s->zoom_fit_item = gtk_check_menu_item_new_with_mnemonic("Zoom To _Fit");
|
|
996 |
s->zoom_fit_item = gtk_check_menu_item_new_with_mnemonic(_("Zoom To _Fit"));
|
|
993 | 997 |
gtk_menu_append(GTK_MENU(s->view_menu), s->zoom_fit_item); |
994 | 998 |
|
995 | 999 |
separator = gtk_separator_menu_item_new(); |
996 | 1000 |
gtk_menu_append(GTK_MENU(s->view_menu), separator); |
997 | 1001 |
|
998 |
s->grab_on_hover_item = gtk_check_menu_item_new_with_mnemonic("Grab On _Hover");
|
|
1002 |
s->grab_on_hover_item = gtk_check_menu_item_new_with_mnemonic(_("Grab On _Hover"));
|
|
999 | 1003 |
gtk_menu_append(GTK_MENU(s->view_menu), s->grab_on_hover_item); |
1000 | 1004 |
|
1001 |
s->grab_item = gtk_check_menu_item_new_with_mnemonic("_Grab Input");
|
|
1005 |
s->grab_item = gtk_check_menu_item_new_with_mnemonic(_("_Grab Input"));
|
|
1002 | 1006 |
gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->grab_item), |
1003 | 1007 |
"<QEMU>/View/Grab Input"); |
1004 | 1008 |
gtk_accel_map_add_entry("<QEMU>/View/Grab Input", GDK_KEY_g, GDK_CONTROL_MASK | GDK_MOD1_MASK); |
... | ... | |
1024 | 1028 |
separator = gtk_separator_menu_item_new(); |
1025 | 1029 |
gtk_menu_append(GTK_MENU(s->view_menu), separator); |
1026 | 1030 |
|
1027 |
s->show_tabs_item = gtk_check_menu_item_new_with_mnemonic("Show _Tabs");
|
|
1031 |
s->show_tabs_item = gtk_check_menu_item_new_with_mnemonic(_("Show _Tabs"));
|
|
1028 | 1032 |
gtk_menu_append(GTK_MENU(s->view_menu), s->show_tabs_item); |
1029 | 1033 |
|
1030 | 1034 |
g_object_set_data(G_OBJECT(s->window), "accel_group", accel_group); |
... | ... | |
1060 | 1064 |
s->scale_y = 1.0; |
1061 | 1065 |
s->free_scale = FALSE; |
1062 | 1066 |
|
1067 |
setlocale(LC_ALL, ""); |
|
1068 |
bindtextdomain("qemu", CONFIG_QEMU_LOCALEDIR); |
|
1069 |
textdomain("qemu"); |
|
1070 |
|
|
1063 | 1071 |
s->null_cursor = gdk_cursor_new(GDK_BLANK_CURSOR); |
1064 | 1072 |
|
1065 | 1073 |
s->mouse_mode_notifier.notify = gd_mouse_mode_change; |
Also available in: Unified diff