[419] in The GTK GIMP ToolKit mailing list archive

home help back first fref pref prev next nref lref last post

[gtk-list] Hello, World: An Example of I18N Patch

daemon@ATHENA.MIT.EDU (Li-Da Lho)
Wed Jul 2 05:29:50 1997

Date: Wed, 02 Jul 1997 17:30:56 +0800
From: Li-Da Lho <ollie@ms1.hinet.net>
To: gtk-list@redhat.com
Resent-From: gtk-list@redhat.com
Reply-To: gtk-list@redhat.com

This is a multi-part message in MIME format.

--------------7E7971E72FB1E0F272324DF1
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hello
	I will present in this mail an example of the i18n patch. After
recompiling and reinstall the patched GTK lib, it is really trival to
display I18N text in a GTK application. Generally speaking, it takes
only a few steps:

	1. Add a calle to gtk_setlocale() to initialize locale dependent
	part of Xlib.

	2. Add the fontset entry in the rc file to specify the fontset
	used to display I18N text.

Here is a "hello world" example:

------------------------------ hello.c ---------------------------------
#include "gtk/gtk.h"
     
void
destroy (void)
{
    gtk_exit (0);
}
     
int
main (int argc, char *argv[])
{
    GtkWidget *window;
    GtkWidget *button;

    /* set locale to current locale */
    gtk_setlocale();
    
    /* initialize the GTK widget */
    gtk_init (&argc, &argv);
    
    /* read the resource database file */
    gtk_rc_parse ("hello.rc");
     
    /* create toplevel window */
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    gtk_signal_connect (GTK_OBJECT (window), "destroy",
			GTK_SIGNAL_FUNC (destroy), NULL);
    gtk_window_set_title (GTK_WINDOW (window), "&L7')p");
    gtk_container_border_width (GTK_CONTAINER (window), 10);
    
    /* create a label widget to display I18N text */
    button = gtk_button_new_with_label ("Hello World, &L7')p");

    gtk_signal_connect_object (GTK_OBJECT (button), "clicked",
			       GTK_SIGNAL_FUNC (gtk_widget_destroy),
			       GTK_OBJECT (window));
    gtk_container_add (GTK_CONTAINER (window), button);

    /* realize widgets */
    gtk_widget_show (button);
    gtk_widget_show (window);

    /* enter events loop */
    gtk_main ();
     
    return 0;
}

-------------------------------- End of hello.c -----------------------

and its resource file

-------------------------- hello.rc -----------------------------------

style "label"
{
  fontset = "-eten-mingti-medium-r-normal--*-240-*-*-*-*-big5-0, -adobe-helvetica-medium-r-normal--*-240-*-*-*-*-*-*"
  fg[PRELIGHT] = { 0, 0, 0 }
  bg[PRELIGHT] = { 0.75, 0, 1.0 }
  fg[NORMAL] = { 1.0, 0, 0 }
  fg[ACTIVE] = { 0, 1.00, 0 }

}

widget_class "*GtkLabel*" style "label"

--------------------------------- End of hello.rc ----------------------

and the result is :

--------------7E7971E72FB1E0F272324DF1
Content-Type: image/gif; name="hello.gif"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="hello.gif"

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
+MQoTrGpQEViFbv4xTCOsYzhEhAAOw==
--------------7E7971E72FB1E0F272324DF1--

--
To unsubscribe: mail -s unsubscribe gtk-list-request@redhat.com < /dev/null


home help back first fref pref prev next nref lref last post