A few days ago, I branched the gnome-python module in CVS. The gtk/gnome 1.2 branch is gtk-gnome-1-2 if people are interested. I just quickly generated the wrappers for GtkLabel and GtkWindow to try things out a little. I have attached a simple example that shows how easy it is to do multilingual output with gtk-1.3. Python-2.0 unicode strings fit nicely with gtk, as they convert to UTF8 automatically when you use the "s" format code with PyArg_ParseTuple. So it is possible to just pass a unicode string to GtkLabel and have things Just Work(TM) Python-2.0 makes it very easy to create unicode strings if your text is in a different encoding. You can just do: ustr = unicode('a string in encoding xyz', 'xyz') Now when you pass ustr to gtk, it should be able to display it. As unicode strings can be used to represent any other encoding string, you can now have more than one language in a single GUI. Lets see you do that in Tkinter :) James. -- Email: [EMAIL PROTECTED] WWW: http://www.daa.com.au/~james/
# order is important here (for now) import ltihooks, ExtensionClass, gobject, gtk # string taken from pango examples directory and converted from utf8 # to python unicode string escapes hellos = u'''\u03A0\u03B1\u03BD\u8A9E This is a list of ways to say hello in various languages. Its purpose is to illustrate a number of scripts. (Converted into UTF-8) --------------------------------------------------------- Arabic\t\u0627\u0644\u0633\u0644\u0627\u0645 \u0639\u0644\u064A\u0643\u0645 Czech\t(\u010Desky)\tDobr\375 den Danish\t(Dansk)\tHej, Goddag English\tHello Esperanto\tSaluton Estonian\tTere, Tervist FORTRAN\tPROGRAM Finnish\t(Suomi)\tHei French\t(Fran\347ais)\tBonjour, Salut German\t(Deutsch Nord)\tGuten Tag German\t(Deutsch S\374d)\tGr\374\337 Gott Greek\t(\u0395\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC)\t\u0393\u03B5\u03B9\u03AC \u03C3\u03B1\u03C2 Hebrew\t\u05E9\u05DC\u05D5\u05DD Hindi\t\u0928\u092E\u0938\u094D\u0924\u0947, \u0928\u092E\u0938\u094D\u0915\u093E\u0930\u0964 Italiano\tCiao, Buon giorno Maltese\t\u010Aaw, Sa\u0127\u0127a Nederlands, Vlaams\tHallo, Dag Norwegian\t(Norsk)\tHei, God dag Polish\tDzie\u0144 dobry, Hej Russian\t(\u0420\u0443\u0441\u0441\u043A\u0438\u0439)\t\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435!\u200E Slovak\tDobr\375 de\u0148 Spanish\t(Espa\361ol)\t\u200E\241Hola!\u200E Swedish\t(Svenska)\tHej, Goddag Thai\t(\u0E20\u0E32\u0E29\u0E32\u0E44\u0E17\u0E22)\t\u0E2A\u0E27\u0E31\u0E2A\u0E14\u0E35\u0E04\u0E23\u0E31\u0E1A, \u0E2A\u0E27\u0E31\u0E2A\u0E14\u0E35\u0E04\u0E48\u0E30 Turkish\t(T\374rk\347e)\tMerhaba Vietnamese\t(Ti\u1EBFng Vi\u1EC7t)\tXin Ch\340o Yiddish\t(\u05F2\u05B7\u05D3\u05D9\u05E9\u05E2)\t\u05D3\u05D0\u05B8\u05E1 \u05D4\u05F2\u05B7\u05D6\u05E2\u05DC\u05E2 Japanese\t(\u65E5\u672C\u8A9E)\t\u3053\u3093\u306B\u3061\u306F, \uFF7A\uFF9D\uFF86\uFF81\uFF8A Chinese\t(\u4E2D\u6587,\u666E\u901A\u8BDD,\u6C49\u8BED)\t\u4F60\u597D Cantonese\t(\u7CB5\u8A9E,\u5EE3\u6771\u8A71)\t\u65E9\u6668, \u4F60\u597D Korean\t(\uD55C\uAE00)\t\uC548\uB155\uD558\uC138\uC694, \uC548\uB155\uD558\uC2ED\uB2C8\uAE4C Difference among chinese characters in GB, JIS, KSC, BIG5:\u200E GB\t--\t\u5143\u6C14\t\u5F00\u53D1 JIS\t--\t\u5143\u6C17\t\u958B\u767A KSC\t--\t\u5143\u6C23\t\u958B\u767C BIG5\t--\t\u5143\u6C23\t\u958B\u767C ''' w = gtk.GtkWindow() w.set_border_width(10) l = gtk.GtkLabel(hellos) w.add(l) l.show() w.show() gtk.main()