Blame examples_labltk/lang.ml

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