Index: openacs-4/packages/acs-lang/www/admin/audit-include.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/audit-include.adp,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-lang/www/admin/audit-include.adp 11 Aug 2003 16:16:21 -0000 1.2 +++ openacs-4/packages/acs-lang/www/admin/audit-include.adp 14 Aug 2003 16:06:20 -0000 1.3 @@ -1,7 +1,4 @@ -

- Translation History: -

+ +

+ No changes or comments. +

+
Index: openacs-4/packages/acs-lang/www/admin/audit-include.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/audit-include.tcl,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-lang/www/admin/audit-include.tcl 11 Aug 2003 16:16:21 -0000 1.2 +++ openacs-4/packages/acs-lang/www/admin/audit-include.tcl 14 Aug 2003 16:06:20 -0000 1.3 @@ -21,7 +21,7 @@ multirow append audit_inv \ $overwrite_user \ $overwrite_user_name \ - [lc_time_fmt $overwrite_date "%x %Xb"] \ + [lc_time_fmt $overwrite_date "%x %X"] \ $old_message \ $new_message \ "$old_message,$new_message" \ Index: openacs-4/packages/acs-lang/www/admin/batch-editor-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/batch-editor-oracle.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-lang/www/admin/batch-editor-oracle.xql 8 Aug 2003 12:21:28 -0000 1.1 +++ openacs-4/packages/acs-lang/www/admin/batch-editor-oracle.xql 14 Aug 2003 16:06:20 -0000 1.2 @@ -11,15 +11,20 @@ from (select lm1.message_key, lm1.package_key, lm1.message as default_message, - lm2.message as translated_message + lm2.message as translated_message, + lmk.description from lang_messages lm1, - lang_messages lm2 + lang_messages lm2, + lang_message_keys lmk where lm1.locale = :default_locale and lm2.locale (+) = :locale and lm2.message_key (+) = lm1.message_key and lm2.package_key (+) = lm1.package_key + and lm1.message_key = lmk.message_key + and lm1.package_key = lmk.package_key and lm1.package_key = :package_key - order by upper(lm1.message_key) + $where_clause + order by upper(lm1.message_key), lm1.message_key ) q ) q2 where inner_rownum between :page_start + 1 and :page_start + 10 Index: openacs-4/packages/acs-lang/www/admin/batch-editor-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/batch-editor-postgresql.xql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-lang/www/admin/batch-editor-postgresql.xql 8 Aug 2003 12:21:28 -0000 1.1 +++ openacs-4/packages/acs-lang/www/admin/batch-editor-postgresql.xql 14 Aug 2003 16:06:20 -0000 1.2 @@ -8,12 +8,17 @@ select lm1.message_key, lm1.package_key, lm1.message as default_message, - coalesce(lm2.message, 'TRANSLATION MISSING') as translated_message + lm2.message as translated_message, + lmk.description from lang_messages lm1 left outer join - lang_messages lm2 on (lm2.locale = :locale and lm2.message_key = lm1.message_key and lm2.package_key = lm1.package_key) + lang_messages lm2 on (lm2.locale = :locale and lm2.message_key = lm1.message_key and lm2.package_key = lm1.package_key), + lang_message_keys lmk where lm1.locale = :default_locale and lm1.package_key = :package_key - order by upper(lm1.message_key) + and lm1.message_key = lmk.message_key + and lm1.package_key = lmk.package_key + $where_clause + order by upper(lm1.message_key), lm1.message_key offset $page_start limit 10 Index: openacs-4/packages/acs-lang/www/admin/batch-editor.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/batch-editor.adp,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-lang/www/admin/batch-editor.adp 8 Aug 2003 12:21:28 -0000 1.4 +++ openacs-4/packages/acs-lang/www/admin/batch-editor.adp 14 Aug 2003 16:06:20 -0000 1.5 @@ -1,50 +1,62 @@ - - Localized Messages - @context_bar;noquote@ + + @page_title@ + @context;noquote@ -

You are editing locale: @locale_label@ [ @current_locale@ ]

+

+ Show: + + | + @show_opts.label@ (@show_opts.count@) + @show_opts.label@ (@show_opts.count@) + +

- -

- - - - - - - - - -
@pagination.text@ - - - - @pagination.text@ - -
-

+ + No messages + + +

+ + + + + + + + + +
@pagination.text@ + + + + @pagination.text@ + +
+

+
- + + - -

- - - - - - - - - -
@pagination.text@ - - - - @pagination.text@ - -
-

-
- + +

+ + + + + + + + + +
@pagination.text@ + + + + @pagination.text@ + +
+

