Index: openacs-4/packages/acs-lang/www/admin/batch-editor.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/batch-editor.tcl,v diff -u -r1.2 -r1.3 --- openacs-4/packages/acs-lang/www/admin/batch-editor.tcl 3 Dec 2002 17:27:23 -0000 1.2 +++ openacs-4/packages/acs-lang/www/admin/batch-editor.tcl 8 Aug 2003 12:21:28 -0000 1.3 @@ -3,32 +3,32 @@ @author Christian Hvid } { - locales + locale package_key {page_start 0} {page_end 10} } -properties { } -if { ![info exists locales] } { +if { ![info exists locale] } { set current_locale [ad_conn locale] } else { - set current_locale $locales + set current_locale $locale } db_1row select_locale_lable { select label as locale_label from ad_locales where locale = :current_locale } set tab [ns_urlencode "localized-messages"] -set return_url "display-grouped-messages?tab=$tab&locales=$locales" +set return_url "display-grouped-messages?tab=$tab&locale=$locale" set context_bar [ad_context_bar [list $return_url Listing] "Batch Editor - $package_key"] form create batch_editor # export variables -element create batch_editor locales -widget hidden -datatype text -value $locales +element create batch_editor locale -widget hidden -datatype text -value $locale element create batch_editor package_key -widget hidden -datatype text -value $package_key element create batch_editor page_start -widget hidden -datatype text -value $page_start element create batch_editor page_end -widget hidden -datatype text -value $page_end @@ -39,43 +39,46 @@ set count 0 set keys [list] set displayed_keys [list] -db_foreach get_messages { - select lm1.message_key as message_key, - lm1.message as default_message - from lang_messages lm1 - where lm1.locale = 'en_US' and - lm1.package_key = :package_key - order by upper(lm1.message_key) -} { - lappend keys [string tolower $message_key] - if {($count >= $page_start) && ($count < $page_end)} { - set translated_message "TRANSLATION MISSING" - db_0or1row get_translated_message { - select message as translated_message - from lang_messages - where package_key =:package_key and - message_key =:message_key and - locale =:current_locale - } - lappend displayed_keys $message_key - element create batch_editor "message_key_$count" -widget hidden -datatype text - element create batch_editor "message_key_info_$count" -widget inform -datatype text -label "key" - element create batch_editor "en_us_message_$count" -widget inform -datatype text -label "American" - element create batch_editor "message_$count" -widget textarea -datatype text -label $locale_label -html {cols 60 rows 4} - element set_properties batch_editor "message_key_$count" -value $message_key - element set_properties batch_editor "message_key_info_$count" -value "$message_key" - element set_properties batch_editor "en_us_message_$count" -value "[ad_quotehtml $default_message]" - if { [form is_request batch_editor] } { - element set_properties batch_editor "message_$count" -value $translated_message - } - } +set default_locale en_US +set default_locale_label [ad_locale_get_label $default_locale] +set keys [util_memoize [list db_list get_keys "select message_key from lang_message_keys where package_key = '[db_quote $package_key]' order by upper(message_key)"]] +set keys [db_list get_keys "select message_key from lang_message_keys where package_key = '[db_quote $package_key]' order by upper(message_key)"] + +set total [llength $keys] + +# TODO: Oracle +db_foreach get_messages {} { + lappend displayed_keys $message_key + element create batch_editor "message_key_$count" -widget hidden -datatype text + + element create batch_editor "message_key_info_$count" -widget inform -datatype text -label "Key" + + element create batch_editor "en_us_message_$count" -widget inform -datatype text -label $default_locale_label + + if { [string length $translated_message] > 150 } { + set html { cols 80 rows 15 } + } else { + set html { cols 60 rows 4 } + } + element create batch_editor "message_$count" -widget textarea -datatype text -label $locale_label -html $html + + element set_value batch_editor "message_key_$count" $message_key + + element set_value batch_editor "message_key_info_$count" "$message_key" + + element set_properties batch_editor "en_us_message_$count" -value "[ad_quotehtml $default_message]" + + if { [form is_request batch_editor] } { + element set_properties batch_editor "message_$count" -value [ad_decode $translated_message "" "TRANSLATION MISSING" $translated_message] + } + incr count } -set total $count + # create pagination multiple multirow create pagination text hint url selected group @@ -84,12 +87,22 @@ if { $end_page > [expr $total-1] } { set end_page [expr $total-1] } - if { ([string range [lindex $keys $count] 0 2] == "lt_") && ([string range [lindex $keys $end_page] 0 2] == "lt_") } { - set text "[string range [lindex $keys $count] 2 4] - [string range [lindex $keys $end_page] 2 4]" + + + set text {} + if { [string match "lt_*" [lindex $keys $count]] } { + append text [string range [lindex $keys $count] 3 5] } else { - set text "[string range [lindex $keys $count] 0 2] - [string range [lindex $keys $end_page] 0 2]" + append text [string range [lindex $keys $count] 0 2] } - multirow append pagination $text "[lindex $keys $count] - [lindex $keys $end_page]" "batch-editor?page_start=$count&page_end=[expr $count+10]&locales=$locales&package_key=$package_key" [expr $count == $page_start] [expr $count / 100] + append text " - " + if { [string match "lt_*" [lindex $keys $end_page]] } { + append text [string range [lindex $keys $end_page] 3 5] + } else { + append text [string range [lindex $keys $end_page] 0 2] + } + + multirow append pagination $text "[lindex $keys $count] - [lindex $keys $end_page]" "batch-editor?page_start=$count&page_end=[expr $count+10]&locale=$locale&package_key=$package_key" [expr $count == $page_start] [expr $count / 100] } # is this a valid submit? then register the messages @@ -101,7 +114,7 @@ set message [element get_value batch_editor "message_$count"] if { $message != "TRANSLATION MISSING" } { - lang::message::register $locales $package_key $message_key $message + lang::message::register $locale $package_key $message_key $message } } }