|
发表于 2003-8-26 15:21:23
|
显示全部楼层
下边为国际化编程的源代码:[PHP]#include <gtk/gtk.h>
#include <libintl.h>
#include <locale.h>
#define PACKAGE "test"
#define LOCALEDIR "locale"
#define _(string) gettext(string)
#define N_(string) string
static GtkWidget* entry=NULL;
void on_button_clicked(GtkWidget *button,gpointer data)
{
gtk_entry_set_text(GTK_ENTRY(entry),_("This text will put in the entry."));
}
int main(int argc,char* argv[])
{
GtkWidget *window,*vbox,*button,*label;
bindtextdomain(PACKAGE,LOCALEDIR);
textdomain(PACKAGE);
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window),_("TEST window"));
g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);
gtk_container_set_border_width(GTK_CONTAINER(window),10);
vbox=gtk_vbox_new(FALSE,0);
gtk_container_add(GTK_CONTAINER(window),vbox);
label=gtk_label_new(_("This is a international application."));
gtk_box_pack_start(GTK_BOX(vbox),label,FALSE,FALSE,5);
button=gtk_button_new_with_label(_("New button"));
g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(on_button_clicked),NULL);
gtk_box_pack_start(GTK_BOX(vbox),button,FALSE,FALSE,5);
entry=gtk_entry_new();
gtk_box_pack_start(GTK_BOX(vbox),entry,FALSE,FALSE,5);
gtk_widget_show_all(window);
gtk_main();
return FALSE;
}[/PHP] |
|