+
+
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 -N -r1.3 -r1.4 --- openacs-4/packages/acs-lang/www/admin/batch-editor.tcl 8 Aug 2003 12:21:28 -0000 1.3 +++ openacs-4/packages/acs-lang/www/admin/batch-editor.tcl 14 Aug 2003 16:06:20 -0000 1.4 @@ -5,83 +5,246 @@ } { locale package_key + {show "all"} {page_start 0} - {page_end 10} -} -properties { } -if { ![info exists locale] } { - set current_locale [ad_conn locale] -} else { - set current_locale $locale +# We rename to avoid conflict in queries +set current_locale $locale +set default_locale en_US + +set locale_label [ad_locale_get_label $current_locale] +set default_locale_label [ad_locale_get_label $default_locale] + +set page_title "Batch edit messages" +set context [list [list "package-list?[export_vars { locale }]" $locale_label] \ + [list "message-list?[export_vars { locale package_key show }]" $package_key] \ + $page_title] + + + + + +# TODO: PG + + + + +##### +# +# Handle filtering +# +##### + +# LARS: The reason I implemented this overly complex way of doing it is that I was just about to +# merge this page with messages-search ... + +set where_clauses [list] +set keys_where_clauses [list] + +switch -exact $show { + translated { + lappend where_clauses {lm2.message is not null} + lappend keys_where_clauses {exists (select 1 + from lang_messages lm + where lm.package_key = lmk.package_key + and lm.message_key = lmk.message_key + and lm.locale = :current_locale)} + } + untranslated { + lappend where_clauses {lm2.message is null} + lappend keys_where_clauses {not exists (select 1 + from lang_messages lm + where lm.package_key = lmk.package_key + and lm.message_key = lmk.message_key + and lm.locale = :current_locale)} + } } +set where_clause {} +set keys_where_clause {} -db_1row select_locale_lable { - select label as locale_label from ad_locales where locale = :current_locale +if { [llength $where_clauses] > 0 } { + set where_clause "and [join $where_clauses "\n and "]" } +if { [llength $keys_where_clauses] > 0 } { + set keys_where_clause "and [join $keys_where_clauses "\n and "]" +} -set tab [ns_urlencode "localized-messages"] -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 +##### +# +# Counting messages +# +##### -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 +db_1row counts { + select (select count(*) from lang_messages where package_key = :package_key and locale = :locale) as num_translated, + (select count(*) from lang_message_keys where package_key = :package_key) as num_messages + from dual +} +set num_untranslated [expr $num_messages - $num_translated] -# use a counter for pagination etc. -# this works with both oracle and postgresql +set num_messages_pretty [lc_numeric $num_messages] +set num_translated_pretty [lc_numeric $num_translated] +set num_untranslated_pretty [lc_numeric $num_untranslated] -set count 0 -set keys [list] -set displayed_keys [list] -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)"] + +##### +# +# Initialize pagination +# +##### + + +set keys [db_list get_keys " + select lmk.message_key + from lang_message_keys lmk + where lmk.package_key = :package_key + $keys_where_clause + order by upper(lmk.message_key), lmk.message_key +"] + set total [llength $keys] +set page_end [expr $page_start + 10] -# TODO: Oracle + + + + +##### +# +# Build the form +# +##### + +set edit_buttons [list] + +if { ![string equal $show "untranslated"] && $page_start > 0 } { + lappend edit_buttons { "< Update and back" "prev" } +} + +lappend edit_buttons { "Update" "ok" } + +if { ![string equal $show "untranslated"] && $page_end < [expr $total-10] } { + lappend edit_buttons { "Update and next >" "next" } +} + +ad_form -name batch_editor -edit_buttons $edit_buttons -form { + {locale:text(hidden) {value $locale}} + {package_key:text(hidden) {value $package_key}} + {page_start:integer(hidden),optional} + {show:text(hidden),optional} +} + +# Each message has the following fields: +# +# message_key_x:text(hidden) +# message_key_pretty_x:text(inform) +# description_x:text(inform) +# default_locale_message_x:text(textarea) +# message_x:text(textarea) +# org_message_x:text(hidden) + + +set count $page_start db_foreach get_messages {} { - lappend displayed_keys $message_key - element create batch_editor "message_key_$count" -widget hidden -datatype text + ad_form -extend -name batch_editor -form \ + [list [list "message_key_$count:text(hidden)" {value $message_key}]] - element create batch_editor "message_key_info_$count" -widget inform -datatype text -label "Key" + set message_url "edit-localized-message?[export_vars { locale package_key message_key show }]" + + ad_form -extend -name batch_editor -form \ + [list [list "message_key_pretty_$count:text(inform)" \ + {label "Message Key"} \ + {value "$package_key.$message_key"} \ + {section "$package_key.$message_key"}]] - element create batch_editor "en_us_message_$count" -widget inform -datatype text -label $default_locale_label + if { ![empty_string_p $description] } { + set description_edit_url "edit-description?[export_vars { locale package_key message_key show }]" + set description "[ad_text_to_html -- $description] [subst { (edit)}]" + + ad_form -extend -name batch_editor -form \ + [list [list "description_$count:text(inform),optional" \ + {label "Description"} \ + {value $description}]] + } + + if { ![string equal $current_locale $default_locale] } { + ad_form -extend -name batch_editor -form \ + [list [list "default_locale_message_$count:text(inform),optional" \ + {label $default_locale_label} \ + {value {[ad_quotehtml $default_message]}}]] + } - if { [string length $translated_message] > 150 } { + if { [string length $translated_message] > 80 } { set html { cols 80 rows 15 } } else { - set html { cols 60 rows 4 } + set html { cols 60 rows 2 } } - element create batch_editor "message_$count" -widget textarea -datatype text -label $locale_label -html $html + + ad_form -extend -name batch_editor -form \ + [list [list "org_message_$count:text(hidden),optional"]] + + ad_form -extend -name batch_editor -form \ + [list [list "message_$count:text(textarea),optional" {label $locale_label} {html $html}]] + + # We set this as a local variable, so that ad_form's normal system works + set message_$count $translated_message - 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 } +ad_form -extend -name batch_editor -on_request { + # Set from local vars +} -on_submit { -# create pagination multiple + for { set i $page_start } { $i < $page_end && $i < $total } { incr i } { + + if { ![string equal [set org_message_$i] [set message_$i]] } { + lang::message::register $current_locale $package_key \ + [set message_key_$i] \ + [set message_$i] + } + } + set button [form::get_button batch_editor] + + if { ![string equal $button "ok"] } { + switch $button { + prev { + set page_start [expr $page_start - 10] + if { $page_start < 0 } { + set page_start 0 + } + } + next { + set page_start [expr $page_start + 10] + if { $page_start > $total } { + set page_start [expr $total - ($total % 10)] + } + } + } + } + + ad_returnredirect "[ad_conn url]?[export_vars { locale package_key show page_start }]" + ad_script_abort +} + + + +##### +# +# Slider for pagination +# +##### + multirow create pagination text hint url selected group + for {set count 0} {$count < $total} {incr count 10 } { set end_page [expr $count + 9] if { $end_page > [expr $total-1] } { @@ -102,19 +265,38 @@ 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] + multirow append pagination \ + $text \ + "[lindex $keys $count] - [lindex $keys $end_page]" \ + "batch-editor?[export_vars { { page_start $count } locale package_key show }]" \ + [expr $count == $page_start] \ + [expr $count / 100] } -# is this a valid submit? then register the messages -if { [form is_valid batch_editor] } { - for {set count $page_start} {($count < $page_end) && ($count < $total)} {incr count} { - # Register message via acs-lang - set message_key [element get_value batch_editor "message_key_$count"] - set message [element get_value batch_editor "message_$count"] - if { $message != "TRANSLATION MISSING" } { - lang::message::register $locale $package_key $message_key $message - } + + +##### +# +# Slider for 'show' options +# +##### + +multirow create show_opts value label count + +multirow append show_opts "all" "All" $num_messages_pretty +multirow append show_opts "translated" "Translated" $num_translated_pretty +multirow append show_opts "untranslated" "Untranslated" $num_untranslated_pretty + +multirow extend show_opts url selected_p + +multirow foreach show_opts { + set selected_p [string equal $show $value] + if { [string equal $value "all"] } { + set url "[ad_conn url]?[export_vars { locale package_key }]" + } else { + set url "[ad_conn url]?[export_vars { locale package_key {show $value} }]" } } + Index: openacs-4/packages/acs-lang/www/admin/display-grouped-messages.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/display-grouped-messages.adp,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/display-grouped-messages.adp 8 Aug 2003 12:21:28 -0000 1.7 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,155 +0,0 @@ - - @page_title;noquote@ - @context_bar;noquote@ - -
- -

Your locale is @locale_label@ [ @current_locale@ ]

- -

- » Search localized messages -

- - - -

Note from the system: NO messages need to be translated. Job well done :-)

- -
- - - - - - - -
- - - - - - - -
- - - - - - - -
All Packages
- - - - -
- - - - - - - - - - - -
PackageAction
@all_packages_group.package_key@ - (batch edit) - - (new message key) - -
-
-
-
-
- - - - - - - -
- - - - - - - -
Need Translation
- - - - -
- - - - - - - - - - - -
PackageAction
@missing_translation_group.package_key@ - (edit untranslated) - - (new message key) - -
-
-
-
-
- - - - - - - -
- - - - - - - -
- Already translated -
- - - - -
- - - - - - - - - - - -
PackageAction
@translated_messages_group.package_key@ - (edit translated) - - (new message key) - -
-
-
-
-
- -
Index: openacs-4/packages/acs-lang/www/admin/display-grouped-messages.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/display-grouped-messages.tcl,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/display-grouped-messages.tcl 8 Aug 2003 12:21:28 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,87 +0,0 @@ -# /packages/acs-lang/www/admin/display-grouped-messages.tcl -ad_page_contract { - Displays packages that contain messages. - - @author Bruno Mattarollo - @author Christian Hvid - @creation-date 26 October 2001 - @cvs-id $Id: display-grouped-messages.tcl,v 1.5 2003/08/08 12:21:28 lars Exp $ -} { - locale:optional -} -properties { -} - -set return_url "index?tab=[ns_urlencode localized-messages]" -set page_title "Messages" -set context_bar [ad_context_bar $page_title] -set default_locale en_US - -if { ![info exists locale] } { - set current_locale [ad_conn locale] -} else { - set current_locale $locale -} - -# Query to get all packages that are prepared for translation - -set grouper_msg_all { - select distinct lm1.package_key - from lang_messages lm1 -} - -# Query to get all the packages that have untranslated messages in the -# selected locale - -set grouper_msg_not_translated { - select distinct lm1.package_key - from lang_messages lm1 - where lm1.locale = :default_locale - and not exists ( - select 1 - from lang_messages lm2 - where lm2.locale = :current_locale and - lm1.message_key = lm2.message_key and - lm1.package_key = lm2.package_key - ) -} - -# Query that get all the messages that HAVE a translation to -# the language selected - -set grouper_msg_translated { - select distinct lm1.package_key - from lang_messages lm1, - lang_messages lm2 - where lm1.locale = :default_locale and - lm2.locale = :current_locale and - lm1.message_key = lm2.message_key and - lm1.package_key = lm2.package_key -} - -template::multirow create all_packages_group package_key package_key_encoded locale_encoded -template::multirow create missing_translation_group package_key package_key_encoded locale_encoded -template::multirow create translated_messages_group package_key package_key_encoded locale_encoded - -db_foreach select_messages_not_translated $grouper_msg_not_translated { - template::multirow append missing_translation_group $package_key [ns_urlencode $package_key] [ns_urlencode $current_locale] -} - -db_foreach select_messages_translated $grouper_msg_translated { - template::multirow append translated_messages_group $package_key [ns_urlencode $package_key] [ns_urlencode $current_locale] -} - -db_foreach select_messages_all_packages $grouper_msg_all { - template::multirow append all_packages_group $package_key [ns_urlencode $package_key] [ns_urlencode $current_locale] -} - -db_1row select_locale_lable { - select label as locale_label from ad_locales where locale = :current_locale } - -if { $current_locale == $default_locale } { - # This is the default locale, then allow the 'new' action - set new_allowed_p 1 -} else { - set new_allowed_p 0 -} - -set message_search_url "message-search?[export_vars { locale }]" Index: openacs-4/packages/acs-lang/www/admin/display-localized-messages.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/display-localized-messages.adp,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/display-localized-messages.adp 8 Aug 2003 12:21:28 -0000 1.7 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,77 +0,0 @@ - - Localized Messages - @context_bar;noquote@ - -
- -

You are editing locale: @locale_label@ [ @current_locale@ ]

- - - - - - - -

Messages that need translation in the @package_key@ package.

- - - - - -
- - - - - - - - - - - - - - - -
KeyOriginal MessageTranslated MessageAction
@missing_translation.message_key@@missing_translation.default_message@TRANSLATION MISSING - (edit) -
-
- -
- - - - - - - -

