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
}
}
}