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 -r1.1 -r1.2 --- openacs-4/packages/acs-lang/www/admin/display-localized-messages.tcl 7 Oct 2002 14:32:48 -0000 1.1 +++ openacs-4/packages/acs-lang/www/admin/display-localized-messages.tcl 21 Oct 2002 11:39:14 -0000 1.2 @@ -1,13 +1,15 @@ 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$ } { locales translated_p + package_key } -properties { } @@ -17,75 +19,60 @@ set default_locale [ad_parameter DefaultLocale] set default_locale en_US -# Christian: this should be in ad_page_contract - right? - -request create -params { - locales -datatype text - grouper_key -datatype text -} - -if { [exists_and_not_null locales] } { - set locale_user $locales +if { ![info exists locales] } { + set current_locale [ad_conn locale] } else { - set locale_user [ad_locale_locale_from_lang [ad_locale user language]] + set current_locale $locales } -# AS - disabling, doesn't work -# set encoding_charset [ad_locale charset $locale_user] -# ns_setformencoding $encoding_charset -# ns_set put [ns_conn outputheaders] "content-type" "text/html; charset=$encoding_charset" -set escaped_locale [ns_urlencode $locale_user] - # Query to get all the messages that DO NOT have a translation to the # language selected -set cat_msg_not_translated " -select - key, - message -from - lang_messages lm1 -where - lm1.locale = :default_locale and - substr(lm1.key, 1, instr(lm1.key, '.') - 1) = :grouper_key and - not exists ( - select 1 - from lang_messages lm2 - where lm2.locale = :locale_user and - lm1.key = lm2.key - )" +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 + ) +} + # Query that get all the messages that HAVE a translation to # the language selected -# -set cat_msg_translated " -select - lm1.key as key, - lm1.message as default_message, - lm2.message as translated_message -from - lang_messages lm1, - lang_messages lm2 -where - lm1.locale = :default_locale and - substr(lm1.key, 1, instr(lm1.key, '.') - 1) = :grouper_key and - lm2.locale = :locale_user and - lm1.key = lm2.key" -template::multirow create missing_translation key locale message escaped_key escaped_language +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 +} -template::multirow create translated_messages key locale default_message translated_message escaped_key escaped_language +template::multirow create missing_translation message_key locale default_message escaped_key escaped_language +template::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 { - template::multirow append missing_translation $key $locale_user $message [ns_urlencode $key] [ns_urlencode $locale_user] + template::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 { - template::multirow append translated_messages $key $locale_user $default_message $translated_message [ns_urlencode $key] [ns_urlencode $locale_user] + template::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 = :locale_user } + select label as locale_label from ad_locales where locale = :current_locale +} -db_release_unused_handles +set escaped_package_key [ns_urlencode $package_key]