Messages that are translated.

- - - - - -
- - - - - - - - - - - - - - - -
KeyOriginal MessageTranslated MessageAction
@translated_messages.message_key@@translated_messages.default_message@@translated_messages.translated_message@(edit)
-
- -
- -
Index: openacs-4/packages/acs-lang/www/admin/display-localized-messages.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/display-localized-messages.tcl,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/display-localized-messages.tcl 8 Aug 2003 12:21:28 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,99 +0,0 @@ -ad_page_contract { - Displays the localized messages from the database for translation - - @author Bruno Mattarollo - @author Christian Hvid - - @creation-date 26 October 2001 - @cvs-id $Id: display-localized-messages.tcl,v 1.5 2003/08/08 12:21:28 lars Exp $ -} { - locale - translated_p - package_key -} -properties { -} - -set tab [ns_urlencode "localized-messages"] -set return_url "display-grouped-messages?tab=$tab&locale=$locale" - -if { ! $translated_p } { - set title "Edit Untranslated - $package_key" -} else { - set title "Edit Translated - $package_key" -} - -set context_bar [ad_context_bar [list $return_url Listing] $title] - -set default_locale [ad_parameter DefaultLocale] -set default_locale en_US - -if { ![info exists locale] } { - set current_locale [ad_conn locale] -} else { - set current_locale $locale -} - -# Query to get all the messages that DO NOT have a translation to the -# language selected - -set cat_msg_not_translated { - select lm1.message_key, - lm1.message as default_message - from lang_messages lm1 - where lm1.locale = :default_locale and - lm1.package_key = :package_key and - not exists ( - select 1 - from lang_messages lm2 - where lm2.locale = :current_locale and - lm1.message_key = lm2.message_key and - lm1.package_key = lm2.package_key - ) - order by upper(lm1.message_key) -} - -# Query that get all the messages that HAVE a translation to -# the language selected - -set cat_msg_translated { - select lm1.message_key, - lm1.message as default_message, - lm2.message as translated_message - from lang_messages lm1, lang_messages lm2 - where lm1.locale = :default_locale and - lm1.package_key = :package_key and - lm2.locale = :current_locale and - lm1.message_key = lm2.message_key and - lm1.package_key = lm2.package_key - order by upper(lm1.message_key) -} - -multirow create missing_translation message_key locale default_message escaped_key escaped_language -multirow create translated_messages message_key locale default_message translated_message escaped_key escaped_language - -if { ! $translated_p } { - db_foreach select_messages_not_translated $cat_msg_not_translated { - multirow append missing_translation \ - $message_key \ - $current_locale \ - $default_message \ - [ns_urlencode $message_key] \ - [ns_urlencode $current_locale] - } -} else { - db_foreach select_messages_translated $cat_msg_translated { - multirow append translated_messages \ - $message_key \ - $current_locale \ - $default_message \ - $translated_message \ - [ns_urlencode $message_key] \ - [ns_urlencode $current_locale] - } -} - -db_1row select_locale_lable { - select label as locale_label from ad_locales where locale = :current_locale -} - -set escaped_package_key [ns_urlencode $package_key] Index: openacs-4/packages/acs-lang/www/admin/edit-description.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/edit-description.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/edit-description.adp 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,6 @@ + + @page_title@ + @context;noquote@ + description.description + + Index: openacs-4/packages/acs-lang/www/admin/edit-description.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/edit-description.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/edit-description.tcl 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,61 @@ +ad_page_contract { + Edit description of message key. + + @author Simon Carstensen + @creation-date 2003-08-13 +} { + locale + package_key + message_key + show:optional + {description ""} +} + +# We rename to avoid conflict in queries +set current_locale $locale +set default_locale en_US + +set locale_label [ad_locale_get_label $current_locale] +set default_locale_label [ad_locale_get_label $default_locale] + +set page_title "Edit description" +set context [list [list "package-list?[export_vars { locale }]" $locale_label] \ + [list "message-list?[export_vars { locale package_key message_key show }]" $package_key] \ + [list "edit-localized-message?[export_vars { locale package_key message_key show }]" "$package_key.$message_key"] \ + $page_title] + + + +ad_form -name description -form { + {locale:text(hidden)} + {package_key:text(hidden)} + {message_key:text(hidden)} + {show:text(hidden)} + + {message_key_pretty:text(inform) + {value "$package_key.$message_key"} + {label "Message Key"} + } + {description:text(textarea),optional + {label "Description"} + {html { rows 15 cols 60 }} + } + {message:text(inform) + {label "$default_locale_label Message"} + } + + {submit:text(submit) + {label " Update "} + } +} -on_request { + db_1row select_description {} +} -on_submit { + + lang::message::update_description \ + -package_key $package_key \ + -message_key $message_key \ + -description $description + + ad_returnredirect "edit-localized-message?[export_vars { locale package_key message_key show }]" + ad_script_abort +} Index: openacs-4/packages/acs-lang/www/admin/edit-description.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/edit-description.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/edit-description.xql 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,19 @@ + + + + + + select lm.message as message, + lmk.description + from lang_message_keys lmk, + lang_messages lm + where lmk.package_key = lm.package_key + and lmk.message_key = lm.message_key + and lm.package_key= :package_key + and lm.message_key = :message_key + and locale = :locale + + + + + Index: openacs-4/packages/acs-lang/www/admin/edit-localized-message.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/edit-localized-message.adp,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/acs-lang/www/admin/edit-localized-message.adp 11 Aug 2003 16:16:21 -0000 1.8 +++ openacs-4/packages/acs-lang/www/admin/edit-localized-message.adp 14 Aug 2003 16:06:20 -0000 1.9 @@ -1,29 +1,24 @@ - + Edit a message - @header_stuff;noquote@ - @context_bar;noquote@ + @context;noquote@ + message.message -
+ + - +

Audit Trail

-

Please, submit a valid locale.

+ +

Files that use this message

+ +

+ Show | Hide files that use this message. +

+
- -

Locale: @locale_label@ [ @current_locale@ ]

-

Package: @package_key@

-

Key: @message_key@

- - - +

+ Show | Hide files that use this message key. +

- -
- -

- » Show message key usage -

