langtest.tcl

来自「是TCL的另外一个编译(解释)器」· TCL 代码 · 共 50 行

TCL
50
字号
global langArray
global ASEDsRootDir
global testModus
global language

package require Tk

set ASEDsRootDir "E:/Dokumente und Einstellungen/Andreas Sievers/ased21"
set testModus 1
set language deutsch

proc load_langFile {language} {
    global langArray
    global ASEDsRootDir
    # set keywords
    set fd [open [file join $ASEDsRootDir lang $language.txt ] r]
    while {![eof $fd]} {
        gets $fd line
        set langArray([lindex $line 0]) [lindex $line 1]
    }
    close $fd
}

proc langTrans {expression} {
    global langArray
    global testModus
    global ASEDsRootDir
    global language
    
    
    if {[array names langArray $expression] != {} } {
        set txt $langArray($expression)
    } else  {
        set txt $expression
        if $testModus {
            set filename [append $language ".log"]
            set fd [open [file join $ASEDsRootDir lang $language.missing ] a+]
            set data [list [read $fd]]
            append data $expression\n
            puts -nonewline $fd $data
            close $fd
        }
    }
    return $txt
}

load_langFile $language
tk_messageBox -message [langTrans $argv]
exit

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?