ocaml/otherlibs/labltk/examples_labltk/lang.ml

76 lines
3.1 KiB
OCaml
Raw Normal View History

(***********************************************************************)
(* *)
(* MLTk, Tcl/Tk interface of OCaml *)
(* *)
(* Francois Rouaix, Francois Pessaux, Jun Furuse and Pierre Weis *)
(* projet Cristal, INRIA Rocquencourt *)
(* Jacques Garrigue, Kyoto University RIMS *)
(* *)
(* Copyright 2002 Institut National de Recherche en Informatique et *)
(* en Automatique and Kyoto University. All rights reserved. *)
(* This file is distributed under the terms of the GNU Library *)
(* General Public License, with the special exception on linking *)
(* described in file LICENSE found in the OCaml source tree. *)
(* *)
(***********************************************************************)
(* language encoding using UTF-8 *)
open Tk
let top = opentk ()
(* declare Tk that we use utf-8 to communicate *)
(* problem: Text display is highly dependent on your font installation
and configulation. The fonts with no-scale setting are selected
only if the point sizes are exactly same???
*)
let _ =
Encoding.system_set "utf-8";
let l = Label.create top ~text: "???" in
pack [l];
let t = Text.create top in
pack [t];
let create_hello lang hello =
let b = Button.create t ~text: lang ~command: (fun () ->
Label.configure l ~text: hello)
in
Text.window_create t ~index: (`End,[]) ~window: b
in
List.iter (fun (lang, hello) -> create_hello lang hello)
["Amharic(አማርኛ)", "ሠላም";
"Arabic", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
"Croatian (Hrvatski)", "Bog (Bok), Dobar dan";
"Czech (česky)", "Dobrý den";
"Danish (Dansk)", "Hej, Goddag";
"English", "Hello";
"Esperanto", "Saluton";
"Estonian", "Tere, Tervist";
"FORTRAN", "PROGRAM";
"Finnish (Suomi)", "Hei";
"French (Français)", "Bonjour, Salut";
"German (Deutsch Nord)", "Guten Tag";
"German (Deutsch Süd)", "Grüß Gott";
"Greek (Ελληνικά)", "Γειά σας";
"Hebrew", "שלום";
"Italiano", "Ciao, Buon giorno";
"Maltese", "Ciao";
"Nederlands, Vlaams", "Hallo, Hoi, Goedendag";
"Norwegian (Norsk)", "Hei, God dag";
"Polish", "Cześć!";
"Russian (Русский)", "Здравствуйте!";
"Slovak", "Dobrý deň";
"Spanish (Español)", "¡Hola!";
"Swedish (Svenska)", "Hej, Goddag";
"Thai (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
"Tigrigna (ትግርኛ)", "ሰላማት";
"Turkish (Türkçe)", "Merhaba";
"Vietnamese (Tiếng Việt)", "Chào bạn";
"Japanese (日本語)", "こんにちは";
"Chinese (中文,普通话,汉语)", "你好";
"Cantonese (粵語,廣東話)", "早晨, 你好";
"Hangul (한글)", "안녕하세요, 안녕하십니까" ]
;;
let _ = Printexc.print mainLoop ()