- - Index: openacs-4/packages/acs-lang/www/admin/edit-localized-message.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/edit-localized-message.tcl,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-lang/www/admin/edit-localized-message.tcl 11 Aug 2003 16:16:21 -0000 1.7 +++ openacs-4/packages/acs-lang/www/admin/edit-localized-message.tcl 14 Aug 2003 16:06:20 -0000 1.8 @@ -10,141 +10,109 @@ } { locale - message_key package_key - {translated_p 0} - {return_url "display-localized-messages?[export_vars { package_key locale translated_p }]"} -} -properties { + message_key + show:optional + {usage_p "f"} + {return_url {}} } -if {[info exists locale]} { - set current_locale $locale -} else { - set current_locale [ad_conn locale] -} - -set tab [ns_urlencode "localized-messages"] - -set context_bar [ad_context_bar [list "index?tab=$tab" "Locales & Messages"] \ - [list "display-grouped-messages?tab=$tab&locale=$locale" "Listing"] \ - [list "display-localized-messages?[export_vars { package_key locale translated_p }]" "Messages"] "Edit"] - - -# This has an ugly smell: But let's hardcode the default to en_US - +# We rename to avoid conflict in queries +set current_locale $locale set default_locale en_US -# The part that deals with images is removed - so all messages are treated -# as simple text. +set locale_label [ad_locale_get_label $current_locale] +set default_locale_label [ad_locale_get_label $default_locale] -form create message_editing +set page_title "Edit $package_key.$message_key" +set context [list [list "package-list?[export_vars { locale }]" $locale_label] \ + [list "message-list?[export_vars { locale package_key show }]" $package_key] \ + "$package_key.$message_key"] -element create message_editing original_message \ - -label "Original Message" -datatype text -widget inform -element create message_editing message -label "Message" \ - -datatype text -widget textarea -html { rows 6 cols 40 } +set description_edit_url "edit-description?[export_vars { locale package_key message_key show }]" -element create message_editing comment -optional -label "Comment" \ - -datatype text -widget textarea -html { rows 6 cols 40 } +set usage_hide_url "[ad_conn url]?[export_vars { locale package_key message_key show return_url }]" +set usage_show_url "[ad_conn url]?[export_vars { locale package_key message_key show {usage_p 1} return_url }]" -# The hidden elements for passing package key, message key and locale -element create message_editing message_key -datatype text -widget hidden +ad_form -name message -form { + {locale:text(hidden),optional {value $current_locale}} + {package_key:text(hidden),optional {value $package_key}} + {message_key:text(hidden),optional {value $message_key}} + {show:text(hidden),optional} + {return_url:text(hidden),optional {value $return_url}} -element create message_editing package_key -datatype text -widget hidden + {message_key_pretty:text(inform) + {label "Message Key"} + {value "$package_key.$message_key"} + } + {description:text(inform) + {label "Description"} + {after_html {}} + } +} -element create message_editing locale -datatype text -widget hidden - -element create message_editing translated_p -label "translated_p" -datatype text -widget hidden -value $translated_p -element create message_editing return_url -datatype text -widget hidden -value $return_url - -set locale_label [ad_locale_get_label $current_locale] - -# Header Stuff ... We make sure that this page doesn't get cached. -set header_stuff "" - -if { [form is_request message_editing] } { - - set sql_select_original_message { - select message - from lang_messages - where message_key = :message_key and - package_key = :package_key and - locale = :default_locale +if { ![string equal $default_locale $current_locale] } { + ad_form -extend -name message -form { + {original_message:text(inform) + {label "$default_locale_label Message"} + } } +} + +ad_form -extend -name message -form { + {message:text(textarea) + {label "$locale_label Message"} + {html { rows 6 cols 40 }} + } + {comment:text(textarea),optional + {label "Comment"} + {html { rows 6 cols 40 }} + } + {submit:text(submit) + {label " Update "} + } +} -on_request { + db_1row select_original_message { + select lm.message as original_message, + lmk.description + from lang_messages lm, + lang_message_keys lmk + where lm.message_key = lmk.message_key + and lm.package_key = lmk.package_key + and lm.package_key = :package_key + and lm.message_key = :message_key + and lm.locale = :default_locale + } - set sql_select_translated_message { - select message as translated_message + db_0or1row select_translated_message { + select message as message from lang_messages - where message_key = :message_key and - package_key = :package_key and - locale = :current_locale + where package_key = :package_key + and message_key = :message_key + and locale = :current_locale } + + set original_message [ad_quotehtml $original_message] + if { [exists_and_not_null message] } { + set message $message + } - # Let's get the original message (in english) - db_1row select_original_message $sql_select_original_message - - # let's get the translated message (we use 0or1row since the message - # might not exists - db_0or1row select_translated_message $sql_select_translated_message - - if { [exists_and_not_null translated_message] } { - # No need to quote the message here - the form builder does it for us - element set_properties message_editing message -value $translated_message + if { [empty_string_p $description] } { + set description [subst {(add description)}] } else { - element set_properties message_editing message -value "No Translation Available" + set description "[ad_text_to_html -- $description] [subst { (edit)}]" } - - element set_properties message_editing message_key -value $message_key - element set_properties message_editing package_key -value $package_key - element set_properties message_editing locale -value $current_locale - element set_properties message_editing original_message -value [ad_quotehtml $message] +} -on_submit { -} else { + # Register message via acs-lang + lang::message::register -comment $comment $locale $package_key $message_key $message - # We are not processing a request, therefor it's a submission. Get the values - # from the form and validate them - - form get_values message_editing - if { $message == "" } { - - element set_error message_editing message "Message is required" - set sql_select_original_message { - select message - from lang_messages - where message_key = :message_key and - package_key = :package_key and - locale = :default_locale - } - - db_1row select_original_message $sql_select_original_message - - element set_properties message_editing original_message -value $message - + if { [empty_string_p $return_url] } { + set return_url "[ad_conn url]?[export_vars { locale package_key message_key show }]" } - + ad_returnredirect $return_url + ad_script_abort } - -if { [form is_valid message_editing] } { - # We get the values from the form - form get_values message_editing message_key - form get_values message_editing package_key - form get_values message_editing locale - form get_values message_editing message - form get_values message_editing return_url - - # Register message via acs-lang - lang::message::register $locale $package_key $message_key $message $comment - - # Even if the country code is 2 chars, we avoid problems... - set escaped_locale [ns_urlencode $locale] - - forward $return_url - - error $message - -} - -set lookups_url "lookups?[export_vars { package_key { message_key_list $message_key } }]" Index: openacs-4/packages/acs-lang/www/admin/index.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/index.adp,v diff -u -N -r1.10 -r1.11 --- openacs-4/packages/acs-lang/www/admin/index.adp 8 Aug 2003 12:21:28 -0000 1.10 +++ openacs-4/packages/acs-lang/www/admin/index.adp 14 Aug 2003 16:06:20 -0000 1.11 @@ -1,39 +1,82 @@ - - Administration of Localized Messages - - - + + @page_title@ + @context@ -
- -

Here you can edit locales and internationalize messages in the user interface of the system.

-

» - Toggle translator mode (Currently - ON - off) + Toggle translator mode: + On Off + On Off

+

+ » Change system locale: Current system locale is @system_locale_label@ [ @system_locale@ ] +

-

System Locales

- - - -
- -

Timezone

-

- » - Set system timezone + » Change system timezone: Current system timezone is @timezone@

+

Installed Locales

+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
LocaleLabelTranslatedUntranslatedEnabledDefault Locale For Langauge
@locales.locale@ + @locales.locale_label@ + @locales.num_translated_pretty@@locales.num_untranslated_pretty@ + + + + + + + + + + + + + @locales.language@: + + + @locales.language@: + + +
+
+ +

+ » Create New Locale +

+ + + + Index: openacs-4/packages/acs-lang/www/admin/index.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/index.tcl,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-lang/www/admin/index.tcl 13 Feb 2003 14:26:50 -0000 1.4 +++ openacs-4/packages/acs-lang/www/admin/index.tcl 14 Aug 2003 16:06:20 -0000 1.5 @@ -5,22 +5,68 @@ Administration of the localized messages @author Bruno Mattarollo + @author Lars Pind (lars@collaboraid.biz) @creation-date 19 October 2001 @cvs-id $Id$ -} { - {tab "home"} } -set locale_user [ad_locale user locale] -set instance_name [ad_conn instance_name] -set context_bar [ad_context_bar] +# We rename to avoid conflict in queries +set system_locale [lang::system::locale -site_wide] +set system_locale_label [ad_locale_get_label $system_locale] +set page_title "Adminsitration of Localization" +set context [list] + + set timezone_p [lang::system::timezone_support_p] +set timezone [lang::system::timezone] + set translator_mode_p [lang::util::translator_mode_p] -if { [ad_permission_p 0 admin] } { - set show_locales_p "t" -} else { - set show_locales_p "f" + + +set parameter_url "/admin/site-map/parameter-set?[export_vars { {package_id {[ad_conn package_id]} } { return_url {[ad_return_url]} } }]" + + +##### +# +# Locales +# +##### + +set num_messages [db_string num_messages { select count(*) from lang_message_keys }] + +db_multirow -extend { + escaped_locale + msg_edit_url + locale_edit_url + locale_delete_url + locale_make_default_url + locale_enabled_p_url + num_translated_pretty + num_untranslated + num_untranslated_pretty +} locales select_locales { + select l.locale, + l.label as locale_label, + l.language, + l.default_p as default_p, + l.enabled_p as enabled_p, + (select count(*) from ad_locales l2 where l2.language = l.language) as num_locales_for_language, + (select count(*) from lang_messages lm2 where lm2.locale = l.locale) as num_translated + from ad_locales l + order by locale_label +} { + set escaped_locale [ns_urlencode $locale] + set msg_edit_url "package-list?[export_vars { locale }]" + set locale_edit_url "locale-edit?[export_vars { locale }]" + set locale_delete_url "locale-delete?[export_vars { locale }]" + set locale_make_default_url "locale-make-default?[export_vars { locale }]" + set toggle_enabled_p [ad_decode $enabled_p "t" "f" "t"] + set locale_enabled_p_url "locale-set-enabled-p?[export_vars { locale {enabled_p $toggle_enabled_p} }]" + + set num_translated_pretty [lc_numeric $num_translated] + set num_untranslated [expr $num_messages - $num_translated] + set num_untranslated_pretty [lc_numeric $num_untranslated] } Index: openacs-4/packages/acs-lang/www/admin/locale-delete-confirm.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/locale-delete-confirm.adp,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/locale-delete-confirm.adp 8 Aug 2003 12:21:28 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,10 +0,0 @@ - -Delete locale confirmation -@context_bar;noquote@ - -

Are you sure you want to proceed?

-

-

-@confirm_data;noquote@ - -
Index: openacs-4/packages/acs-lang/www/admin/locale-delete.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-delete.adp,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/acs-lang/www/admin/locale-delete.adp 8 Aug 2003 12:21:28 -0000 1.6 +++ openacs-4/packages/acs-lang/www/admin/locale-delete.adp 14 Aug 2003 16:06:20 -0000 1.7 @@ -1,7 +1,15 @@ - -Delete locale -@context_bar;noquote@ + + Delete locale + @context;noquote@

+

Deleting locale @locale_label@ [ @locale@ ]

- + +
+@form_export_vars;noquote@ + +
+ + + Index: openacs-4/packages/acs-lang/www/admin/locale-delete.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-delete.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-lang/www/admin/locale-delete.tcl 8 Aug 2003 12:21:28 -0000 1.3 +++ openacs-4/packages/acs-lang/www/admin/locale-delete.tcl 14 Aug 2003 16:06:20 -0000 1.4 @@ -9,64 +9,26 @@ @cvs-id $Id$ } { locale -} -properties { + confirm_p:optional } -set context_bar [ad_context_bar "Deleting Locale"] -form create locale_deleting +# We rename to avoid conflict in queries +set current_locale $locale +set default_locale en_US -# It's a request, not a submission of the form +set locale_label [ad_locale_get_label $current_locale] +set default_locale_label [ad_locale_get_label $default_locale] -element create locale_deleting country -label "Country (2 digit ISO-code)" \ - -datatype text -widget text -html { maxLength 2 size 2 } +set page_title "Delete $locale_label" +set context [list $page_title] -element create locale_deleting language -label "Language (2 digit ISO-code)" \ - -datatype text -widget text -html { maxLength 2 size 2 } -element create locale_deleting label -label "Label" -datatype text +set form_export_vars [export_vars -form { locale {confirm_p 1} }] -element create locale_deleting nls_language -label "NLS Language" \ - -datatype text -widget text -element create locale_deleting nls_territory -label "NLS Territory" \ - -datatype text -widget text +if { [exists_and_not_null confirm_p] && [template::util::is_true $confirm_p] } { -element create locale_deleting nls_charset -label "NLS Charset" \ - -datatype text -widget text - -element create locale_deleting mime_charset \ - -label "MIME Charset" -datatype text - -element create locale_deleting default_p -label "Default" \ - -datatype text -widget hidden - -element create locale_deleting locale -p label "Locale" \ - -datatype text -widget hidden -value $locale - -if { [form is_request locale_deleting] } { - - # Finish building the form to present to the user - db_1row select_details_locale "select locale as locale_locale, - language as locale_language, country as locale_country, - label as locale_label, nls_language as locale_nls_language, - nls_territory as locale_nls_territory, nls_charset as locale_nls_charset, - mime_charset as locale_mime_charset, default_p as locale_default_p - from ad_locales - where locale = :locale" - element set_properties locale_deleting label -value $locale_label - element set_properties locale_deleting language -value $locale_language - element set_properties locale_deleting country -value $locale_country - element set_properties locale_deleting nls_language -value $locale_nls_language - element set_properties locale_deleting nls_territory -value $locale_nls_territory - element set_properties locale_deleting nls_charset -value $locale_nls_charset - element set_properties locale_deleting mime_charset -value $locale_mime_charset - element set_properties locale_deleting default_p -value $locale_default_p - -} - -if { [ns_queryexists form:confirm] } { - db_transaction { db_dml delete_messages { delete from lang_messages where locale = :locale } @@ -77,17 +39,6 @@ } - forward "index?tab=locales" - + ad_returnredirect "." + ad_script_abort } - -if { [form is_valid locale_deleting] } { - - # We are receiving a valid submission - set confirm_data [form export] - - append confirm_data "" - - set_file "[file dir $__adp_stub]/locale-delete-confirm" - -} Index: openacs-4/packages/acs-lang/www/admin/locale-edit.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-edit.adp,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/acs-lang/www/admin/locale-edit.adp 8 Aug 2003 12:21:28 -0000 1.6 +++ openacs-4/packages/acs-lang/www/admin/locale-edit.adp 14 Aug 2003 16:06:20 -0000 1.7 @@ -1,6 +1,7 @@ - -Edit locale -@context_bar;noquote@ + + @page_title@ + @context;noquote@ + locale_editing.country

Please update the necesary fields and press "Submit"

Index: openacs-4/packages/acs-lang/www/admin/locale-edit.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-edit.tcl,v diff -u -N -r1.5 -r1.6 --- openacs-4/packages/acs-lang/www/admin/locale-edit.tcl 8 Aug 2003 12:21:28 -0000 1.5 +++ openacs-4/packages/acs-lang/www/admin/locale-edit.tcl 14 Aug 2003 16:06:20 -0000 1.6 @@ -10,7 +10,6 @@ @cvs-id $Id$ } { locale -} -properties { } # Get the locale for the user so that we 'spit' the content back in the @@ -23,7 +22,8 @@ # ns_setformencoding $encoding_charset # ns_set put [ns_conn outputheaders] "content-type" "text/html; charset=$encoding_charset" -set context_bar [ad_context_bar "Editing Locale"] +set page_title "Edit Locale" +set context [list $page_title] form create locale_editing Index: openacs-4/packages/acs-lang/www/admin/locale-make-default.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-make-default.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-lang/www/admin/locale-make-default.tcl 8 Aug 2003 12:21:28 -0000 1.3 +++ openacs-4/packages/acs-lang/www/admin/locale-make-default.tcl 14 Aug 2003 16:06:20 -0000 1.4 @@ -28,4 +28,7 @@ } +# Flush caches +util_memoize_flush_regexp {^lang::system::default_locale_not_cached} + template::forward "index?tab=locales" Index: openacs-4/packages/acs-lang/www/admin/locale-new.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-new.adp,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/acs-lang/www/admin/locale-new.adp 22 May 2003 14:05:12 -0000 1.6 +++ openacs-4/packages/acs-lang/www/admin/locale-new.adp 14 Aug 2003 16:06:20 -0000 1.7 @@ -1,6 +1,7 @@ - -Create new locale -@context_bar;noquote@ + + @page_title@ + @context;noquote@ + locale_creation.country

Please fill in the fields to create a new locale.

Index: openacs-4/packages/acs-lang/www/admin/locale-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-new.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-lang/www/admin/locale-new.tcl 17 Feb 2003 23:04:07 -0000 1.3 +++ openacs-4/packages/acs-lang/www/admin/locale-new.tcl 14 Aug 2003 16:06:20 -0000 1.4 @@ -7,13 +7,13 @@ @author Bruno Mattarollo @creation-date 15 march 2002 @cvs-id $Id$ -} { -} -properties { } + set locale_user [ad_conn locale] -set context_bar [ad_context_bar "Creation of Locales"] +set page_title "Create Locale" +set context [list $page_title] form create locale_creation @@ -114,9 +114,9 @@ db_dml insert_locale "insert into ad_locales ( locale, language, country, variant, label, nls_language, - nls_territory, nls_charset, mime_charset, default_p) values ( + nls_territory, nls_charset, mime_charset, default_p, enabled_p) values ( :locale, :language, :country, NULL, :label, :nls_language, - :nls_territory, :nls_charset, :mime_charset, :default_p)" + :nls_territory, :nls_charset, :mime_charset, :default_p, 'f')" } forward "index?tab=locales" Index: openacs-4/packages/acs-lang/www/admin/locale-set-enabled-p.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/locale-set-enabled-p.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-lang/www/admin/locale-set-enabled-p.tcl 8 Aug 2003 12:21:28 -0000 1.1 +++ openacs-4/packages/acs-lang/www/admin/locale-set-enabled-p.tcl 14 Aug 2003 16:06:20 -0000 1.2 @@ -12,5 +12,9 @@ db_dml set_enabled_p { update ad_locales set enabled_p = :enabled_p where locale = :locale } -ad_returnredirect . +# Flush caches +util_memoize_flush_regexp {^lang::system::default_locale_not_cached} +util_memoize_flush_regexp {^lang::system::get_locales} + +ad_returnredirect . ad_script_abort Index: openacs-4/packages/acs-lang/www/admin/locales-tabs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/locales-tabs.tcl,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/locales-tabs.tcl 25 Oct 2002 15:12:15 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,36 +0,0 @@ -# -# Tabs for workflow-page -# -# Input: -# tab -# locales -# show_locales_p -# -# Data sources: -# tabs:multirow name url -# -# Author: Lars Pind (lars@pinds.com) -# Author: Bruno Mattarollo (bruno.mattarollo@ams.greenpeace.org) -# Creation-date: Feb 26, 2001 -# Cvs-id: $Id: locales-tabs.tcl,v 1.2 2002/10/25 15:12:15 peterm Exp $ -# - -multirow create tabs name key url - -if { $show_locales_p == "t" } { - - set list_tabs [list { Home home } { Locales locales } { Messages localized-messages } ] - -} else { - - set list_tabs [list { Messages localized-messages } ] - -} - -foreach loop_tab $list_tabs { - multirow append tabs [lindex $loop_tab 0] [lindex $loop_tab 1] ".?[export_vars -url {locales {tab {[lindex $loop_tab 1]}}}]" -} - -# { Timing timing } -# { Actions actions } - Index: openacs-4/packages/acs-lang/www/admin/locales.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/locales.adp,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/locales.adp 8 Aug 2003 12:21:28 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,54 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - -
LocaleLabelEnabledDefault Locale For LangaugeAction
@locales.locale@ - @locales.locale_label@ - - - No - - - Yes - - - - - N/A - - - Yes - - - No (make default) - - (edit messages)  - (edit locale)  - (delete locale) - - (enable locale) - - - (disable locale) - -
-
-

(Create New Locale)

Index: openacs-4/packages/acs-lang/www/admin/locales.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/locales.tcl,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/locales.tcl 8 Aug 2003 12:21:28 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,40 +0,0 @@ -# /packages/gp-lang/www/gpadmin/locales.tcl -ad_page_contract { - Locales administration (creation, edition, deletion) - - @author Bruno Mattarollo (bruno.mattarollo@ams.greenpeace.org) - @creation-date March 14, 2002 - @cvs-id $Id: locales.tcl,v 1.3 2003/08/08 12:21:28 lars Exp $ -} { -} -properties { -} - -set locale_user [ad_conn locale] - -set context_bar [ad_context_bar "Locales Administration"] - -db_multirow -extend { - escaped_locale - msg_edit_url - locale_edit_url - locale_delete_url - locale_make_default_url - locale_enabled_p_url -} locales select_locales { - select l.locale as locale, - l.label as locale_label, - l.default_p as default_p, - l.enabled_p as enabled_p, - (select count(*) from ad_locales l2 where l2.language = l.language) as num_locales_for_language - from ad_locales l - order by locale_label -} { - set escaped_locale [ns_urlencode $locale] - set msg_edit_url "display-grouped-messages?[export_vars { locale }]" - set locale_edit_url "locale-edit?[export_vars { locale }]" - set locale_delete_url "locale-delete?[export_vars { locale }]" - set locale_make_default_url "locale-make-default?[export_vars { locale }]" - set toggle_enabled_p [ad_decode $enabled_p "t" "f" "t"] - set locale_enabled_p_url "locale-set-enabled-p?[export_vars { locale {enabled_p $toggle_enabled_p} }]" - -} Index: openacs-4/packages/acs-lang/www/admin/localized-message-new-2.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/localized-message-new-2.adp,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/localized-message-new-2.adp 22 May 2003 14:05:12 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,23 +0,0 @@ - -New Localized Messages - Upload a file -@context_bar;noquote@ - -
- - - -

Please, submit a valid locale.

- -
- - -

Locale: @locale_label@ [ @locale_user@ ]

- - - -

The message has been modified to make it - unique. Don't worry if it's not the same filename you will be uploading.

- -
- -
Index: openacs-4/packages/acs-lang/www/admin/localized-message-new.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/localized-message-new.adp,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/acs-lang/www/admin/localized-message-new.adp 22 May 2003 14:05:12 -0000 1.6 +++ openacs-4/packages/acs-lang/www/admin/localized-message-new.adp 14 Aug 2003 16:06:20 -0000 1.7 @@ -1,20 +1,8 @@ - - New Localized Messages - @context_bar;noquote@ + + Edit a message + @context;noquote@ + message_new.message_key -
+ - -

Please, submit a valid locale.

- -
- - -

Locale: @locale_label@ [ @locale_user@ ]

- - - -
- -
Index: openacs-4/packages/acs-lang/www/admin/localized-message-new.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/localized-message-new.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-lang/www/admin/localized-message-new.tcl 8 Aug 2003 12:21:28 -0000 1.3 +++ openacs-4/packages/acs-lang/www/admin/localized-message-new.tcl 14 Aug 2003 16:06:20 -0000 1.4 @@ -15,97 +15,90 @@ } -# We check that this request is coming for the system wide default -# locale. If not, we can't allow the creation of a new localized -# message. +# We rename to avoid conflict in queries +set current_locale $locale +set default_locale en_US -if {[info exists locale]} { - set locale_user $locale -} else { - set locale_user [ad_conn locale] -} +set locale_label [ad_locale_get_label $current_locale] +set default_locale_label [ad_locale_get_label $default_locale] -set default_locale en_US +set page_title "Create New Message" +set context [list [list "package-list?[export_vars { locale }]" $locale_label] \ + [list "message-list?[export_vars { locale package_key show }]" $package_key] \ + $page_title] -if { $locale_user != $default_locale } { - # ooops! - # We should let the user know about this ... shouldn't we? noooooo... :) - set encoded_locale [ns_urlencode $locale_user] - ad_returnredirect "display-grouped-messages?locale=$encoded_locale" -} -set locale_label [ad_locale_get_label $locale_user] -append return_url "display-grouped-messages?locale=" [ns_urlencode $locale_user] +# We check that this request is coming for the system wide default +# locale. If not, we can't allow the creation of a new localized +# message. -set tab [ns_urlencode "localized-messages"] +if { ![string equal $current_locale $default_locale] } { + ad_return_error "Can only create messages in the default locale" "Can only create messages in the default locale" + ad_script_abort +} -set context_bar [ad_context_bar [list "index?tab=$tab" "Locales & Messages"] \ - [list "display-grouped-messages?tab=$tab&locale=$locale" "Listing"] \ - "New"] +append return_url "message-list?[export_vars { locale package_key }]" -template::form create message_new +form create message_new -template::element create message_new package_key_display -label "Package" -datatype text \ +element create message_new package_key_display -label "Package" -datatype text \ -widget inform -value $package_key -template::element create message_new message_key -label "Message key" -datatype text -widget text +element create message_new message_key -label "Message key" -datatype text -widget text -html { size 50 } -template::element create message_new message -label "Message" -datatype text \ +element create message_new message -label "Message" -datatype text \ -widget textarea -html { rows 6 cols 40 } -template::element create message_new package_key -datatype text -widget hidden +element create message_new package_key -datatype text -widget hidden # The two hidden tags that we need to pass on the key and language to the # processing of the form -template::element create message_new locale -label "locale" -datatype text -widget hidden +element create message_new locale -label "locale" -datatype text -widget hidden -if { [template::form is_request message_new] } { +if { [form is_request message_new] } { - template::element set_properties message_new package_key -value $package_key - template::element set_properties message_new locale -value $locale_user + element set_properties message_new package_key -value $package_key + element set_properties message_new locale -value $current_locale } else { # We are not getting a request, so it's a post. Get and validate # the values - template::form get_values message_new + form get_values message_new # We have to check the format of the key submitted by the user, # We can't accept whitespaces or tabs, only alphanumerical and "-", # "_" or "." characters. The 1st character can't be a "." if { [regexp {[^[:alnum:]\_\-\.\?]} $message_key] } { # We matched for a forbidden character - template::element set_error message_new message_key \ + element set_error message_new message_key \ "Key can only have alphanumeric or \"-\", \"_\", \".\" or \"?\" characters" } if { [string length $message_key] >= 200 } { # Oops. The length of the key is too high. - template::element set_error message_new key \ + element set_error message_new key \ "Key can only have less than 200 characters" } } -if { [template::form is_valid message_new] } { +if { [form is_valid message_new] } { # We get the values from the form - template::form get_values message_new package_key - template::form get_values message_new message_key - template::form get_values message_new locale - template::form get_values message_new message + form get_values message_new package_key message_key locale message # We use the acs-lang registration of a translation. Simple, eh? lang::message::register $locale $package_key $message_key $message set escaped_locale [ns_urlencode $locale] - template::forward $return_url + forward $return_url } Index: openacs-4/packages/acs-lang/www/admin/localized-messages.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/localized-messages.adp,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/localized-messages.adp 8 Aug 2003 12:21:28 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,19 +0,0 @@ -

Select a locale to edit messages

- - - - -
- - - - - - - - - - - -
LocaleLabel
@locales.locale@@locales.locale_name@
-
Index: openacs-4/packages/acs-lang/www/admin/localized-messages.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/localized-messages.tcl,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/localized-messages.tcl 21 Oct 2002 11:39:14 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,16 +0,0 @@ -ad_page_contract { - - Administration of the localized messages - - @author Bruno Mattarollo - @creation-date 19 October 2001 - @cvs-id $Id: localized-messages.tcl,v 1.2 2002/10/21 11:39:14 peterm Exp $ -} - -db_multirow -extend { escaped_locale } locales select_locale_list { - select locale as locale, - label as locale_name - from ad_locales -} { - set escaped_locale [ns_urlencode $locale] -} Index: openacs-4/packages/acs-lang/www/admin/lookups.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/lookups.adp,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/lookups.adp 11 Aug 2003 16:44:44 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,7 +0,0 @@ - - Message Key Usage - -Message key usage for key @message_key_list@: -
-@message_key_context@
-
Index: openacs-4/packages/acs-lang/www/admin/lookups.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/lookups.tcl,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/lookups.tcl 11 Aug 2003 16:44:44 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,18 +0,0 @@ -ad_page_contract { - Display message key usage. - - @author Peter Marklund -} { - message_key_list - package_key -} - -set full_key_pattern "${package_key}.([join $message_key_list "|"])" - -set message_key_context "" -if { [catch {set message_key_context [exec find [acs_root_dir] -type f -regex ".*\\.\\(info\\|adp\\|sql\\|tcl\\)" | xargs egrep "${full_key_pattern}"]} error] } { - global errorInfo - regexp "^(.*)child process exited abnormally" $errorInfo match message_key_context - set message_key_context [ad_quotehtml $message_key_context] - regsub -all "${full_key_pattern}" $message_key_context {\0} message_key_context -} Index: openacs-4/packages/acs-lang/www/admin/master.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/master.adp,v diff -u -N --- openacs-4/packages/acs-lang/www/admin/master.adp 8 Aug 2003 12:21:28 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,8 +0,0 @@ - - @title;noquote@ - @focus;noquote@ - @header_stuff;noquote@ - -

@context_bar;noquote@

- - Index: openacs-4/packages/acs-lang/www/admin/message-list-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/message-list-oracle.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/message-list-oracle.xql 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,29 @@ + + + + oracle8.1.6 + + + + + select lm1.message_key, + lm1.message as default_message, + lm2.message as translated_message, + lmk.description + from lang_messages lm1, + lang_messages lm2, + lang_message_keys lmk + where lm1.locale = :default_locale + and lm2.locale (+) = :locale + and lm2.message_key (+) = lm1.message_key + and lm2.package_key (+) = lm1.package_key + and lm1.message_key = lmk.message_key + and lm1.package_key = lmk.package_key + and lm1.package_key = :package_key + $where_clause + order by upper(lm1.message_key), lm1.message_key + + + + + Index: openacs-4/packages/acs-lang/www/admin/message-list-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/message-list-postgresql.xql,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/message-list-postgresql.xql 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,28 @@ + + + +postgresql7.1 + + + + + select lm1.message_key, + lm1.message as default_message, + lm2.message as translated_message, + lmk.description + from lang_messages lm1 left outer join + lang_messages lm2 on (lm2.locale = :locale and lm2.message_key = lm1.message_key and lm2.package_key = lm1.package_key), + lang_message_keys lmk + where lm1.locale = :default_locale + and lm1.package_key = :package_key + and lm1.message_key = lmk.message_key + and lm1.package_key = lmk.package_key + $where_clause + order by upper(lm1.message_key), lm1.message_key + + + + + + + Index: openacs-4/packages/acs-lang/www/admin/message-list.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/message-list.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/message-list.adp 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,61 @@ + + @page_title@ + @context;noquote@ + +

+ Show: + + | + @show_opts.label@ (@show_opts.count@) + @show_opts.label@ (@show_opts.count@) + +

+ + +

+ » Create new message +

+
+ + + No messages + + +

+ » Batch edit these messages +

+ + + + + +
+ + + + + + + + + + + + + + + + + + + +
Message Key@default_locale_label@ Message@locale_label@ Message
+ + + @messages.message_key_pretty@ + @messages.default_message@ + @messages.translated_message@ + Not translated +
+
+
Index: openacs-4/packages/acs-lang/www/admin/message-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/message-list.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/message-list.tcl 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,125 @@ +ad_page_contract { + Displays messages for translation + + @author Bruno Mattarollo + @author Lars Pind (lars@collaboraid.biz) + + @creation-date 26 October 2001 + @cvs-id $Id: message-list.tcl,v 1.1 2003/08/14 16:06:20 lars Exp $ +} { + locale + package_key + {show "all"} +} -validate { + show_valid -requires { show } { + if { [lsearch { all translated untranslated } $show] == -1 } { + ad_complain "Show must be one of 'all', 'translated', or 'untranslated'." + } + } +} + +# 'show' can be "all", "translated", "untranslated" + +# We rename to avoid conflict in queries +set current_locale $locale +set default_locale en_US + +set locale_label [ad_locale_get_label $current_locale] +set default_locale_label [ad_locale_get_label $default_locale] + +set page_title $package_key +set context [list [list "package-list?[export_vars { locale }]" $locale_label] $page_title] + + +# We let you create new messages keys if you're in the default locale +set create_p [string equal $current_locale $default_locale] + +set new_message_url "localized-message-new?[export_vars { locale package_key }]" + + + +##### +# +# Counting messages +# +##### + +db_1row counts { + select (select count(*) from lang_messages where package_key = :package_key and locale = :locale) as num_translated, + (select count(*) from lang_message_keys where package_key = :package_key) as num_messages + from dual +} +set num_untranslated [expr $num_messages - $num_translated] + +set num_messages_pretty [lc_numeric $num_messages] +set num_translated_pretty [lc_numeric $num_translated] +set num_untranslated_pretty [lc_numeric $num_untranslated] + + + + + +##### +# +# Handle filtering +# +##### + +# LARS: The reason I implemented this overly complex way of doing it is that I was just about to +# merge this page with messages-search ... + +set where_clauses [list] + +switch -exact $show { + translated { + lappend where_clauses {lm2.message is not null} + } + untranslated { + lappend where_clauses {lm2.message is null} + } +} + +if { [llength $where_clauses] == 0 } { + set where_clause {} +} else { + set where_clause "and [join $where_clauses "\n and "]" +} + +db_multirow -extend { + edit_url + message_key_pretty +} messages select_messages {} { + set edit_url "edit-localized-message?[export_vars { locale package_key message_key show {return_url {[ad_return_url]}} }]" + set message_key_pretty "$package_key.$message_key" +} + +# TODO: PG +# TODO: Create message + + +set batch_edit_url "batch-editor?[export_vars { locale package_key show }]" + + +##### +# +# Slider for 'show' options +# +##### + +multirow create show_opts value label count + +multirow append show_opts "all" "All" $num_messages_pretty +multirow append show_opts "translated" "Translated" $num_translated_pretty +multirow append show_opts "untranslated" "Untranslated" $num_untranslated_pretty + +multirow extend show_opts url selected_p + +multirow foreach show_opts { + set selected_p [string equal $show $value] + if { [string equal $value "all"] } { + set url "[ad_conn url]?[export_vars { locale package_key }]" + } else { + set url "[ad_conn url]?[export_vars { locale package_key {show $value} }]" + } +} + Index: openacs-4/packages/acs-lang/www/admin/message-search.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/message-search.adp,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-lang/www/admin/message-search.adp 8 Aug 2003 12:21:28 -0000 1.1 +++ openacs-4/packages/acs-lang/www/admin/message-search.adp 14 Aug 2003 16:06:20 -0000 1.2 @@ -1,37 +1,57 @@ - + @page_title@ - @context_bar;noquote@ + @context;noquote@ search.q - + +Search for +

Search Results

- - - - - -
- - - - - - - - - - - - - - - - - -
PackageKeyOriginal MessageTranslated MessageAction
@messages.package_key@@messages.message_key@@messages.default_message@@messages.translated_message@(edit)
-
- + +

+ » Search for '@q@' in @other_locale@ +

+
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
PackageMessage Key@default_locale_label@ Message@locale_label@ Message
+ + @messages.package_key@@messages.message_key_pretty@@messages.default_message@ + @messages.translated_message@ + Not translated +
+
+
+ + No messages found. +
Index: openacs-4/packages/acs-lang/www/admin/message-search.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/message-search.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-lang/www/admin/message-search.tcl 8 Aug 2003 12:21:28 -0000 1.1 +++ openacs-4/packages/acs-lang/www/admin/message-search.tcl 14 Aug 2003 16:06:20 -0000 1.2 @@ -5,10 +5,19 @@ } { locale + search_locale:optional + q:optional } +# We rename to avoid conflict in queries +set current_locale $locale +set default_locale en_US + +set locale_label [ad_locale_get_label $current_locale] +set default_locale_label [ad_locale_get_label $default_locale] + set page_title "Search Messages" -set context_bar [ad_context_bar [list "display-grouped-messages?[export_vars { locale }]" "Listing"] $page_title] +set context [list [list "package-list?[export_vars { locale }]" $locale_label] $page_title] set default_locale en_US @@ -18,26 +27,57 @@ set submit_p 0 -ad_form -name search -form { - {locale:text(hidden)} - {q:text - {label "Search message for"} +ad_form -name search -action message-search -form { + {locale:text(hidden) {value $locale}} +} + +if { ![string equal $default_locale $current_locale] } { + ad_form -extend -name search -form { + {search_locale:text(select) + {options $search_locales} + {label "Search locale"} + } } - {search_locale:text(select) - {options $search_locales} - {label "In locale"} +} else { + ad_form -extend -name search -form { + {search_locale:text(hidden) + {value $current_locale} + } } +} + +ad_form -extend -name search -form { + {q:text + {label "Search for"} + } } -on_request { # locale will be set now -} -on_submit { +} + +if { [exists_and_not_null search_locale] && [exists_and_not_null q] } { set submit_p 1 - # q and seach_locale will now be set as local variables. set search_string "%$q%" - db_multirow -extend { package_url edit_url } messages select_messages {} { - set edit_url "edit-localized-message?[export_vars { message_key locale package_key {return_url {[ad_return_url]} } }]" - set package_url "batch-editor?[export_vars { package_key locale }]" + db_multirow -extend { + package_url + edit_url + message_key_pretty + } messages select_messages {} { + set edit_url "edit-localized-message?[export_vars { locale package_key message_key {return_url {[ad_return_url]} } }]" + set package_url "message-list?[export_vars { locale package_key }]" + set message_key_pretty "$package_key.$message_key" } + + if { ![string equal $current_locale $default_locale] } { + if { [string equal $default_locale $search_locale] } { + set other_locale $locale_label + set other_search_url "[ad_conn url]?[export_vars { locale q {search_locale $current_locale} }]" + } else { + set other_locale $default_locale_label + set other_search_url "[ad_conn url]?[export_vars { locale q {search_locale $default_locale} }]" + } + } } + Index: openacs-4/packages/acs-lang/www/admin/message-usage-include.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/message-usage-include.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/message-usage-include.adp 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,6 @@ + +

@message_usage.file@:

+
@message_usage.code@
+
+ + Index: openacs-4/packages/acs-lang/www/admin/message-usage-include.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/message-usage-include.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/message-usage-include.tcl 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,27 @@ +# @input message_key:multiple +# @input package_key +# +# @author Peter Marklund (peter@collaboraid.biz) +# @author Lars Pind (lars@collaboraid.biz) +# @cvs-id $Id: message-usage-include.tcl,v 1.1 2003/08/14 16:06:20 lars Exp $ + +set full_key_pattern "${package_key}.([join $message_key "|"])" + +multirow create message_usage file code + +with_catch errmsg { + exec find [acs_root_dir] -type f -regex ".*\\.\\(info\\|adp\\|sql\\|tcl\\)" -follow | xargs egrep "${full_key_pattern}" 2>/dev/null +} { + #error "find [acs_root_dir] -type f -regex \".*\\.\\(info\\|adp\\|sql\\|tcl\\)\" -follow | xargs egrep \"${full_key_pattern}\"" + global errorInfo + + foreach line [split $errmsg "\n"] { + if { [string first "child process exited abnormally" $line] == -1 } { + set colon [string first ":" $line] + + multirow append message_usage \ + [string range $line 0 [expr $colon-1]] \ + [string trim [string range $line [expr $colon+1] end]] + } + } +} Index: openacs-4/packages/acs-lang/www/admin/package-list.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/package-list.adp,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/package-list.adp 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,50 @@ + + @page_title;noquote@ + @context;noquote@ + + +Search for + + + + + + +
+ + + + + + + + + + + + + + + + + + +
PackageTranslatedUntranslatedTotal
+ + + @packages.package_key@ + + + @packages.num_translated_pretty@ + + + + @packages.num_untranslated_pretty@ + + + + @packages.num_messages_pretty@ + +
+ +
Index: openacs-4/packages/acs-lang/www/admin/package-list.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/package-list.tcl,v diff -u -N --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-lang/www/admin/package-list.tcl 14 Aug 2003 16:06:20 -0000 1.1 @@ -0,0 +1,114 @@ +ad_page_contract { + Displays packages that contain messages. + + @author Bruno Mattarollo + @author Lars Pind (lars@collaboraid.biz) + + @creation-date 26 October 2001 + @cvs-id $Id: package-list.tcl,v 1.1 2003/08/14 16:06:20 lars Exp $ +} { + locale +} -properties { + locale_label + page_title + context + current_locale + default_locale + packages:multirow + search_form +} + +# We rename to avoid conflict in queries +set current_locale $locale +set default_locale en_US + +set locale_label [ad_locale_get_label $current_locale] +set default_locale_label [ad_locale_get_label $default_locale] + +set page_title $locale_label +set context [list $page_title] + + + + + + + +##### +# +# Package/message list +# +##### + +db_multirow -extend { + num_messages_pretty + num_translated_pretty + num_untranslated + num_untranslated_pretty + batch_edit_url + view_messages_url + view_translated_url + view_untranslated_url +} packages select_packages { + select q.*, + (select count(*) + from lang_messages lm + where lm.package_key = q.package_key + and lm.locale = :current_locale) as num_translated + from (select lmk.package_key, + count(message_key) as num_messages + from lang_message_keys lmk + group by package_key) q + order by package_key +} { + set num_untranslated [expr $num_messages - $num_translated] + + set num_messages_pretty [lc_numeric $num_messages] + set num_translated_pretty [lc_numeric $num_translated] + set num_untranslated_pretty [lc_numeric $num_untranslated] + + set batch_edit_url "batch-editor?[export_vars { locale package_key }]" + set view_messages_url "message-list?[export_vars { locale package_key }]" + set view_translated_url "message-list?[export_vars { locale package_key { show "translated" } }]" + set view_untranslated_url "message-list?[export_vars { locale package_key { show "untranslated" } }]" +} + + + + + + +##### +# +# Search form +# +##### + +set search_locales [list \ + [list "Current locale - [ad_locale_get_label $current_locale]" $current_locale] \ + [list "Master locale - [ad_locale_get_label $default_locale]" $default_locale]] + +ad_form -name search -action message-search -form { + {locale:text(hidden) {value $locale}} +} + +if { ![string equal $default_locale $current_locale] } { + ad_form -extend -name search -form { + {search_locale:text(select) + {options $search_locales} + {label "Search locale"} + } + } +} else { + ad_form -extend -name search -form { + {search_locale:text(hidden) + {value $current_locale} + } + } +} + +ad_form -extend -name search -form { + {q:text + {label "Search for"} + } +} Index: openacs-4/packages/acs-lang/www/admin/set-system-timezone.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/set-system-timezone.adp,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-lang/www/admin/set-system-timezone.adp 11 Aug 2003 16:45:11 -0000 1.4 +++ openacs-4/packages/acs-lang/www/admin/set-system-timezone.adp 14 Aug 2003 16:06:20 -0000 1.5 @@ -1,6 +1,6 @@ - - @page_title;noquote@ - System Timzeone + + @page_title@ + @context;noquote@

Here's what the configuration looks like at this point: @@ -56,7 +56,7 @@ - + "#00bb00""red"> Does it look like the OpenACS timezone setting above is correct: @@ -88,53 +88,42 @@


- You can use the form below to tell ACS what timezone Oracle is + You can use the form below to tell ACS what timezone your database is operating in. (There does not appear to be a nice way to ask the database this question automatically).

- - -

- Based on the UTC time retrieved from timeanddate.com, we believe that your server is set to one of the following timezones: -

-

-

- + - - - - - - + - -
-

+

+

+ Or select from all zones: +

+
+ +

+ Set Timezone: +

+

- In case we're wrong, you can pick another timezone here: +

-
-

- Set Timezone: +

-
-

-

- - -
-

- + Index: openacs-4/packages/acs-lang/www/admin/set-system-timezone.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/set-system-timezone.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-lang/www/admin/set-system-timezone.tcl 8 Aug 2003 12:21:28 -0000 1.3 +++ openacs-4/packages/acs-lang/www/admin/set-system-timezone.tcl 14 Aug 2003 16:06:20 -0000 1.4 @@ -2,7 +2,8 @@ ad_page_contract { Set the acs-lang system parameter which says what the local timezone offset is } { - {timezone ""} + {timezone_all ""} + {timezone_recommended ""} } -properties { page_title system_timezone @@ -17,11 +18,14 @@ ad_script_abort } -if {![empty_string_p $timezone]} { - lang::system::set_timezone $timezone +if { ![empty_string_p $timezone_recommended] } { + lang::system::set_timezone $timezone_recommended +} elseif { ![empty_string_p $timezone_all] } { + lang::system::set_timezone $timezone_all } set page_title "Set System Timezone" +set context [list $page_title] set system_timezone [lang::system::timezone] @@ -70,6 +74,8 @@ set delta_hours [expr round(($sysdate_utc_epoch - $utc_epoch)*4.0 / (60*60)) / 4.0] set recommended_offset [expr $system_utc_offset + $delta_hours] + set recommended_offset_pretty "UTC [format "+%d:%02d" [expr int($recommended_offset)] [expr int($recommended_offset*60) % 60]]" + if { $delta_hours == 0 } { set correct_p 1 } else {