From 2d16e519a080ed6d8c55721f49a707e28db9532d Mon Sep 17 00:00:00 2001 From: a_kovalenko Date: Mon, 10 Jun 2002 00:15:42 +0000 Subject: Added "magic ampersand" approach for translated strings in standard dialogs. All translations were modified to work with "magic ampersand". Russian translations added. --- ChangeLog | 22 +++++++++++ library/clrpick.tcl | 37 ++++++++--------- library/msgbox.tcl | 95 ++++++++++++++++---------------------------- library/msgs/cs.msg | 41 +++++++++---------- library/msgs/de.msg | 39 +++++++++--------- library/msgs/el.msg | 41 +++++++++---------- library/msgs/en.msg | 41 +++++++++---------- library/msgs/es.msg | 39 +++++++++--------- library/msgs/fr.msg | 41 +++++++++---------- library/msgs/it.msg | 39 +++++++++--------- library/msgs/nl.msg | 39 +++++++++--------- library/msgs/ru.msg | 73 ++++++++++++++++++++++++++++++++++ library/tk.tcl | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++- library/tkfbox.tcl | 87 +++++++++++++++++++--------------------- library/xmfbox.tcl | 40 +++++++++---------- 15 files changed, 480 insertions(+), 306 deletions(-) create mode 100644 library/msgs/ru.msg diff --git a/ChangeLog b/ChangeLog index 9909138..ff753a6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +2002-06-10 Anton Kovalenko + + * library/tk.tcl: added utility functions to get "-underline" and + "-text" for labels and buttons from translatable string containing + "magic ampersand" [patch #566605] + * library/clrpick.tcl: + * library/msgbox.tcl: + * library/tkfbox.tcl: + * library/xmfbox.tcl: some places where msgcat is used to get + translated label are modified to handle labels with magic ampersand. + * library/msgs/ru.msg: russian translations added + * library/msgs/cs.msg: + * library/msgs/de.msg: + * library/msgs/el.msg: + * library/msgs/es.msg: + * library/msgs/fr.msg: + * library/msgs/it.msg: + * library/msgs/nl.msg: all translation files now have labels with + 'magic ampersand' where appropriate. In el.msg some ampersands are + missing, as I don't know which underline positions seems natural + to "el" users. + 2002-06-09 Mo DeJong * library/bgerror.tcl (tk::dialog::error::bgerror): diff --git a/library/clrpick.tcl b/library/clrpick.tcl index 1875ccd..bf2bca3 100644 --- a/library/clrpick.tcl +++ b/library/clrpick.tcl @@ -3,7 +3,7 @@ # Color selection dialog for platforms that do not support a # standard color selection dialog. # -# RCS: @(#) $Id: clrpick.tcl,v 1.15 2002/04/29 13:17:44 bagnonm Exp $ +# RCS: @(#) $Id: clrpick.tcl,v 1.16 2002/06/10 00:15:42 a_kovalenko Exp $ # # Copyright (c) 1996 Sun Microsystems, Inc. # @@ -205,12 +205,12 @@ proc ::tk::dialog::color::BuildDialog {w} { # StripsFrame contains the colorstrips and the individual RGB entries set stripsFrame [frame $topFrame.colorStrip] - set maxWidth [mcmax Red Green Blue] + set maxWidth [::tk::mcmaxamp &Red &Green &Blue] set maxWidth [expr {$maxWidth<6?6:$maxWidth}] set colorList [list \ - red [mc "Red"] \ - green [mc "Green"] \ - blue [mc "Blue"] \ + red [mc "&Red"] \ + green [mc "&Green"] \ + blue [mc "&Blue"] \ ] foreach {color l} $colorList { # each f frame contains an [R|G|B] entry and the equiv. color strip. @@ -219,7 +219,9 @@ proc ::tk::dialog::color::BuildDialog {w} { # The box frame contains the label and entry widget for an [R|G|B] set box [frame $f.box] - label $box.label -text $l: -width $maxWidth -under 0 -anchor ne + bind [::tk::AmpWidget label $box.label -text $l: -width $maxWidth \ + -anchor ne] <> [list focus $box.entry] + entry $box.entry -textvariable \ ::tk::dialog::color::[winfo name $w]($color,intensity) \ -width 4 @@ -265,8 +267,8 @@ proc ::tk::dialog::color::BuildDialog {w} { # selected color # set selFrame [frame $topFrame.sel] - set lab [label $selFrame.lab -text [mc "Selection:"] \ - -under 0 -anchor sw] + set lab [::tk::AmpWidget label $selFrame.lab -text [mc "&Selection:"] \ + -anchor sw] set ent [entry $selFrame.ent \ -textvariable ::tk::dialog::color::[winfo name $w](selection) \ -width 16] @@ -285,13 +287,13 @@ proc ::tk::dialog::color::BuildDialog {w} { # the botFrame frame contains the buttons # set botFrame [frame $w.bot -relief raised -bd 1] - set maxWidth [mcmax OK Cancel] + set maxWidth [::tk::mcmaxamp &OK &Cancel] set maxWidth [expr {$maxWidth<8?8:$maxWidth}] - button $botFrame.ok -text [mc "OK"] \ - -width $maxWidth -under 0 \ + ::tk::AmpWidget button $botFrame.ok -text [mc "&OK"] \ + -width $maxWidth \ -command [list tk::dialog::color::OkCmd $w] - button $botFrame.cancel -text [mc "Cancel"] \ - -width $maxWidth -under 0 \ + ::tk::AmpWidget button $botFrame.cancel -text [mc "&Cancel"] \ + -width $maxWidth \ -command [list tk::dialog::color::CancelCmd $w] set data(okBtn) $botFrame.ok @@ -303,14 +305,9 @@ proc ::tk::dialog::color::BuildDialog {w} { # Accelerator bindings - - bind $w [list focus $data(red,entry)] - bind $w [list focus $data(green,entry)] - bind $w [list focus $data(blue,entry)] - bind $w [list focus $ent] + bind $lab <> [list focus $ent] bind $w [list tk::ButtonInvoke $data(cancelBtn)] - bind $w [list tk::ButtonInvoke $data(cancelBtn)] - bind $w [list tk::ButtonInvoke $data(okBtn)] + bind $w [list tk::AltKeyInDialog $w %A] wm protocol $w WM_DELETE_WINDOW [list tk::dialog::color::CancelCmd $w] } diff --git a/library/msgbox.tcl b/library/msgbox.tcl index 2c6e476..c102a62 100644 --- a/library/msgbox.tcl +++ b/library/msgbox.tcl @@ -3,7 +3,7 @@ # Implements messageboxes for platforms that do not have native # messagebox support. # -# RCS: @(#) $Id: msgbox.tcl,v 1.17 2002/06/06 01:09:41 a_kovalenko Exp $ +# RCS: @(#) $Id: msgbox.tcl,v 1.18 2002/06/10 00:15:42 a_kovalenko Exp $ # # Copyright (c) 1994-1997 Sun Microsystems, Inc. # @@ -170,73 +170,44 @@ proc ::tk::MessageBox {args} { } switch -- $data(-type) { - abortretryignore { - set maxWidth [mcmax Abort Retry Ignore] - set maxWidth [expr {$maxWidth<6?6:$maxWidth}] - set buttons [list \ - [list abort -width $maxWidth -text [mc "Abort"] \ - -under 0]\ - [list retry -width $maxWidth -text [mc "Retry"] \ - -under 0]\ - [list ignore -width $maxWidth -text [mc "Ignore"] \ - -under 0]\ - ] + abortretryignore { + set names [list abort retry ignore] + set labels [list &Abort &Retry &Ignore] } ok { - set buttons [list \ - [list ok -width [mcmax OK] \ - -text [mc {OK}] -under 0] \ - ] - if {[string equal $data(-default) ""]} { - set data(-default) "ok" - } + set names [list ok] + set labels {&OK} } okcancel { - set maxWidth [mcmax OK Cancel] - set maxWidth [expr {$maxWidth<6?6:$maxWidth}] - set buttons [list \ - [list ok -width $maxWidth \ - -text [mc "OK"] -under 0] \ - [list cancel -width $maxWidth \ - -text [mc "Cancel"] -under 0] \ - ] + set names [list ok cancel] + set labels [list &OK &Cancel] } retrycancel { - set maxWidth [mcmax Retry Cancel] - set maxWidth [expr {$maxWidth<6?6:$maxWidth}] - set buttons [list \ - [list retry -width $maxWidth \ - -text [mc "Retry"] -under 0] \ - [list cancel -width $maxWidth \ - -text [mc "Cancel"] -under 0] \ - ] + set names [list retry cancel] + set labels [list &Retry &Cancel] } yesno { - set maxWidth [mcmax Yes No] - set maxWidth [expr {$maxWidth<6?6:$maxWidth}] - set buttons [list \ - [list yes -width $maxWidth \ - -text [mc "Yes"] -under 0]\ - [list no -width $maxWidth \ - -text [mc "No"] -under 0]\ - ] + set names [list yes no] + set labels [list &Yes &No] } yesnocancel { - set maxWidth [mcmax Yes No Cancel] - set maxWidth [expr {$maxWidth<6?6:$maxWidth}] - set buttons [list \ - [list yes -width $maxWidth \ - -text [mc "Yes"] -under 0]\ - [list no -width $maxWidth \ - -text [mc "No"] -under 0]\ - [list cancel -width $maxWidth \ - -text [mc "Cancel"] -under 0]\ - ] + set names [list yes no cancel] + set labels [list &Yes &No &Cancel] } default { error "bad -type value \"$data(-type)\": must be abortretryignore, ok, okcancel, retrycancel, yesno, or yesnocancel" } } + + set maxWidth [eval mcmaxamp $labels] + if {$maxWidth <6} { + set maxWidth 6 + } + + set buttons {} + foreach name $names lab $labels { + lappend buttons [list $name -width $maxWidth -text [mc $lab]] + } # If no default button was specified, the default default is the # first button (Bug: 2218). @@ -365,7 +336,8 @@ proc ::tk::MessageBox {args} { set opts [list -text $capName] } - eval button [list $w.$name] $opts [list -command [list set tk::Priv(button) $name]] + eval tk::AmpWidget \ + button [list $w.$name] $opts [list -command [list set tk::Priv(button) $name]] if {[string equal $name $data(-default)]} { $w.$name configure -default active @@ -376,14 +348,15 @@ proc ::tk::MessageBox {args} { # create the binding for the key accelerator, based on the underline # - set underIdx [$w.$name cget -under] - if {$underIdx >= 0} { - set key [string index [$w.$name cget -text] $underIdx] - bind $w [list $w.$name invoke] - bind $w [list $w.$name invoke] - } - incr i + # set underIdx [$w.$name cget -under] + # if {$underIdx >= 0} { + # set key [string index [$w.$name cget -text] $underIdx] + # bind $w [list $w.$name invoke] + # bind $w [list $w.$name invoke] + # } + # incr i } + bind $w [list ::tk::AltKeyInDialog $w %A] if {[string compare {} $data(-default)]} { bind $w { diff --git a/library/msgs/cs.msg b/library/msgs/cs.msg index 23d8e0a..e4014a3 100644 --- a/library/msgs/cs.msg +++ b/library/msgs/cs.msg @@ -1,10 +1,10 @@ namespace eval ::tk { - ::msgcat::mcset cs "Abort" "P\u0159eru\u0161it" + ::msgcat::mcset cs "&Abort" "&P\u0159eru\u0161it" ::msgcat::mcset cs "About..." "O programu..." ::msgcat::mcset cs "All Files" "V\u0161echny soubory" ::msgcat::mcset cs "Application Error" "Chyba programu" - ::msgcat::mcset cs "Blue" "Modr\341" - ::msgcat::mcset cs "Cancel" "Zru\u0161it" + ::msgcat::mcset cs "&Blue" "&Modr\341" + ::msgcat::mcset cs "&Cancel" "&Zru\u0161it" ::msgcat::mcset cs "Cannot change to the directory \"%1\$s\".\nPermission denied." "Nemohu zm\u011bnit atku\341ln\355 adres\341\u0159 na \"%1\$s\".\nP\u0159\355stup odm\355tnut." ::msgcat::mcset cs "Choose Directory" "V\375b\u011br adres\341\u0159e" ::msgcat::mcset cs "Clear" "Smazat" @@ -15,46 +15,47 @@ namespace eval ::tk { ::msgcat::mcset cs "Delete" "Smazat" ::msgcat::mcset cs "Details >>" "Detaily >>" ::msgcat::mcset cs "Directory \"%1\$s\" does not exist." "Adres\341\u0159 \"%1\$s\" neexistuje." - ::msgcat::mcset cs "Directory:" "Adres\341\u0159:" + ::msgcat::mcset cs "&Directory:" "&Adres\341\u0159:" ::msgcat::mcset cs "Error: %1\$s" "Chyba: %1\$s" ::msgcat::mcset cs "Exit" "Konec" ::msgcat::mcset cs "File \"%1\$s\" already exists.\n\n" "Soubor \"%1\$s\" ji\u017e existuje.\n\n" ::msgcat::mcset cs "File \"%1\$s\" already exists.\nDo you want to overwrite it?" "Soubor \"%1\$s\" ji\u017e existuje.\nChcete jej p\u0159epsat?" ::msgcat::mcset cs "File \"%1\$s\" does not exist." "Soubor \"%1\$s\" neexistuje." - ::msgcat::mcset cs "File name:" "Jm\351no souboru:" - ::msgcat::mcset cs "File names:" "Jm\351na soubor\u016f:" - ::msgcat::mcset cs "Files of type:" "Typy soubor\u016f:" - ::msgcat::mcset cs "Files:" "Soubory:" - ::msgcat::mcset cs "Filter" "Filtr" - ::msgcat::mcset cs "Filter:" "Filtr:" - ::msgcat::mcset cs "Green" "Zelen\341" + ::msgcat::mcset cs "File &name:" "&Jm\351no souboru:" + ::msgcat::mcset cs "File &names:" "&Jm\351na soubor\u016f:" + ::msgcat::mcset cs "Files of &type:" "&Typy soubor\u016f:" + ::msgcat::mcset cs "Fi&les:" "Sou&bory:" + ::msgcat::mcset cs "&Filter" "&Filtr" + ::msgcat::mcset cs "Fil&ter:" "Fil&tr:" + ::msgcat::mcset cs "&Green" "Ze&len\341" ::msgcat::mcset cs "Hi" ::msgcat::mcset cs "Hide Console" "Skr\375t konsolu" - ::msgcat::mcset cs "Ignore" "Ignorovat" + ::msgcat::mcset cs "&Ignore" "&Ignorovat" ::msgcat::mcset cs "Invalid file name \"%1\$s\"." "\u0160patn\351 jm\351no souboru \"%1\$s\"." ::msgcat::mcset cs "Log Files" "Log soubory" - ::msgcat::mcset cs "No" "Ne" - ::msgcat::mcset cs "OK" + ::msgcat::mcset cs "&No" "&Ne" + ::msgcat::mcset cs "&OK" ::msgcat::mcset cs "Ok" ::msgcat::mcset cs "Open" "Otev\u0159\355t" + ::msgcat::mcset cs "&Open" "&Otev\u0159\355t" ::msgcat::mcset cs "Open Multiple Files" "Otev\u0159\355t v\355ce soubor\u016f" ::msgcat::mcset cs "Paste" "Vlo\u017eit" ::msgcat::mcset cs "Quit" "Skon\u010dit" - ::msgcat::mcset cs "Red" "\u010cerven\341" + ::msgcat::mcset cs "&Red" " \u010ce&rven\341" ::msgcat::mcset cs "Replace existing file?" "Nahradit st\341vaj\355c\355 soubor?" - ::msgcat::mcset cs "Retry" "Znovu" - ::msgcat::mcset cs "Save" "Ulo\u017eit" + ::msgcat::mcset cs "&Retry" "Z&novu" + ::msgcat::mcset cs "&Save" "&Ulo\u017eit" ::msgcat::mcset cs "Save As" "Ulo\u017eit jako" ::msgcat::mcset cs "Save To Log" "Ulo\u017eit do logu" ::msgcat::mcset cs "Select Log File" "Vybrat log soubor" ::msgcat::mcset cs "Select a file to source" "Vybrat soubor k nahr\341n\355" - ::msgcat::mcset cs "Selection:" "V\375b\u011br:" + ::msgcat::mcset cs "&Selection:" "&V\375b\u011br:" ::msgcat::mcset cs "Skip Messages" "P\u0159esko\u010dit zpr\341vy" ::msgcat::mcset cs "Source..." "Nahr\341t..." ::msgcat::mcset cs "Tcl Scripts" "Tcl skripty" ::msgcat::mcset cs "Tcl for Windows" "Tcl pro Windows" ::msgcat::mcset cs "Text Files" "Textov\351 soubory" - ::msgcat::mcset cs "Yes" "Ano" + ::msgcat::mcset cs "&Yes" "&Ano" ::msgcat::mcset cs "abort" "p\u0159eru\u0161it" ::msgcat::mcset cs "blue" "modr\341" ::msgcat::mcset cs "cancel" "zru\u0161it" @@ -66,4 +67,4 @@ namespace eval ::tk { ::msgcat::mcset cs "red" "\u010derven\341" ::msgcat::mcset cs "retry" "znovu" ::msgcat::mcset cs "yes" "ano" -} \ No newline at end of file +} diff --git a/library/msgs/de.msg b/library/msgs/de.msg index 5e10810..c5ae689 100644 --- a/library/msgs/de.msg +++ b/library/msgs/de.msg @@ -1,10 +1,10 @@ namespace eval ::tk { - ::msgcat::mcset de "Abort" "Abbruch" + ::msgcat::mcset de "&Abort" "&Abbruch" ::msgcat::mcset de "About..." "\u00dcber..." ::msgcat::mcset de "All Files" "Alle Dateien" ::msgcat::mcset de "Application Error" "Applikationsfehler" - ::msgcat::mcset de "Blue" "Blau" - ::msgcat::mcset de "Cancel" "Abbruch" + ::msgcat::mcset de "&Blue" "&Blau" + ::msgcat::mcset de "&Cancel" "&Abbruch" ::msgcat::mcset de "Cannot change to the directory \"%1\$s\".\nPermission denied." "Kann nicht in das Verzeichnis \"%1\$s\" wechseln.\nKeine Rechte vorhanden." ::msgcat::mcset de "Choose Directory" "W\u00e4hle Verzeichnis" ::msgcat::mcset de "Clear" "R\u00fccksetzen" @@ -15,46 +15,47 @@ namespace eval ::tk { ::msgcat::mcset de "Delete" "L\u00f6schen" ::msgcat::mcset de "Details >>" ::msgcat::mcset de "Directory \"%1\$s\" does not exist." "Das Verzeichnis \"%1\$s\" existiert nicht." - ::msgcat::mcset de "Directory:" "Verzeichnis:" + ::msgcat::mcset de "&Directory:" "&Verzeichnis:" ::msgcat::mcset de "Error: %1\$s" "Fehler: %1\$s" ::msgcat::mcset de "Exit" "Ende" ::msgcat::mcset de "File \"%1\$s\" already exists.\nDo you want to overwrite it?" "Die Datei \"%1\$s\" ist bereits vorhanden.\nWollen sie diese Datei \u00fcberschreiben ?" ::msgcat::mcset de "File \"%1\$s\" already exists.\n\n" "Die Datei \"%1\$s\" ist bereits vorhanden.\n\n" ::msgcat::mcset de "File \"%1\$s\" does not exist." "Die Datei \"%1\$s\" existiert nicht." - ::msgcat::mcset de "File name:" "Dateiname:" - ::msgcat::mcset de "File names:" "Dateinamen:" - ::msgcat::mcset de "Files of type:" "Dateien des Typs:" - ::msgcat::mcset de "Files:" "Dateien:" - ::msgcat::mcset de "Filter" - ::msgcat::mcset de "Filter:" - ::msgcat::mcset de "Green" "Gr\u00fcn" + ::msgcat::mcset de "File &name:" "Datei&name:" + ::msgcat::mcset de "File &names:" "Datei&namen:" + ::msgcat::mcset de "Files of &type:" "Dateien des &Typs:" + ::msgcat::mcset de "Fi&les:" "Dat&eien:" + ::msgcat::mcset de "&Filter" + ::msgcat::mcset de "Fil&ter:" + ::msgcat::mcset de "&Green" "&Gr\u00fcn" ::msgcat::mcset de "Hi" "Hallo" ::msgcat::mcset de "Hide Console" "Konsole unsichtbar machen" - ::msgcat::mcset de "Ignore" "Ignorieren" + ::msgcat::mcset de "&Ignore" "&Ignorieren" ::msgcat::mcset de "Invalid file name \"%1\$s\"." "Ung\u00fcltiger Dateiname \"%1\$s\"." ::msgcat::mcset de "Log Files" "Protokolldatei" - ::msgcat::mcset de "No" "Nein" + ::msgcat::mcset de "&No" "&Nein" ::msgcat::mcset de "OK" ::msgcat::mcset de "Ok" ::msgcat::mcset de "Open" "\u00d6ffnen" + ::msgcat::mcset de "&Open" "\u00d6&ffnen" ::msgcat::mcset de "Open Multiple Files" ::msgcat::mcset de "Paste" "Einf\u00fcgen" ::msgcat::mcset de "Quit" "Beenden" - ::msgcat::mcset de "Red" "Rot" + ::msgcat::mcset de "&Red" "&Rot" ::msgcat::mcset de "Replace existing file?" "Existierende Datei ersetzen?" - ::msgcat::mcset de "Retry" "Wiederholen" - ::msgcat::mcset de "Save" "Speichern" + ::msgcat::mcset de "&Retry" "&Wiederholen" + ::msgcat::mcset de "&Save" "&Speichern" ::msgcat::mcset de "Save As" "Speichern unter" ::msgcat::mcset de "Save To Log" "In Protokoll speichern" ::msgcat::mcset de "Select Log File" "Protokolldatei ausw\u00e4hlen" ::msgcat::mcset de "Select a file to source" "Auszuf\u00fchrende Datei ausw\u00e4hlen" - ::msgcat::mcset de "Selection:" "Auswahl:" + ::msgcat::mcset de "&Selection:" "Auswah&l:" ::msgcat::mcset de "Skip Messages" "Weitere Nachrichten \u00fcberspringen" ::msgcat::mcset de "Source..." "Ausf\u00fchren..." ::msgcat::mcset de "Tcl Scripts" "Tcl-Skripte" ::msgcat::mcset de "Tcl for Windows" "Tcl f\u00fcr Windows" ::msgcat::mcset de "Text Files" "Textdateien" - ::msgcat::mcset de "Yes" "Ja" + ::msgcat::mcset de "&Yes" "&Ja" ::msgcat::mcset de "abort" "abbrechen" ::msgcat::mcset de "blue" "blau" ::msgcat::mcset de "cancel" "abbrechen" @@ -66,4 +67,4 @@ namespace eval ::tk { ::msgcat::mcset de "red" "rot" ::msgcat::mcset de "retry" "wiederholen" ::msgcat::mcset de "yes" "ja" -} \ No newline at end of file +} diff --git a/library/msgs/el.msg b/library/msgs/el.msg index ad2fff7..2e96cd9 100644 --- a/library/msgs/el.msg +++ b/library/msgs/el.msg @@ -3,12 +3,12 @@ ## petasis@iit.demokritos.gr namespace eval ::tk { - ::msgcat::mcset el "Abort" "\u03a4\u03b5\u03c1\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03cc\u03c2" + ::msgcat::mcset el "&Abort" "\u03a4\u03b5\u03c1\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03cc\u03c2" ::msgcat::mcset el "About..." "\u03a3\u03c7\u03b5\u03c4\u03b9\u03ba\u03ac..." ::msgcat::mcset el "All Files" "\u038c\u03bb\u03b1 \u03c4\u03b1 \u0391\u03c1\u03c7\u03b5\u03af\u03b1" ::msgcat::mcset el "Application Error" "\u039b\u03ac\u03b8\u03bf\u03c2 \u0395\u03c6\u03b1\u03c1\u03bc\u03bf\u03b3\u03ae\u03c2" - ::msgcat::mcset el "Blue" "\u039c\u03c0\u03bb\u03b5" - ::msgcat::mcset el "Cancel" "\u0391\u03ba\u03cd\u03c1\u03c9\u03c3\u03b7" + ::msgcat::mcset el "&Blue" "\u039c\u03c0\u03bb\u03b5" + ::msgcat::mcset el "&Cancel" "\u0391\u03ba\u03cd\u03c1\u03c9\u03c3\u03b7" ::msgcat::mcset el \ "Cannot change to the directory \"%1\$s\".\nPermission denied." \ "\u0394\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03b1\u03bb\u03bb\u03b1\u03b3\u03ae \u03ba\u03b1\u03c4\u03b1\u03bb\u03cc\u03b3\u03bf\u03c5 \u03c3\u03b5 \"%1\$s\".\n\u0397 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7 \u03b4\u03b5\u03bd \u03b5\u03c0\u03b9\u03c4\u03c1\u03ad\u03c0\u03b5\u03c4\u03b1\u03b9." @@ -22,7 +22,7 @@ namespace eval ::tk { ::msgcat::mcset el "Details >>" "\u039b\u03b5\u03c0\u03c4\u03bf\u03bc\u03ad\u03c1\u03b5\u03b9\u03b5\u03c2 >>" ::msgcat::mcset el "Directory \"%1\$s\" does not exist." \ "\u039f \u03ba\u03b1\u03c4\u03ac\u03bb\u03bf\u03b3\u03bf\u03c2 \"%1\$s\" \u03b4\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9." - ::msgcat::mcset el "Directory:" "\u039a\u03b1\u03c4\u03ac\u03bb\u03bf\u03b3\u03bf\u03c2:" + ::msgcat::mcset el "&Directory:" "&\u039a\u03b1\u03c4\u03ac\u03bb\u03bf\u03b3\u03bf\u03c2:" ::msgcat::mcset el "Error: %1\$s" "\u039b\u03ac\u03b8\u03bf\u03c2: %1\$s" ::msgcat::mcset el "Exit" "\u0388\u03be\u03bf\u03b4\u03bf\u03c2" ::msgcat::mcset el \ @@ -32,44 +32,45 @@ namespace eval ::tk { "\u03a4\u03bf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf \"%1\$s\" \u03ae\u03b4\u03b7 \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9.\n\n" ::msgcat::mcset el "File \"%1\$s\" does not exist." \ "\u03a4\u03bf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf \"%1\$s\" \u03b4\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9." - ::msgcat::mcset el "File name:" "\u038c\u03bd\u03bf\u03bc\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5:" - ::msgcat::mcset el "File names:" "\u038c\u03bd\u03bf\u03bc\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03c9\u03bd:" - ::msgcat::mcset el "Files of type:" "\u0391\u03c1\u03c7\u03b5\u03af\u03b1 \u03c4\u03bf\u03c5 \u03c4\u03cd\u03c0\u03bf\u03c5:" - ::msgcat::mcset el "Files:" "\u0391\u03c1\u03c7\u03b5\u03af\u03b1:" - ::msgcat::mcset el "Filter" "\u03a6\u03af\u03bb\u03c4\u03c1\u03bf" - ::msgcat::mcset el "Filter:" "\u03a6\u03af\u03bb\u03c4\u03c1\u03bf:" - ::msgcat::mcset el "Green" "\u03a0\u03c1\u03ac\u03c3\u03b9\u03bd\u03bf" + ::msgcat::mcset el "File &name:" "\u038c&\u03bd\u03bf\u03bc\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5:" + ::msgcat::mcset el "File &names:" "\u038c&\u03bd\u03bf\u03bc\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03c9\u03bd:" + ::msgcat::mcset el "Files of &type:" "\u0391\u03c1\u03c7\u03b5\u03af\u03b1 \u03c4\u03bf\u03c5 &\u03c4\u03cd\u03c0\u03bf\u03c5:" + ::msgcat::mcset el "Fi&les:" "\u0391\u03c1\u03c7\u03b5\u03af\u03b1:" + ::msgcat::mcset el "&Filter" "\u03a6\u03af\u03bb\u03c4\u03c1\u03bf" + ::msgcat::mcset el "Fil&ter:" "\u03a6\u03af\u03bb\u03c4\u03c1\u03bf:" + ::msgcat::mcset el "&Green" "\u03a0\u03c1\u03ac\u03c3\u03b9\u03bd\u03bf" ::msgcat::mcset el "Hi" "\u0393\u03b5\u03b9\u03b1" ::msgcat::mcset el "Hide Console" "\u0391\u03c0\u03cc\u03ba\u03c1\u03c5\u03c8\u03b7 \u03ba\u03bf\u03bd\u03c3\u03cc\u03bb\u03b1\u03c2" - ::msgcat::mcset el "Ignore" "\u0391\u03b3\u03bd\u03cc\u03b7\u03c3\u03b7" + ::msgcat::mcset el "&Ignore" "\u0391\u03b3\u03bd\u03cc\u03b7\u03c3\u03b7" ::msgcat::mcset el "Invalid file name \"%1\$s\"." \ "\u0386\u03ba\u03c5\u03c1\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 \"%1\$s\"." ::msgcat::mcset el "Log Files" "\u0391\u03c1\u03c7\u03b5\u03af\u03b1 \u039a\u03b1\u03c4\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2" - ::msgcat::mcset el "No" "\u038c\u03c7\u03b9" - ::msgcat::mcset el "OK" "\u0395\u03bd\u03c4\u03ac\u03be\u03b5\u03b9" - ::msgcat::mcset el "Ok" "\u0395\u03bd\u03c4\u03ac\u03be\u03b5\u03b9" + ::msgcat::mcset el "&No" "\u038c\u03c7\u03b9" + ::msgcat::mcset el "&OK" "\u0395\u03bd\u03c4\u03ac\u03be\u03b5\u03b9" + ::msgcat::mcset el "&Ok" "\u0395\u03bd\u03c4\u03ac\u03be\u03b5\u03b9" ::msgcat::mcset el "Open" "\u0386\u03bd\u03bf\u03b9\u03b3\u03bc\u03b1" + ::msgcat::mcset el "&Open" "\u0386\u03bd\u03bf\u03b9\u03b3\u03bc\u03b1" ::msgcat::mcset el "Open Multiple Files" \ "\u0386\u03bd\u03bf\u03b9\u03b3\u03bc\u03b1 \u03c0\u03bf\u03bb\u03bb\u03b1\u03c0\u03bb\u03ce\u03bd \u03b1\u03c1\u03c7\u03b5\u03af\u03c9\u03bd" ::msgcat::mcset el "Paste" "\u0395\u03c0\u03b9\u03ba\u03cc\u03bb\u03bb\u03b7\u03c3\u03b7" ::msgcat::mcset el "Quit" "\u0388\u03be\u03bf\u03b4\u03bf\u03c2" - ::msgcat::mcset el "Red" "\u039a\u03cc\u03ba\u03ba\u03b9\u03bd\u03bf" + ::msgcat::mcset el "&Red" "\u039a\u03cc\u03ba\u03ba\u03b9\u03bd\u03bf" ::msgcat::mcset el "Replace existing file?" \ "\u0395\u03c0\u03b9\u03ba\u03ac\u03bb\u03c5\u03c8\u03b7 \u03c5\u03c0\u03ac\u03c1\u03c7\u03bf\u03bd\u03c4\u03bf\u03c2 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5;" - ::msgcat::mcset el "Retry" "\u03a0\u03c1\u03bf\u03c3\u03c0\u03ac\u03b8\u03b7\u03c3\u03b5 \u03be\u03b1\u03bd\u03ac" - ::msgcat::mcset el "Save" "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7" + ::msgcat::mcset el "&Retry" "\u03a0\u03c1\u03bf\u03c3\u03c0\u03ac\u03b8\u03b7\u03c3\u03b5 \u03be\u03b1\u03bd\u03ac" + ::msgcat::mcset el "&Save" "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7" ::msgcat::mcset el "Save As" "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7 \u03c3\u03b1\u03bd" ::msgcat::mcset el "Save To Log" "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7 \u03c3\u03c4\u03bf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf \u03ba\u03b1\u03c4\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2" ::msgcat::mcset el "Select Log File" "\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 \u03ba\u03b1\u03c4\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2" ::msgcat::mcset el "Select a file to source" \ "\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf \u03b3\u03b9\u03b1 \u03b5\u03ba\u03c4\u03ad\u03bb\u03b5\u03c3\u03b7" - ::msgcat::mcset el "Selection:" "\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae:" + ::msgcat::mcset el "&Selection:" "\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae:" ::msgcat::mcset el "Skip Messages" "\u0391\u03c0\u03bf\u03c6\u03c5\u03b3\u03ae \u03bc\u03c5\u03bd\u03b7\u03bc\u03ac\u03c4\u03c9\u03bd" ::msgcat::mcset el "Source..." "\u0395\u03ba\u03c4\u03ad\u03bb\u03b5\u03c3\u03b7..." ::msgcat::mcset el "Tcl Scripts" "Tcl Scripts" ::msgcat::mcset el "Tcl for Windows" "Tcl \u03b3\u03b9\u03b1 Windows" ::msgcat::mcset el "Text Files" "\u0391\u03c1\u03c7\u03b5\u03af\u03b1 \u039a\u03b5\u03b9\u03bc\u03ad\u03bd\u03bf\u03c5" - ::msgcat::mcset el "Yes" "\u039d\u03b1\u03b9" + ::msgcat::mcset el "&Yes" "\u039d\u03b1\u03b9" ::msgcat::mcset el "abort" "\u03c4\u03b5\u03c1\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03cc\u03c2" ::msgcat::mcset el "blue" "\u03bc\u03c0\u03bb\u03b5" ::msgcat::mcset el "cancel" "\u03b1\u03ba\u03cd\u03c1\u03c9\u03c3\u03b7" diff --git a/library/msgs/en.msg b/library/msgs/en.msg index 3a64932..7242f91 100644 --- a/library/msgs/en.msg +++ b/library/msgs/en.msg @@ -1,10 +1,10 @@ namespace eval ::tk { - ::msgcat::mcset en "Abort" + ::msgcat::mcset en "&Abort" ::msgcat::mcset en "About..." ::msgcat::mcset en "All Files" ::msgcat::mcset en "Application Error" - ::msgcat::mcset en "Blue" - ::msgcat::mcset en "Cancel" + ::msgcat::mcset en "&Blue" + ::msgcat::mcset en "&Cancel" ::msgcat::mcset en "Cannot change to the directory \"%1\$s\".\nPermission denied." ::msgcat::mcset en "Choose Directory" ::msgcat::mcset en "Clear" @@ -15,46 +15,47 @@ namespace eval ::tk { ::msgcat::mcset en "Delete" ::msgcat::mcset en "Details >>" ::msgcat::mcset en "Directory \"%1\$s\" does not exist." - ::msgcat::mcset en "Directory:" + ::msgcat::mcset en "&Directory:" ::msgcat::mcset en "Error: %1\$s" ::msgcat::mcset en "Exit" ::msgcat::mcset en "File \"%1\$s\" already exists.\nDo you want to overwrite it?" ::msgcat::mcset en "File \"%1\$s\" already exists.\n\n" ::msgcat::mcset en "File \"%1\$s\" does not exist." - ::msgcat::mcset en "File name:" - ::msgcat::mcset en "File names:" - ::msgcat::mcset en "Files of type:" - ::msgcat::mcset en "Files:" - ::msgcat::mcset en "Filter" - ::msgcat::mcset en "Filter:" - ::msgcat::mcset en "Green" + ::msgcat::mcset en "File &name:" + ::msgcat::mcset en "File &names:" + ::msgcat::mcset en "Files of &type:" + ::msgcat::mcset en "Fi&les:" + ::msgcat::mcset en "&Filter" + ::msgcat::mcset en "Fil&ter:" + ::msgcat::mcset en "&Green" ::msgcat::mcset en "Hi" ::msgcat::mcset en "Hide Console" - ::msgcat::mcset en "Ignore" + ::msgcat::mcset en "&Ignore" ::msgcat::mcset en "Invalid file name \"%1\$s\"." ::msgcat::mcset en "Log Files" - ::msgcat::mcset en "No" - ::msgcat::mcset en "OK" + ::msgcat::mcset en "&No" + ::msgcat::mcset en "&OK" ::msgcat::mcset en "Ok" ::msgcat::mcset en "Open" + ::msgcat::mcset en "&Open" ::msgcat::mcset en "Open Multiple Files" ::msgcat::mcset en "Paste" ::msgcat::mcset en "Quit" - ::msgcat::mcset en "Red" + ::msgcat::mcset en "&Red" ::msgcat::mcset en "Replace existing file?" - ::msgcat::mcset en "Retry" - ::msgcat::mcset en "Save" + ::msgcat::mcset en "&Retry" + ::msgcat::mcset en "&Save" ::msgcat::mcset en "Save As" ::msgcat::mcset en "Save To Log" ::msgcat::mcset en "Select Log File" ::msgcat::mcset en "Select a file to source" - ::msgcat::mcset en "Selection:" + ::msgcat::mcset en "&Selection:" ::msgcat::mcset en "Skip Messages" ::msgcat::mcset en "Source..." ::msgcat::mcset en "Tcl Scripts" ::msgcat::mcset en "Tcl for Windows" ::msgcat::mcset en "Text Files" - ::msgcat::mcset en "Yes" + ::msgcat::mcset en "&Yes" ::msgcat::mcset en "abort" ::msgcat::mcset en "blue" ::msgcat::mcset en "cancel" @@ -66,4 +67,4 @@ namespace eval ::tk { ::msgcat::mcset en "red" ::msgcat::mcset en "retry" ::msgcat::mcset en "yes" -} \ No newline at end of file +} diff --git a/library/msgs/es.msg b/library/msgs/es.msg index 140b40d..7de0fae 100644 --- a/library/msgs/es.msg +++ b/library/msgs/es.msg @@ -1,10 +1,10 @@ namespace eval ::tk { - ::msgcat::mcset es "Abort" "Abortar" + ::msgcat::mcset es "&Abort" "&Abortar" ::msgcat::mcset es "About..." "Acerca de ..." ::msgcat::mcset es "All Files" "Todos los archivos" ::msgcat::mcset es "Application Error" "Error de la aplicaci\u00f3n" - ::msgcat::mcset es "Blue" "Azul" - ::msgcat::mcset es "Cancel" "Cancelar" + ::msgcat::mcset es "&Blue" "&Azul" + ::msgcat::mcset es "&Cancel" "&Cancelar" ::msgcat::mcset es "Cannot change to the directory \"%1\$s\".\nPermission denied." "No es posible acceder al directorio \"%1\$s\".\nPermiso denegado." ::msgcat::mcset es "Choose Directory" "Elegir directorio" ::msgcat::mcset es "Clear" "Borrar" @@ -15,46 +15,47 @@ namespace eval ::tk { ::msgcat::mcset es "Delete" "Borrar" ::msgcat::mcset es "Details >>" "Detalles >>" ::msgcat::mcset es "Directory \"%1\$s\" does not exist." "El directorio \"%1\$s\" no existe." - ::msgcat::mcset es "Directory:" "Directorio:" + ::msgcat::mcset es "&Directory:" "&Directorio:" ::msgcat::mcset es "Error: %1\$s" "Error: %1\$s" ::msgcat::mcset es "Exit" "Salir" ::msgcat::mcset es "File \"%1\$s\" already exists.\nDo you want to overwrite it?" "El archivo \"%1\$s\" ya existe.\nDesea sobreescribirlo?" ::msgcat::mcset es "File \"%1\$s\" already exists.\n\n" "El archivo \"%1\$s\" ya existe.\n\n" ::msgcat::mcset es "File \"%1\$s\" does not exist." "El archivo \"%1\$s\" no existe." - ::msgcat::mcset es "File name:" "Nombre de archivo:" - ::msgcat::mcset es "File names:" "Nombres de archivo:" - ::msgcat::mcset es "Files of type:" "Archivos de tipo:" - ::msgcat::mcset es "Files:" "Archivos:" - ::msgcat::mcset es "Filter" "Filtro" - ::msgcat::mcset es "Filter:" "Filtro:" - ::msgcat::mcset es "Green" "Verde" + ::msgcat::mcset es "File &name:" "&Nombre de archivo:" + ::msgcat::mcset es "File &names:" "&Nombres de archivo:" + ::msgcat::mcset es "Files of &type:" "Archivos de &tipo:" + ::msgcat::mcset es "Fi&les:" "&Archivos:" + ::msgcat::mcset es "&Filter" "&Filtro" + ::msgcat::mcset es "Fil&ter:" "Fil&tro:" + ::msgcat::mcset es "&Green" "&Verde" ::msgcat::mcset es "Hi" "Hola" ::msgcat::mcset es "Hide Console" "Esconder la consola" - ::msgcat::mcset es "Ignore" "Ignorar" + ::msgcat::mcset es "&Ignore" "&Ignorar" ::msgcat::mcset es "Invalid file name \"%1\$s\"." "Nombre de archivo inv\u00e1lido \"%1\$s\"." ::msgcat::mcset es "Log Files" "Ficheros de traza" - ::msgcat::mcset es "No" "No" - ::msgcat::mcset es "OK" "OK" + ::msgcat::mcset es "&No" "&No" + ::msgcat::mcset es "&OK" "&OK" ::msgcat::mcset es "Ok" "Ok" ::msgcat::mcset es "Open" "Abrir" + ::msgcat::mcset es "&Open" "&Abrir" ::msgcat::mcset es "Open Multiple Files" "Abrir m\u00faltiples archivos" ::msgcat::mcset es "Paste" "Pegar" ::msgcat::mcset es "Quit" "Abandonar" - ::msgcat::mcset es "Red" "Rojo" + ::msgcat::mcset es "&Red" "&Rojo" ::msgcat::mcset es "Replace existing file?" "Reemplazar el archivo existente?" - ::msgcat::mcset es "Retry" "Reintentar" - ::msgcat::mcset es "Save" "Salvar" + ::msgcat::mcset es "&Retry" "&Reintentar" + ::msgcat::mcset es "&Save" "&Salvar" ::msgcat::mcset es "Save As" "Salvar como" ::msgcat::mcset es "Save To Log" "Salvar al archivo de traza" ::msgcat::mcset es "Select Log File" "Elegir un archivo de traza" ::msgcat::mcset es "Select a file to source" "Seleccionar un archivo a evaluar" - ::msgcat::mcset es "Selection:" "Selecci\u00f3n:" + ::msgcat::mcset es "&Selection:" "&Selecci\u00f3n:" ::msgcat::mcset es "Skip Messages" "Omitir los mensajes" ::msgcat::mcset es "Source..." "Evaluar..." ::msgcat::mcset es "Tcl Scripts" "Scripts Tcl" ::msgcat::mcset es "Tcl for Windows" "Tcl para Windows" ::msgcat::mcset es "Text Files" "Archivos de texto" - ::msgcat::mcset es "Yes" "S\u00ed" + ::msgcat::mcset es "&Yes" "&S\u00ed" ::msgcat::mcset es "abort" "abortar" ::msgcat::mcset es "blue" "azul" ::msgcat::mcset es "cancel" "cancelar" diff --git a/library/msgs/fr.msg b/library/msgs/fr.msg index b885cd4..6dba60a 100644 --- a/library/msgs/fr.msg +++ b/library/msgs/fr.msg @@ -1,10 +1,10 @@ namespace eval ::tk { - ::msgcat::mcset fr "Abort" "Annuler" + ::msgcat::mcset fr "&Abort" "&Annuler" ::msgcat::mcset fr "About..." "\u00c0 propos..." ::msgcat::mcset fr "All Files" "Tous les fichiers" ::msgcat::mcset fr "Application Error" "Erreur d'application" - ::msgcat::mcset fr "Blue" "Bleu" - ::msgcat::mcset fr "Cancel" "Annuler" + ::msgcat::mcset fr "&Blue" "&Bleu" + ::msgcat::mcset fr "&Cancel" "&Annuler" ::msgcat::mcset fr "Cannot change to the directory \"%1\$s\".\nPermission denied." "Impossible d'acc\u00e9der au r\u00e9pertoire \"%1\$s\".\nPermission refus\u00e9e." ::msgcat::mcset fr "Choose Directory" "Choisir r\u00e9pertoire" ::msgcat::mcset fr "Clear" "Effacer" @@ -15,46 +15,47 @@ namespace eval ::tk { ::msgcat::mcset fr "Delete" "Effacer" ::msgcat::mcset fr "Details >>" "D\u00e9tails >>" ::msgcat::mcset fr "Directory \"%1\$s\" does not exist." - ::msgcat::mcset fr "Directory:" "R\u00e9pertoire:" + ::msgcat::mcset fr "&Directory:" "&R\u00e9pertoire:" ::msgcat::mcset fr "Error: %1\$s" ::msgcat::mcset fr "Exit" ::msgcat::mcset fr "File \"%1\$s\" already exists.\nDo you want to overwrite it?" "Le fichier \"%1\$s\" existe d\u00e9j\u00e0.\nVoulez-vous l'\u00e9craser?" ::msgcat::mcset fr "File \"%1\$s\" already exists.\n\n" "Le fichier \"%1\$s\" existe d\u00e9j\u00e0.\n\n" ::msgcat::mcset fr "File \"%1\$s\" does not exist." "Le fichier \"%1\$s\" n'existe pas." - ::msgcat::mcset fr "File name:" "Nom de fichier:" - ::msgcat::mcset fr "File names:" "Noms de fichiers:" - ::msgcat::mcset fr "Files of type:" "Type de fichiers:" - ::msgcat::mcset fr "Files:" "Fichiers:" - ::msgcat::mcset fr "Filter" "Filtre" - ::msgcat::mcset fr "Filter:" "Filtre:" - ::msgcat::mcset fr "Green" "Vert" + ::msgcat::mcset fr "File &name:" "&Nom de fichier:" + ::msgcat::mcset fr "File &names:" "&Noms de fichiers:" + ::msgcat::mcset fr "Files of &type:" "&Type de fichiers:" + ::msgcat::mcset fr "Fi&les:" "Fich&iers:" + ::msgcat::mcset fr "&Filter" "&Filtre" + ::msgcat::mcset fr "Fil&ter:" "Fil&tre:" + ::msgcat::mcset fr "&Green" "&Vert" ::msgcat::mcset fr "Hi" "All\u00f4" ::msgcat::mcset fr "Hide Console" "Cacher la Console" - ::msgcat::mcset fr "Ignore" "Ignorer" + ::msgcat::mcset fr "&Ignore" "&Ignorer" ::msgcat::mcset fr "Invalid file name \"%1\$s\"." "Nom de fichier invalide \"%1\$s\"." ::msgcat::mcset fr "Log Files" "Fichiers de trace" - ::msgcat::mcset fr "No" "Non" - ::msgcat::mcset fr "OK" + ::msgcat::mcset fr "&No" "&Non" + ::msgcat::mcset fr "&OK" ::msgcat::mcset fr "Ok" ::msgcat::mcset fr "Open" "Ouvrir" + ::msgcat::mcset fr "&Open" "&Ouvrir" ::msgcat::mcset fr "Open Multiple Files" "Ouvrir plusieurs fichiers" ::msgcat::mcset fr "Paste" "Coller" ::msgcat::mcset fr "Quit" "Abandonner" - ::msgcat::mcset fr "Red" "Rouge" + ::msgcat::mcset fr "&Red" "&Rouge" ::msgcat::mcset fr "Replace existing file?" "Remplacer fichier existant?" - ::msgcat::mcset fr "Retry" "R\u00e9-essayer" - ::msgcat::mcset fr "Save" "Sauvegarder" + ::msgcat::mcset fr "&Retry" "&R\u00e9-essayer" + ::msgcat::mcset fr "&Save" "&Sauvegarder" ::msgcat::mcset fr "Save As" "Sauvegarder sous" ::msgcat::mcset fr "Save To Log" "Sauvegarde au fichier de trace" ::msgcat::mcset fr "Select Log File" "Choisir un fichier de trace" ::msgcat::mcset fr "Select a file to source" "Choisir un fichier \u00e0 \u00e9valuer" - ::msgcat::mcset fr "Selection:" "S\u00e9lection:" + ::msgcat::mcset fr "&Selection:" "&S\u00e9lection:" ::msgcat::mcset fr "Skip Messages" "Omettre les messages" ::msgcat::mcset fr "Source..." "\u00c9valuer..." ::msgcat::mcset fr "Tcl Scripts" "Scripts Tcl" ::msgcat::mcset fr "Tcl for Windows" "Tcl pour Windows" ::msgcat::mcset fr "Text Files" "Fichiers texte" - ::msgcat::mcset fr "Yes" "Oui" + ::msgcat::mcset fr "&Yes" "&Oui" ::msgcat::mcset fr "abort" "annuler" ::msgcat::mcset fr "blue" "bleu" ::msgcat::mcset fr "cancel" "annuler" @@ -66,4 +67,4 @@ namespace eval ::tk { ::msgcat::mcset fr "red" "rouge" ::msgcat::mcset fr "retry" "r\u00e9-essayer" ::msgcat::mcset fr "yes" "oui" -} \ No newline at end of file +} diff --git a/library/msgs/it.msg b/library/msgs/it.msg index 189448f..9e6298b 100644 --- a/library/msgs/it.msg +++ b/library/msgs/it.msg @@ -1,10 +1,10 @@ namespace eval ::tk { - ::msgcat::mcset it "Abort" "Interrompi" + ::msgcat::mcset it "&Abort" "&Interrompi" ::msgcat::mcset it "About..." "Informazioni ..." ::msgcat::mcset it "All Files" "Tutti i file" ::msgcat::mcset it "Application Error" "Errore dell' applicazione" - ::msgcat::mcset it "Blue" "Blu" - ::msgcat::mcset it "Cancel" "Annulla" + ::msgcat::mcset it "&Blue" "&Blu" + ::msgcat::mcset it "&Cancel" "&Annulla" ::msgcat::mcset it "Cannot change to the directory \"%1\$s\".\nPermission denied." "Impossibile accedere alla directory \"%1\$s\".\nPermesso negato." ::msgcat::mcset it "Choose Directory" "Scegli directory" ::msgcat::mcset it "Clear" "Azzera" @@ -15,46 +15,47 @@ namespace eval ::tk { ::msgcat::mcset it "Delete" "Incolla" ::msgcat::mcset it "Details >>" "Dettagli >>" ::msgcat::mcset it "Directory \"%1\$s\" does not exist." "La directory \"%1\$s\" non esiste." - ::msgcat::mcset it "Directory:" + ::msgcat::mcset it "&Directory:" ::msgcat::mcset it "Error: %1\$s" "Errore: %1\$s" ::msgcat::mcset it "Exit" "Esci" ::msgcat::mcset it "File \"%1\$s\" already exists.\nDo you want to overwrite it?" "Il file \"%1\$s\" esiste gi\u00e0.\nVuoi sovrascriverlo?" ::msgcat::mcset it "File \"%1\$s\" already exists.\n\n" "Il file \"%1\$s\" esiste gi\u00e0.\n\n" ::msgcat::mcset it "File \"%1\$s\" does not exist." "Il file \"%1\$s\" non esiste." - ::msgcat::mcset it "File name:" "Nome del file:" - ::msgcat::mcset it "File names:" "Nomi dei file:" - ::msgcat::mcset it "Files of type:" "File di tipo:" - ::msgcat::mcset it "Files:" "File:" - ::msgcat::mcset it "Filter" "Filtro" - ::msgcat::mcset it "Filter:" "Filtro:" - ::msgcat::mcset it "Green" "Verde" + ::msgcat::mcset it "File &name:" "&Nome del file:" + ::msgcat::mcset it "File &names:" "&Nomi dei file:" + ::msgcat::mcset it "Files of &type:" "File di &tipo:" + ::msgcat::mcset it "Fi&les:" "Fi&le:" + ::msgcat::mcset it "&Filter" "&Filtro" + ::msgcat::mcset it "Fil&ter:" "Fil&tro:" + ::msgcat::mcset it "&Green" "&Verde" ::msgcat::mcset it "Hi" "Salve" ::msgcat::mcset it "Hide Console" "Nascondi la console" - ::msgcat::mcset it "Ignore" "Ignora" + ::msgcat::mcset it "&Ignore" "&Ignora" ::msgcat::mcset it "Invalid file name \"%1\$s\"." "Nome di file non valido \"%1\$s\"." ::msgcat::mcset it "Log Files" "File di log" - ::msgcat::mcset it "No" - ::msgcat::mcset it "OK" + ::msgcat::mcset it "&No" + ::msgcat::mcset it "&OK" ::msgcat::mcset it "Ok" + ::msgcat::mcset it "&Open" "A&pri" ::msgcat::mcset it "Open" "Apri" ::msgcat::mcset it "Open Multiple Files" "Apri file multipli" ::msgcat::mcset it "Paste" "Incolla" ::msgcat::mcset it "Quit" "Esci" - ::msgcat::mcset it "Red" "Rosso" + ::msgcat::mcset it "&Red" "&Rosso" ::msgcat::mcset it "Replace existing file?" "Sostituisci il file esistente?" - ::msgcat::mcset it "Retry" "Riprova" - ::msgcat::mcset it "Save" "Salva" + ::msgcat::mcset it "&Retry" "&Riprova" + ::msgcat::mcset it "&Save" "&Salva" ::msgcat::mcset it "Save As" "Salva come" ::msgcat::mcset it "Save To Log" "Salva il log" ::msgcat::mcset it "Select Log File" "Scegli un file di log" ::msgcat::mcset it "Select a file to source" "Scegli un file da eseguire" - ::msgcat::mcset it "Selection:" "Selezione:" + ::msgcat::mcset it "&Selection:" "&Selezione:" ::msgcat::mcset it "Skip Messages" "Salta i messaggi" ::msgcat::mcset it "Source..." "Esegui..." ::msgcat::mcset it "Tcl Scripts" "Scripts Tcl" ::msgcat::mcset it "Tcl for Windows" "Tcl per Windows" ::msgcat::mcset it "Text Files" "File di testo" - ::msgcat::mcset it "Yes" "Si" + ::msgcat::mcset it "&Yes" "&Si" ::msgcat::mcset it "abort" "interrompi" ::msgcat::mcset it "blue" "blu" ::msgcat::mcset it "cancel" "annulla" diff --git a/library/msgs/nl.msg b/library/msgs/nl.msg index 63f4746..daad847 100644 --- a/library/msgs/nl.msg +++ b/library/msgs/nl.msg @@ -4,12 +4,12 @@ namespace eval ::tk { ::msgcat::mcset nl ", or" ", of" ::msgcat::mcset nl "-default, -icon, -message, -parent, -title, or -type" "-default, -icon, -message, -parent, -title, of -type" ::msgcat::mcset nl "-initialdir, -mustexist, -parent, or -title" "-initialdir, -mustexist, -parent, of -title" - ::msgcat::mcset nl "Abort" "Afbreken" + ::msgcat::mcset nl "&Abort" "&Afbreken" ::msgcat::mcset nl "About..." "Over..." ::msgcat::mcset nl "All Files" "Alle Bestanden" ::msgcat::mcset nl "Application Error" "Toepassingsfout" - ::msgcat::mcset nl "Blue" "Blauw" - ::msgcat::mcset nl "Cancel" "Annuleren" + ::msgcat::mcset nl "&Blue" "&Blauw" + ::msgcat::mcset nl "&Cancel" "&Annuleren" ::msgcat::mcset nl "Cannot change to the directory \"%1\$s\".\nPermission denied." "Kan niet naar map \"%1\$s\" gaan.\nU heeft geen toestemming hiervoor." ::msgcat::mcset nl "Choose Directory" "Kies map" ::msgcat::mcset nl "Clear" "Wissen" @@ -22,7 +22,7 @@ namespace eval ::tk { ::msgcat::mcset nl "Details" ::msgcat::mcset nl "Details >>" ::msgcat::mcset nl "Directory \"%1\$s\" does not exist." "Map \"%1\$s\" bestaat niet." - ::msgcat::mcset nl "Directory:" "Map:" + ::msgcat::mcset nl "&Directory:" "&Map:" ::msgcat::mcset nl "Enter \"%1\$s\", press OK" "Toets \"%1\$s\", druk op OK" ::msgcat::mcset nl "Enter \"%1\$s\", press OK, enter \"%2\$s\", press OK" "Toets \"%1\$s\", druk op OK, toets \"%2\$s\", druk op OK" ::msgcat::mcset nl "Error: %1\$s" "Fout: %1\$s" @@ -30,21 +30,22 @@ namespace eval ::tk { ::msgcat::mcset nl "File \"%1\$s\" already exists.\n\n" "Bestand \"%1\$s\" bestaat al.\n\n" ::msgcat::mcset nl "File \"%1\$s\" already exists.\nDo you want to overwrite it?" "Bestand \"%1\$s\" bestaat al.\nWilt u het overschrijven?" ::msgcat::mcset nl "File \"%1\$s\" does not exist." "Bestand \"%1\$s\" bestaat niet." - ::msgcat::mcset nl "File name:" "Bestandsnaam:" - ::msgcat::mcset nl "File names:" "Bestandsnamen:" - ::msgcat::mcset nl "Files of type:" "Bestanden van het type:" - ::msgcat::mcset nl "Files:" "Bestanden:" - ::msgcat::mcset nl "Filter" - ::msgcat::mcset nl "Filter:" - ::msgcat::mcset nl "Green" "Groen" + ::msgcat::mcset nl "File &name:" "Bestands&naam:" + ::msgcat::mcset nl "File &names:" "Bestands&namen:" + ::msgcat::mcset nl "Files of &type:" "Bestanden van het &type:" + ::msgcat::mcset nl "Fi&les:" "&Bestanden:" + ::msgcat::mcset nl "&Filter" + ::msgcat::mcset nl "Fil&ter:" + ::msgcat::mcset nl "&Green" "&Groen" ::msgcat::mcset nl "Hi" "H\u00e9" ::msgcat::mcset nl "Hide Console" "Verberg Console" - ::msgcat::mcset nl "Ignore" + ::msgcat::mcset nl "&Ignore" ::msgcat::mcset nl "Invalid file name \"%1\$s\"." "Ongeldige bestandsnaam \"%1\$s\"." ::msgcat::mcset nl "Log Files" "Log Bestanden" - ::msgcat::mcset nl "No" "Nee" - ::msgcat::mcset nl "OK" + ::msgcat::mcset nl "&No" "&Nee" + ::msgcat::mcset nl "&OK" ::msgcat::mcset nl "Ok" + ::msgcat::mcset nl "&Open" "&Openen" ::msgcat::mcset nl "Open" "Openen" ::msgcat::mcset nl "Open Multiple Files" "Open meerdere bestanden" ::msgcat::mcset nl "Paste" "Plakken" @@ -53,21 +54,21 @@ namespace eval ::tk { ::msgcat::mcset nl "Press Cancel" "Druk op Annuleren" ::msgcat::mcset nl "Press Ok" "Druk op Ok" ::msgcat::mcset nl "Quit" "Stoppen" - ::msgcat::mcset nl "Red" "Rood" + ::msgcat::mcset nl "&Red" "&Rood" ::msgcat::mcset nl "Replace existing file?" "Vervang bestaand bestand?" - ::msgcat::mcset nl "Retry" "Opnieuw" - ::msgcat::mcset nl "Save" "Opslaan" + ::msgcat::mcset nl "&Retry" "O&nieuw" + ::msgcat::mcset nl "&Save" "Op&slaan" ::msgcat::mcset nl "Save As" "Opslaan als" ::msgcat::mcset nl "Save To Log" "Opslaan naar Log" ::msgcat::mcset nl "Select Log File" "Selecteer Log bestand" ::msgcat::mcset nl "Select a file to source" "Selecteer bronbestand" - ::msgcat::mcset nl "Selection:" "Selectie:" + ::msgcat::mcset nl "&Selection:" "&Selectie:" ::msgcat::mcset nl "Skip Messages" "Berichten overslaan" ::msgcat::mcset nl "Source..." "Bron..." ::msgcat::mcset nl "Tcl Scripts" ::msgcat::mcset nl "Tcl for Windows" "Tcl voor Windows" ::msgcat::mcset nl "Text Files" "Tekst Bestanden" - ::msgcat::mcset nl "Yes" "Ja" + ::msgcat::mcset nl "&Yes" "&Ja" ::msgcat::mcset nl "abort" "afbreken" ::msgcat::mcset nl "abort, retry, ignore, ok, cancel, no, or yes" "afbreken, opnieuw, negeren, ok, annuleren, nee, of ja" ::msgcat::mcset nl "abortretryignore, ok, okcancel, retrycancel, yesno, or yesnocancel" "abortretryignore, ok, okcancel, retrycancel, yesno, of yesnocancel" diff --git a/library/msgs/ru.msg b/library/msgs/ru.msg new file mode 100644 index 0000000..9f6aa80 --- /dev/null +++ b/library/msgs/ru.msg @@ -0,0 +1,73 @@ +namespace eval ::tk { + ::msgcat::mcset ru "&Abort" "&\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c" + ::msgcat::mcset ru "About..." "\u041f\u0440\u043e..." + ::msgcat::mcset ru "All Files" "\u0412\u0441\u0435 \u0444\u0430\u0439\u043b\u044b" + ::msgcat::mcset ru "Application Error" "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435" + ::msgcat::mcset ru "&Blue" " &\u0413\u043e\u043b\u0443\u0431\u043e\u0439" + ::msgcat::mcset ru "&Cancel" "\u041e\u0442&\u043c\u0435\u043d\u0430" + ::msgcat::mcset ru "Cannot change to the directory \"%1\$s\".\nPermission denied." \ + "\u041d\u0435 \u043c\u043e\u0433\u0443 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \"%1\$s\".\n\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0430\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430" + ::msgcat::mcset ru "Choose Directory" "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433" + ::msgcat::mcset ru "Clear" "\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c" + ::msgcat::mcset ru "Color" "\u0426\u0432\u0435\u0442" + ::msgcat::mcset ru "Console" "\u041a\u043e\u043d\u0441\u043e\u043b\u044c" + ::msgcat::mcset ru "Copy" "\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c" + ::msgcat::mcset ru "Cut" "\u0412\u044b\u0440\u0435\u0437\u0430\u0442\u044c" + ::msgcat::mcset ru "Delete" "\u0423\u0434\u0430\u043b\u0438\u0442\u044c" + ::msgcat::mcset ru "Details >>" "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 >>" + ::msgcat::mcset ru "Directory \"%1\$s\" does not exist." "\u041a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \"%1\$s\" \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442." + ::msgcat::mcset ru "&Directory:" "&\u041a\u0430\u0442\u0430\u043b\u043e\u0433:" + ::msgcat::mcset ru "Error: %1\$s" "\u041e\u0448\u0438\u0431\u043a\u0430: %1\$s" + ::msgcat::mcset ru "Exit" "\u0412\u044b\u0445\u043e\u0434" + ::msgcat::mcset ru "File \"%1\$s\" already exists.\nDo you want to overwrite it?" \ + "\u0424\u0430\u0439\u043b \"%1\$s\" \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.\n\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e?" + ::msgcat::mcset ru "File \"%1\$s\" already exists.\n\n" "\u0424\u0430\u0439\u043b \"%1\$s\" \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.\n\n" + ::msgcat::mcset ru "File \"%1\$s\" does not exist." "\u0424\u0430\u0439\u043b \"%1\$s\" \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d." + ::msgcat::mcset ru "File &name:" "&\u0418\u043c\u044f \u0444\u0430\u0439\u043b\u0430:" + ::msgcat::mcset ru "File &names:" "&\u0418\u043c\u0435\u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432:" + ::msgcat::mcset ru "Files of &type:" "&\u0422\u0438\u043f \u0444\u0430\u0439\u043b\u043e\u0432:" + ::msgcat::mcset ru "Fi&les:" "\u0424\u0430\u0439&\u043b\u044b:" + ::msgcat::mcset ru "&Filter" "&\u0424\u0438\u043b\u044c\u0442\u0440" + ::msgcat::mcset ru "Fil&ter:" "\u0424\u0438\u043b\u044c&\u0442\u0440:" + ::msgcat::mcset ru "&Green" " &\u0417\u0435\u043b\u0435\u043d\u044b\u0439" + ::msgcat::mcset ru "Hi" "\u041f\u0440\u0438\u0432\u0435\u0442" + ::msgcat::mcset ru "Hide Console" "\u0421\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c" + ::msgcat::mcset ru "&Ignore" "&\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c" + ::msgcat::mcset ru "Invalid file name \"%1\$s\"." "\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \"%1\$s\"." + ::msgcat::mcset ru "Log Files" "\u0424\u0430\u0439\u043b\u044b \u0436\u0443\u0440\u043d\u0430\u043b\u0430" + ::msgcat::mcset ru "&No" "&\u041d\u0435\u0442" + ::msgcat::mcset ru "&OK" "&\u041e\u041a" + ::msgcat::mcset ru "Ok" "\u0414\u0430" + ::msgcat::mcset ru "Open" "\u041e\u0442\u043a\u0440\u044b\u0442\u044c" + ::msgcat::mcset ru "&Open" "&\u041e\u0442\u043a\u0440\u044b\u0442\u044c" + ::msgcat::mcset ru "Open Multiple Files" "\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432" + ::msgcat::mcset ru "Paste" "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c" + ::msgcat::mcset ru "Quit" "\u0412\u044b\u0445\u043e\u0434" + ::msgcat::mcset ru "&Red" " &\u041a\u0440\u0430\u0441\u043d\u044b\u0439" + ::msgcat::mcset ru "Replace existing file?" "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0444\u0430\u0439\u043b?" + ::msgcat::mcset ru "&Retry" "&\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c" + ::msgcat::mcset ru "&Save" "&\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c" + ::msgcat::mcset ru "Save As" "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u043a" + ::msgcat::mcset ru "Save To Log" "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0436\u0443\u0440\u043d\u0430\u043b" + ::msgcat::mcset ru "Select Log File" "\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b" + ::msgcat::mcset ru "Select a file to source" "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0438\u0438" + ::msgcat::mcset ru "&Selection:" "&Selection:" + ::msgcat::mcset ru "Skip Messages" "\u041f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f" + ::msgcat::mcset ru "Source..." "\u0418\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b..." + ::msgcat::mcset ru "Tcl Scripts" "\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 TCL" + ::msgcat::mcset ru "Tcl for Windows" "TCL \u0434\u043b\u044f Windows" + ::msgcat::mcset ru "Text Files" "\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b" + ::msgcat::mcset ru "&Yes" "&\u0414\u0430" + ::msgcat::mcset ru "abort" "\u043e\u0442\u043c\u0435\u043d\u0430" + ::msgcat::mcset ru "blue" " \u0433\u043e\u043b\u0443\u0431\u043e\u0439" + ::msgcat::mcset ru "cancel" "\u043e\u0442\u043c\u0435\u043d\u0430" + ::msgcat::mcset ru "extension" "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435" + ::msgcat::mcset ru "extensions" "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f" + ::msgcat::mcset ru "green" " \u0437\u0435\u043b\u0435\u043d\u044b\u0439" + ::msgcat::mcset ru "ignore" "\u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c" + ::msgcat::mcset ru "ok" "\u043e\u043a" + ::msgcat::mcset ru "red" " \u043a\u0440\u0430\u0441\u043d\u044b\u0439" + ::msgcat::mcset ru "retry" "\u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c" + ::msgcat::mcset ru "yes" "\u0434\u0430" +} + diff --git a/library/tk.tcl b/library/tk.tcl index 679b786..165b56d 100644 --- a/library/tk.tcl +++ b/library/tk.tcl @@ -3,7 +3,7 @@ # Initialization script normally executed in the interpreter for each # Tk-based application. Arranges class bindings for widgets. # -# RCS: @(#) $Id: tk.tcl,v 1.40 2002/05/20 13:59:02 dgp Exp $ +# RCS: @(#) $Id: tk.tcl,v 1.41 2002/06/10 00:15:42 a_kovalenko Exp $ # # Copyright (c) 1992-1994 The Regents of the University of California. # Copyright (c) 1994-1996 Sun Microsystems, Inc. @@ -443,3 +443,113 @@ proc ::tk::TabToWindow {w} { focus $w } +# ::tk::UnderlineAmpersand -- +# This procedure takes some text with ampersand and returns +# text w/o ampersand and position of the ampersand. +# Double ampersands are converted to single ones. +# Position returned is -1 when there is no ampersand. +# +proc ::tk::UnderlineAmpersand {text} { + set idx [string first "&" $text] + if {$idx >= 0} { + set underline $idx + # ignore "&&" + while {[string match "&" [string index $text [expr {$idx + 1}]]]} { + set base [expr {$idx + 2}] + set idx [string first "&" [string range $text $base end]] + if {$idx < 0} { + break + } else { + set underline [expr {$underline + $idx + 1}] + incr idx $base + } + } + } + if {$idx >= 0} { + regsub -all -- {&([^&])} $text {\1} text + } + return [list $text $idx] +} + +# ::tk::SetAmpText -- +# Given widget path and text with "magic ampersands", +# sets -text and -underline options for the widget +# +proc ::tk::SetAmpText {widget text} { + foreach {newtext under} [::tk::UnderlineAmpersand $text] { + $widget configure -text $newtext -underline $under + } +} + +# ::tk::AmpWidget -- +# Creates new widget, turning -text option into -text and +# -underline options, returned by ::tk::UnderlineAmpersand. +# +proc ::tk::AmpWidget {class path args} { + set wcmd [list $class $path] + foreach {opt val} $args { + if {[string equal $opt {-text}]} { + foreach {newtext under} [::tk::UnderlineAmpersand $val] { + lappend wcmd -text $newtext -underline $under + } + } else { + lappend wcmd $opt $val + } + } + eval $wcmd + if {$class=="button"} { + bind $path <> [list $path invoke] + } + return $path +} + +# ::tk::FindAltKeyTarget -- +# search recursively through the hierarchy of visible widgets +# to find button or label which has $char as underlined character +# +proc ::tk::FindAltKeyTarget {path char} { + switch [winfo class $path] { + Button - + Label { + if {[string equal -nocase $char \ + [string index [$path cget -text] \ + [$path cget -underline]]]} {return $path} else {return {}} + } + default { + foreach child \ + [concat [grid slaves $path] \ + [pack slaves $path] \ + [place slaves $path] ] { + if {""!=[set target [::tk::FindAltKeyTarget $child $char]]} { + return $target + } + } + } + } + return {} +} + +# ::tk::AltKeyInDialog -- +# event handler for standard dialogs. Sends <> +# to button or label which has appropriate underlined character +# +proc ::tk::AltKeyInDialog {path key} { + set target [::tk::FindAltKeyTarget $path $key] + if { $target == ""} return + event generate $target <> +} + +# ::tk::mcmaxamp -- +# Replacement for mcmax, used for texts with "magic ampersand" in it. +# + +proc ::tk::mcmaxamp {args} { + set maxlen 0 + foreach arg $args { + set length [string length [lindex [::tk::UnderlineAmpersand [mc $arg]] 0]] + if {$length>$maxlen} { + set maxlen $length + } + } + return $maxlen +} diff --git a/library/tkfbox.tcl b/library/tkfbox.tcl index 0522210..1a923fb 100644 --- a/library/tkfbox.tcl +++ b/library/tkfbox.tcl @@ -11,7 +11,7 @@ # files by clicking on the file icons or by entering a filename # in the "Filename:" entry. # -# RCS: @(#) $Id: tkfbox.tcl,v 1.33 2002/04/29 13:17:44 bagnonm Exp $ +# RCS: @(#) $Id: tkfbox.tcl,v 1.34 2002/06/10 00:15:42 a_kovalenko Exp $ # # Copyright (c) 1994-1998 Sun Microsystems, Inc. # @@ -979,7 +979,9 @@ proc ::tk::dialog::file::Create {w class} { # f1: the frame with the directory option menu # set f1 [frame $w.f1] - label $f1.lab -text "[mc "Directory:"]" -under 0 + bind [::tk::AmpWidget label $f1.lab -text "[mc "&Directory:"]" ] \ + <> [list focus $f1.menu] + set data(dirMenuBtn) $f1.menu set data(dirMenu) [tk_optionMenu $f1.menu [format %s(selectPath) ::tk::dialog::file::$dataName] ""] set data(upBtn) [button $f1.up] @@ -1007,18 +1009,16 @@ static char updir_bits[] = { # if { [string equal $class TkFDialog] } { if { $data(-multiple) } { - set fNameCaption "[mc {File names:}]" + set fNameCaption "[mc {File &names:}]" } else { - set fNameCaption "[mc {File name:}]" + set fNameCaption "[mc {File &name:}]" } - set fTypeCaption [mc "Files of type:"] - set fCaptionWidth [mcmax $fNameCaption $fTypeCaption] + set fTypeCaption [mc "Files of &type:"] + set fCaptionWidth [::tk::mcmaxamp $fNameCaption $fTypeCaption] set fCaptionWidth [expr {$fCaptionWidth<14?14:$fCaptionWidth}] - set fNameUnder 5 set iconListCommand [list ::tk::dialog::file::OkCmd $w] } else { - set fNameCaption [mc "Selection:"] - set fNameUnder 0 + set fNameCaption [mc "&Selection:"] set fCaptionWidth [string length $fNameCaption] set iconListCommand [list ::tk::dialog::file::chooseDir::DblClick $w] } @@ -1031,8 +1031,8 @@ static char updir_bits[] = { # f2: the frame with the OK button and the "file name" field # set f2 [frame $w.f2 -bd 0] - label $f2.lab -text $fNameCaption -anchor e -width $fCaptionWidth \ - -under $fNameUnder -pady 0 + bind [::tk::AmpWidget label $f2.lab -text $fNameCaption -anchor e -width $fCaptionWidth \ + -pady 0] <> [list focus $f2.ent] set data(ent) [entry $f2.ent] # The font to use for the icons. The default Canvas font on Unix @@ -1051,8 +1051,8 @@ static char updir_bits[] = { # use a button widget to emulate a label widget (by setting its # bindtags) - set data(typeMenuLab) [button $f3.lab -text $fTypeCaption \ - -anchor e -width $fCaptionWidth -under 9 \ + set data(typeMenuLab) [::tk::AmpWidget button $f3.lab -text $fTypeCaption \ + -anchor e -width $fCaptionWidth \ -bd [$f2.lab cget -bd] \ -highlightthickness [$f2.lab cget -highlightthickness] \ -relief [$f2.lab cget -relief] \ @@ -1060,22 +1060,23 @@ static char updir_bits[] = { -pady [$f2.lab cget -pady]] bindtags $data(typeMenuLab) [list $data(typeMenuLab) Label \ [winfo toplevel $data(typeMenuLab)] all] - set data(typeMenuBtn) [menubutton $f3.menu -indicatoron 1 \ -menu $f3.menu.m] set data(typeMenu) [menu $data(typeMenuBtn).m -tearoff 0] $data(typeMenuBtn) config -takefocus 1 -highlightthickness 2 \ -relief raised -bd 2 -anchor w + bind $data(typeMenuLab) <> [list focus \ + $data(typeMenuBtn)] } # the okBtn is created after the typeMenu so that the keyboard traversal # is in the right order - set maxWidth [mcmax OK Cancel] + set maxWidth [::tk::mcmaxamp &OK &Cancel] set maxWidth [expr {$maxWidth<6?6:$maxWidth}] - set data(okBtn) [button $f2.ok -text "[mc "OK"]" \ - -under 0 -width $maxWidth -default active -pady 3] - set data(cancelBtn) [button $f3.cancel -text "[mc "Cancel"]" \ - -under 0 -width $maxWidth -default normal -pady 3] + set data(okBtn) [::tk::AmpWidget button $f2.ok -text "[mc "&OK"]" \ + -width $maxWidth -default active -pady 3] + set data(cancelBtn) [::tk::AmpWidget button $f3.cancel -text "[mc "&Cancel"]" \ + -width $maxWidth -default normal -pady 3] # pack the widgets in f2 and f3 # @@ -1103,9 +1104,7 @@ static char updir_bits[] = { $data(upBtn) config -command [list ::tk::dialog::file::UpDirCmd $w] $data(cancelBtn) config -command [list ::tk::dialog::file::CancelCmd $w] bind $w [list tk::ButtonInvoke $data(cancelBtn)] - bind $w [list tk::ButtonInvoke $data(cancelBtn)] - bind $w [list focus $data(dirMenuBtn)] - + bind $w [list tk::AltKeyInDialog $w %A] # Set up event handlers specific to File or Directory Dialogs # @@ -1117,9 +1116,6 @@ static char updir_bits[] = { focus %s } } $data(typeMenuBtn) $data(typeMenuBtn)] - bind $w [list focus $data(ent)] - bind $w [list ::tk::dialog::file::InvokeBtn $w Open] - bind $w [list ::tk::dialog::file::InvokeBtn $w Save] } else { set okCmd [list ::tk::dialog::file::chooseDir::OkCmd $w] bind $data(ent) $okCmd @@ -1150,13 +1146,12 @@ proc ::tk::dialog::file::SetSelectMode {w multi} { set dataName __tk_filedialog upvar ::tk::dialog::file::$dataName data if { $multi } { - set fNameCaption "[mc {File names:}]" + set fNameCaption "[mc {File &names:}]" } else { - set fNameCaption "[mc {File name:}]" + set fNameCaption "[mc {File &name:}]" } - set fNameUnder 5 set iconListCommand [list ::tk::dialog::file::OkCmd $w] - $w.f2.lab configure -text $fNameCaption -under $fNameUnder + ::tk::SetAmpText $w.f2.lab $fNameCaption ::tk::IconList_Config $data(icons) \ [list -multiple $multi -command $iconListCommand] return @@ -1307,19 +1302,19 @@ rSASvJTGhnhcV3EJlo3kh53ltF5nAhQAOw==}] # Restore the Open/Save Button if this is a File Dialog # if {[string equal $data(type) open]} { - $data(okBtn) config -text "[mc "Open"]" - set maxWidth [string length [mc "Open"]] - if {$maxWidth>[$data(okBtn) cget -width]} { - $data(okBtn) config -width $maxWidth - $data(cancelBtn) config -width $maxWidth - } + ::tk::SetAmpText $data(okBtn) [mc "&Open"] + set maxWidth [::tk::mcmaxamp [mc "&Open"]] + if {$maxWidth>[$data(okBtn) cget -width]} { + $data(okBtn) config -width $maxWidth + $data(cancelBtn) config -width $maxWidth + } } else { - $data(okBtn) config -text "[mc "Save"]" - set maxWidth [string length [mc "Save"]] - if {$maxWidth>[$data(okBtn) cget -width]} { - $data(okBtn) config -width $maxWidth - $data(cancelBtn) config -width $maxWidth - } + ::tk::SetAmpText $data(okBtn) [mc "&Save"] + set maxWidth [::tk::mcmaxamp [mc "&Save"]] + if {$maxWidth>[$data(okBtn) cget -width]} { + $data(okBtn) config -width $maxWidth + $data(cancelBtn) config -width $maxWidth + } } } @@ -1508,9 +1503,9 @@ proc ::tk::dialog::file::EntFocusIn {w} { if { [string equal [winfo class $w] TkFDialog] } { # If this is a File Dialog, make sure the buttons are labeled right. if {[string equal $data(type) open]} { - $data(okBtn) config -text "[mc "Open"]" + ::tk::SetAmpText $data(okBtn) [mc "&Open"] } else { - $data(okBtn) config -text "[mc "Save"]" + ::tk::SetAmpText $data(okBtn) [mc "&Save"] } } } @@ -1710,14 +1705,14 @@ proc ::tk::dialog::file::ListBrowse {w} { if { [string equal [winfo class $w] TkFDialog] } { if {[string equal $data(type) open]} { - $data(okBtn) config -text "[mc "Open"]" + ::tk::SetAmpText $data(okBtn) [mc "&Open"] } else { - $data(okBtn) config -text "[mc "Save"]" + ::tk::SetAmpText $data(okBtn) [mc "&Save"] } } } else { if { [string equal [winfo class $w] TkFDialog] } { - $data(okBtn) config -text "[mc "Open"]" + ::tk::SetAmpText $data(okBtn) [mc "&Open"] } } } diff --git a/library/xmfbox.tcl b/library/xmfbox.tcl index e2c9194..4fec52c 100644 --- a/library/xmfbox.tcl +++ b/library/xmfbox.tcl @@ -4,7 +4,7 @@ # Unix platform. This implementation is used only if the # "::tk_strictMotif" flag is set. # -# RCS: @(#) $Id: xmfbox.tcl,v 1.19 2002/04/29 13:17:44 bagnonm Exp $ +# RCS: @(#) $Id: xmfbox.tcl,v 1.20 2002/06/10 00:15:42 a_kovalenko Exp $ # # Copyright (c) 1996 Sun Microsystems, Inc. # Copyright (c) 1998-2000 Scriptics Corporation @@ -323,7 +323,8 @@ proc ::tk::MotifFDialog_BuildUI {w} { # The Filter box # - label $f1.lab -text [mc "Filter:"] -under 3 -anchor w + bind [::tk::AmpWidget label $f1.lab -text [mc "Fil&ter:"] -anchor w] \ + <> [list focus $f1.ent] entry $f1.ent pack $f1.lab -side top -fill x -padx 6 -pady 4 pack $f1.ent -side top -fill x -padx 4 -pady 0 @@ -332,13 +333,14 @@ proc ::tk::MotifFDialog_BuildUI {w} { # The file and directory lists # set data(dList) [MotifFDialog_MakeSList $w $f2a \ - [mc "Directory:"] 0 DList] + [mc "&Directory:"] DList] set data(fList) [MotifFDialog_MakeSList $w $f2b \ - [mc "Files:"] 2 FList] + [mc "Fi&les:"] FList] # The Selection box # - label $f3.lab -text [mc "Selection:"] -under 0 -anchor w + bind [::tk::AmpWidget label $f3.lab -text [mc "&Selection:"] -anchor w] \ + <> [list focus $f3.ent] entry $f3.ent pack $f3.lab -side top -fill x -padx 6 -pady 0 pack $f3.ent -side top -fill x -padx 4 -pady 4 @@ -346,16 +348,16 @@ proc ::tk::MotifFDialog_BuildUI {w} { # The buttons # - set maxWidth [mcmax OK Filter Cancel] + set maxWidth [::tk::mcmaxamp &OK &Filter &Cancel] set maxWidth [expr {$maxWidth<6?6:$maxWidth}] - set data(okBtn) [button $bot.ok -text [mc "OK"] \ - -width $maxWidth -under 0 \ + set data(okBtn) [::tk::AmpWidget button $bot.ok -text [mc "&OK"] \ + -width $maxWidth \ -command [list tk::MotifFDialog_OkCmd $w]] - set data(filterBtn) [button $bot.filter -text [mc "Filter"] \ - -width $maxWidth -under 0 \ + set data(filterBtn) [::tk::AmpWidget button $bot.filter -text [mc "&Filter"] \ + -width $maxWidth \ -command [list tk::MotifFDialog_FilterCmd $w]] - set data(cancelBtn) [button $bot.cancel -text [mc "Cancel"] \ - -width $maxWidth -under 0 \ + set data(cancelBtn) [::tk::AmpWidget button $bot.cancel -text [mc "&Cancel"] \ + -width $maxWidth \ -command [list tk::MotifFDialog_CancelCmd $w]] pack $bot.ok $bot.filter $bot.cancel -padx 10 -pady 10 -expand yes \ @@ -363,14 +365,7 @@ proc ::tk::MotifFDialog_BuildUI {w} { # Create the bindings: # - bind $w [list focus $data(fEnt)] - bind $w [list focus $data(dList)] - bind $w [list focus $data(fList)] - bind $w [list focus $data(sEnt)] - - bind $w [list tk::ButtonInvoke $bot.ok] - bind $w [list tk::ButtonInvoke $bot.filter] - bind $w [list tk::ButtonInvoke $bot.cancel] + bind $w [list ::tk::AltKeyInDialog $w %A] bind $data(fEnt) [list tk::MotifFDialog_ActivateFEnt $w] bind $data(sEnt) [list tk::MotifFDialog_ActivateSEnt $w] @@ -405,8 +400,9 @@ proc ::tk::MotifFDialog_SetListMode {w} { # cmdPrefix Specifies procedures to call when the listbox is # browsed or activated. -proc ::tk::MotifFDialog_MakeSList {w f label under cmdPrefix} { - label $f.lab -text $label -under $under -anchor w +proc ::tk::MotifFDialog_MakeSList {w f label cmdPrefix} { + bind [::tk::AmpWidget label $f.lab -text $label -anchor w] \ + <> [list focus $f.l] listbox $f.l -width 12 -height 5 -exportselection 0\ -xscrollcommand [list $f.h set] -yscrollcommand [list $f.v set] scrollbar $f.v -orient vertical -takefocus 0 -command [list $f.l yview] -- cgit v0.12