Index: openacs-4/packages/acs-lang/www/admin/import-messages-from-ts.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/import-messages-from-ts.tcl,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-lang/www/admin/import-messages-from-ts.tcl 23 Apr 2005 06:23:21 -0000 1.1.2.3 +++ openacs-4/packages/acs-lang/www/admin/import-messages-from-ts.tcl 29 Apr 2005 08:31:53 -0000 1.1.2.4 @@ -4,7 +4,7 @@ @author Peter Marklund } { locale - package_key + {package_key ""} {return_url "/acs-lang/admin"} } @@ -14,54 +14,105 @@ ad_script_abort } -set message_count(processed) 0 -set message_count(added) 0 -set message_count(updated) 0 -set message_count(deleted) 0 -set message_count(errors) [list] +# Determine if we are dealing only with one package key. +if { ![empty_string_p $package_key] } { + set package_key_list $package_key + set single_package_p 1 +} else { + set single_package_p 0 + set package_key_list [apm_enabled_packages] +} set translation_server "http://translate.openacs.org" -array set catalog_array [lang::catalog::parse [ad_httpget -url [export_vars -base "$translation_server/acs-lang/download-messages" {package_key locale}]]] -# Get the messages array, and the list of message keys to iterate over +set conflict_count 0 -array set messages_array [lindex [array get catalog_array messages] 1] -set messages_array_names [array names messages_array] +set errors_list "" -# Get the descriptions array +set count_type_list [list processed added updated deleted] -array set descriptions_array [lindex [array get catalog_array descriptions] 1] +foreach type $count_type_list { + set message_count_total($type) 0 +} -# Register messages +foreach package_key $package_key_list { + # Get the translation information for each package. -array set message_count [lang::catalog::import_messages \ - -file_messages_list [array get messages_array] \ - -package_key $package_key \ - -locale $locale] + # Initialize the message_count array + foreach type $count_type_list { + set message_count($type) 0 + } + set message_count(errors) [list] -# Register descriptions + # Skip the package if it has no catalog files at all + if { ![file exists [lang::catalog::package_catalog_dir $package_key]] } { + continue + } + + # Get the translations from the translation server. On error skip it. + set message_information [ad_httpget -url [export_vars -base "$translation_server/acs-lang/download-messages" {package_key locale}]] + if {[regexp "