📄 debitcard-multi-lang-cisco.1.1.0.2.tcl
字号:
# Script Locked by: CiscoOfficial# Script Version: 1.1.0.2# Script Name: # Script Lock Date: Mon Apr 23 11:15:56 2001# debitcard-multi-lang-Cisco.tcl#------------------------------------------------------------------# May 23, 2000 Thomas Warlan## Copyright (c) 2001 by Cisco Systems, Inc.# All rights reserved.#------------------------------------------------------------------## Description: ## The debitcard application handles language exception for the # dynamic prompts for languages:# th - Thai# ja - Japanese# ru - Russian# ca - Cantonese# Languages English (en), Mandarin (ch) and Spanish (sp) are handled# as before.## Corrected when [set prefix]_and.au is used between# dollars and cents based on language constraints.# th, ja, and ca do not use it to concatenate## Added code for redirect number and not allow zero balance# calls to be placed.### Modified code to end if user has zero balance in account## Modified creditTime conversion in do_creditTime_prompt to build# minutes for two digit number.## Fix playPrompt of warnTime in do_active_timer## Modify to handle VSA 52 with redirect number and# CLI configured operator number## Modify for CSCds21366# Fix to playout No Lang Selected when timeout# after an invalid selection## Modify for CSCdu06754# Fix error in proc do_active_timer# {timeout} state had error -regex# should be -regexp#proc do_tens {} { global prompt global prefix global numbers global len global gender if {$numbers(tens) != 0} { switch -regexp $prefix { {th} {if {$len == 1} { lappend prompt "[set prefix]_$numbers(tens).au" } else {set seperate [split $numbers(tens) ""] switch -regexp $numbers(tens) { {00} { } {10} {lappend prompt "[set prefix]_$numbers(tens).au"} {[0][1-9]} {lappend prompt "[set prefix]_[lindex $seperate 1].au"} {[1][1-9]} {lappend prompt "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au" } {[2][0]} {lappend prompt "[set prefix]_20.au"} {[2][1-9]} {lappend prompt "[set prefix]_20.au" "[set prefix]_[lindex $seperate 1].au"} {[3-9][0]} {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au"} default {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au"} } } } {ca} {if {$len == 1} { lappend prompt "[set prefix]_$numbers(tens).au" } else {set seperate [split $numbers(tens) ""] switch -regexp $numbers(tens) { {00} { } {[0][1-9]} {lappend prompt "[set prefix]_0.au" "[set prefix]_[lindex $seperate 1].au"} {10} {if {$len >= 3} { lappend prompt "[set prefix]_1.au" "[set prefix]_10.au" } else { lappend prompt "[set prefix]_10.au" } } {[1][1-9]} {lappend prompt "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au" } {[2-9][0]} {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au"} default {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au"} } } } {ru} {if {[string length $numbers(tens)] == 1} { switch -regexp $numbers(tens) { {0} { } {1-2} {lappend prompt "[set prefix]_$numbers(tens)_[set gender].au"} default {lappend prompt "[set prefix]_$numbers(tens).au"} } } else { set seperate [split $numbers(tens) ""] switch -regexp $numbers(tens) { {00} { } {[0][1-2]} {lappend prompt "[set prefix]_[lindex $seperate 1]_[set gender].au"} {[0][3-9]} {lappend prompt "[set prefix]_[lindex $seperate 1].au"} {[1][1-9]} {lappend prompt "[set prefix]_$numbers(tens).au"} {[2-9][1-2]} {lappend prompt "[set prefix]_$numbers(tens)_[set gender].au"} {[1-9][0]} {lappend prompt "[set prefix]_[lindex $seperate 0]0.au"} default {lappend prompt "[set prefix]_[lindex $seperate 0]0.au" "[set prefix]_[lindex $seperate 1].au"} } } } default {if {$len == 1} { switch -regexp $numbers(tens) { {0} { } default {lappend prompt "[set prefix]_$numbers(tens).au"} } } else {set seperate [split $numbers(tens) ""] switch -regexp $numbers(tens) { {00} { } {[0][1-9]} {lappend prompt "[set prefix]_[lindex $seperate 1].au"} default {lappend prompt "[set prefix]_$numbers(tens).au"} } } } } } return 0}proc do_hundreds {} { global prompt global prefix global numbers if {$numbers(hundreds) == 0} { switch -regexp $prefix { {ca} {if { ($numbers(thousands) >= 1 ) && ( $numbers(tens) >= 10 ) } { lappend prompt "[set prefix]_0.au" } else { return 0 } } default {return 0} } } else { switch -regexp $prefix { {ru} {lappend prompt "[set prefix]_$numbers(hundreds)00.au"} {ja} {switch -regexp $numbers(hundreds) { 1 {lappend prompt "[set prefix]_hyaku.au"} 3 {lappend prompt "[set prefix]_san_byaku.au"} 6 {lappend prompt "[set prefix]_ro_pyaku.au"} 8 {lappend prompt "[set prefix]_happyaku.au"} default {lappend prompt "[set prefix]_$numbers(hundreds).au" "[set prefix]_hyaku.au"} } } default {lappend prompt "[set prefix]_$numbers(hundreds).au" "[set prefix]_hundred.au"} } } return 0}proc do_thousands {} { global prompt global prefix global numbers global len if {$numbers(thousands) == 0} { switch -regexp $prefix { {ca} {if {($numbers(hundreds) == 0) && ($numbers(tens) >= 10) } { lappend prompt "[set prefix]_0.au" } } {th} - {ja} { } {ru} {lappend prompt "[set prefix]_5-20_thousand.au"} default {lappend prompt "[set prefix]_thousand.au"} } } else { switch -regexp $prefix { {th} {if {$len == 4} { lappend prompt "[set prefix]_$numbers(thousands).au" "[set prefix]_thousand.au" } else { set seperate [split $numbers(thousands) ""] switch -regexp $numbers(thousands) { {00} { } {[0][1-9]} {lappend prompt "[set prefix]_[lindex $seperate 1].au" "[set prefix]_thousand.au"} {[1-9][0]} {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_ten_thousand.au"} default {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_ten_thousand.au" "[set prefix]_[lindex $seperate 1].au" "[set prefix]_thousand.au"} } } } {ja} {switch -regexp $numbers(thousands) { 1 {lappend prompt "[set prefix]_thousand.au"} 3 {lappend prompt "[set prefix]_san_zen.au"} 8 {lappend prompt "[set prefix]_ha_ssen.au"} default {lappend prompt "[set prefix]_$numbers(thousands).au" "[set prefix]_thousand.au"} } } {ru} {if {$len == 4} { switch -regexp $numbers(thousands) { 1 {lappend prompt "[set prefix]_thousand.au"} 2 {lappend prompt "[set prefix]_$numbers(thousands)_f.au" "[set prefix]_2-4_thousand.au"} {[3-4]} {lappend prompt "[set prefix]_$numbers(thousands).au" "[set prefix]_2-4_thousand.au"} default {lappend prompt "[set prefix]_$numbers(thousands).au" "[set prefix]_5-20_thousand.au"} } } else { set seperate [split $numbers(thousands) ""] switch -regexp $numbers(thousands) { {00} {lappend prompt "[set prefix]_5-20_thousand.au"} {01} {lappend prompt "[set prefix]_thousand.au"} {02} {lappend prompt lappend prompt "[set prefix]_[lindex $seperate 1]_f.au" "[set prefix]_2-4_thousand.au"} {[0][3-4]} {lappend prompt lappend prompt "[set prefix]_[lindex $seperate 1].au" "[set prefix]_2-4_thousand.au"} {[0][5-9]} {lappend prompt lappend prompt "[set prefix]_[lindex $seperate 1].au" "[set prefix]_5-20_thousand.au"} {[1-9][0]} {lappend prompt "[set prefix]_[lindex $seperate 0]0.au" "[set prefix]_5-20_thousand.au"} {[1][1-9]} {lappend prompt "[set prefix]_$numbers(thousands).au" "[set prefix]_5-20_thousand.au"} {[2-9][1]} {lappend prompt "[set prefix]_$numbers(thousands)_f.au" "[set prefix]_thousand.au"} {[2-9][2]} {lappend prompt "[set prefix]_$numbers(thousands)_f.au" "[set prefix]_2-4_thousand.au"} {[2-9][3-4]} {lappend prompt "[set prefix]_[lindex $seperate 0]0.au" "[set prefix]_[lindex $seperate 1].au" "[set prefix]_2-4_thousand.au"} {[2-9][5-9]} {lappend prompt "[set prefix]_[lindex $seperate 0]0.au" "[set prefix]_[lindex $seperate 1].au" "[set prefix]_5-20_thousand.au"} } } } default {lappend prompt "[set prefix]_$numbers(thousands).au" "[set prefix]_thousand.au"} } } return 0}proc do_hthousands {} { global prompt global prefix global numbers set hlen [string length $numbers(hthousands)] switch -regexp $prefix { {th} {lappend prompt "[set prefix]_$numbers(hthousands).au" "[set prefix]_hundred_thousand.au"} {ca} {if {$hlen == 1} { lappend prompt "[set prefix]_$numbers(hthousands).au" "[set prefix]_man.au" } else {set seperate [split $numbers(hthousands) ""] switch -regexp $numbers(hthousands) { {10} {lappend prompt "[set prefix]_10.au" "[set prefix]_man.au"} {[1][1-9]} {lappend prompt "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au" "[set prefix]_man.au"} {[2-9][0]} {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au" "[set prefix]_man.au"} default {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au" "[set prefix]_man.au"} } } } {ja} {switch $numbers(hthousands) { 1 {lappend prompt "[set prefix]_ichi_man.au"} default {lappend prompt "[set prefix]_$numbers(hthousands).au" "[set prefix]_man.au"} } } {ru} {lappend prompt "[set prefix]_$numbers(hthousands)00.au"} default {lappend prompt "[set prefix]_$numbers(hthousands).au" "[set prefix]_hundred.au"} } return 0}proc do_whole_part {} { global amt global prefix global prompt global numbers global len global newlist set numbers(tens) "" set numbers(hundreds) "" set numbers(thousands) "" set numbers(hthousands) "" set len [string length [lindex $newlist 0]] set seperate [split [lindex $newlist 0] ""] puts "\t\t**** TTS whole part: [lindex $newlist 0]"# Do the number group translation switch -regexp $len { {1} {set numbers(tens) [lindex $seperate 0] } {2} {set numbers(tens) [join [list [lindex $seperate 0] [lindex $seperate 1]] "" ] } {3} {set numbers(hundreds) [lindex $seperate 0] set numbers(tens) [join [list [lindex $seperate 1] [lindex $seperate 2]] "" ] } {4} {set numbers(thousands) [lindex $seperate 0] set numbers(hundreds) [lindex $seperate 1] set numbers(tens) [join [list [lindex $seperate 2] [lindex $seperate 3]] "" ] } {5} {switch -regexp $prefix { {ca} - {ja} {set numbers(hthousands) [lindex $seperate 0] set numbers(thousands) [lindex $seperate 1] } default {set numbers(thousands) [join [list [lindex $seperate 0] [lindex $seperate 1]] "" ]} } set numbers(hundreds) [lindex $seperate 2] set numbers(tens) [join [list [lindex $seperate 3] [lindex $seperate 4]] "" ] } {6} {switch -regexp $prefix { {ca} - {ja} {set numbers(hthousands) [join [list [lindex $seperate 0] [lindex $seperate 1]] "" ] set numbers(thousands) [lindex $seperate 2] } default {set numbers(hthousands) [lindex $seperate 0] set numbers(thousands) [join [list [lindex $seperate 1] [lindex $seperate 2]] "" ] } } set numbers(hundreds) [lindex $seperate 3] set numbers(tens) [join [list [lindex $seperate 4] [lindex $seperate 5]] "" ] } } foreach index {hthousands thousands hundreds tens} { if {[string compare $numbers($index) ""] != 0} { puts "\t\t**** Executing do_$index $numbers($index)" do_$index } } return 0}proc do_decimal_part {} { global newlist global prompt global prefix global gender# Do the decimal translation puts "\t\t*** TTS decimal part: [lindex $newlist 1]" switch -regexp $prefix { {th} {if {[string length [lindex $newlist 1]] == 1} { switch -regexp [lindex $newlist 1] { {0} { } default {lappend prompt "[set prefix]_[lindex $newlist 1]0.au"} } } else {set seperate [split [lindex $newlist 1] ""] switch -regexp [lindex $newlist 1] { {00} { } {[0][1-9]} {lappend prompt "[set prefix]_[lindex $seperate 1].au"} {10} {lappend prompt "[set prefix]_[lindex $newlist 1].au"} {[1][1-9]} {lappend prompt "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au" } {[2][0]} {lappend prompt "[set prefix]_20.au"} {[2][1-9]} {lappend prompt "[set prefix]_20.au" "[set prefix]_[lindex $seperate 1].au"} {[3-9][0]} {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au"} default {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au"} } } } {ca} {if {[string length [lindex $newlist 1]] == 1} { switch -regexp [lindex $newlist 1] { {0} { } default {lappend prompt "[set prefix]_[lindex $newlist 1]0.au"} } } else {set seperate [split [lindex $newlist 1] ""] switch -regexp [lindex $newlist 1] { {00} { } {[0][1-9]} {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_[lindex $seperate 1].au"} {[1][1-9]} {lappend prompt "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au" } {[2-9][0]} {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au"} default {lappend prompt "[set prefix]_[lindex $seperate 0].au" "[set prefix]_10.au" "[set prefix]_[lindex $seperate 1].au"} } } } {ru} {if {( [lindex $newlist 0] > 0 ) && ( [lindex $newlist 1] > 0 ) } { lappend prompt "[set prefix]_and.au" } if {[string length [lindex $newlist 1]] == 1} { switch -regexp [lindex $newlist 1] { {0} { } default {lappend prompt "[set prefix]_[lindex $newlist 1]0.au"} } } else { set seperate [split [lindex $newlist 1] ""] switch -regexp [lindex $newlist 1] { {00} { } {[0][1-2]} {lappend prompt "[set prefix]_[lindex $seperate 1]_[set gender].au"} {[0][3-9]} {lappend prompt "[set prefix]_[lindex $seperate 1].au"} {[1][1-9]} {lappend prompt "[set prefix]_[lindex $newlist 1].au"} {[2-9][1-2]} {lappend prompt "[set prefix]_[lindex $newlist 1]_[set gender].au"} {[1-9][0]} {lappend prompt "[set prefix]_[lindex $seperate 0]0.au"} default {lappend prompt "[set prefix]_[lindex $seperate 0]0.au" "[set prefix]_[lindex $seperate 1].au"} } } } default {if { ( [lindex $newlist 0] > 0 ) && ( [lindex $newlist 1] > 0 ) } { lappend prompt "[set prefix]_and.au" } if {[string length [lindex $newlist 1]] == 1} { switch -regexp [lindex $newlist 1] { {0} { } default {lappend prompt "[set prefix]_[lindex $newlist 1]0.au"} } } else {set seperate [split [lindex $newlist 1] ""] switch -regexp [lindex $newlist 1] { {00} { } {[0][1-9]} {lappend prompt "[set prefix]_[lindex $seperate 1].au"} default {lappend prompt "[set prefix]_[lindex $newlist 1].au"} } } } } return 0}proc do_select_language {} {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -