Index: openacs-4/packages/acs-lang/www/admin/import-messages-from-ts.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/Attic/import-messages-from-ts.adp,v diff -u -N -r1.1.2.1 -r1.1.2.2 --- openacs-4/packages/acs-lang/www/admin/import-messages-from-ts.adp 25 Mar 2005 08:11:33 -0000 1.1.2.1 +++ openacs-4/packages/acs-lang/www/admin/import-messages-from-ts.adp 29 Apr 2005 08:31:53 -0000 1.1.2.2 @@ -2,7 +2,7 @@ Import messages from Translation Server Import results for - + all packages @@ -17,11 +17,11 @@ .

- Import finished. Number of messages processed: @message_count.processed@, added: @message_count.added@, updated: @message_count.updated@, - deleted: @message_count.deleted@. + Import finished. Number of messages processed: @message_count_total.processed@, added: @message_count_total.added@, updated: @message_count_total.updated@, + deleted: @message_count_total.deleted@.

- +

The following errors were produced: 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 -N -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 "Server Error" $message_information]} { + append errors_list "

  • No Translation on $translation_server for package $package_key" + continue + } -foreach message_key $messages_array_names { - if {[info exists descriptions_array($message_key)]} { - with_catch errmsg { + array set catalog_array [lang::catalog::parse $message_information] + + # Get the messages array, and the list of message keys to iterate over + + array set messages_array [lindex [array get catalog_array messages] 1] + set messages_array_names [array names messages_array] + + # Get the descriptions array + + array set descriptions_array [lindex [array get catalog_array descriptions] 1] + + # Register messages + + array set message_count [lang::catalog::import_messages \ + -file_messages_list [array get messages_array] \ + -package_key $package_key \ + -locale $locale] + + # Register descriptions + + foreach message_key $messages_array_names { + if {[info exists descriptions_array($message_key)]} { + with_catch errmsg { lang::message::update_description \ -package_key $catalog_array(package_key) \ -message_key $message_key \ -description $descriptions_array($message_key) - } { - global errorInfo - ns_log Error "Registering description for key ${package_key}.${message_key} in locale $locale failed with error message \"$errmsg\"\n\n$errorInfo" - } + } { + global errorInfo + ns_log Error "Registering description for key ${package_key}.${message_key} in locale $locale failed with error message \"$errmsg\"\n\n$errorInfo" + } } + } + + set package_conflict_count [lang::message::conflict_count \ + -package_key $package_key \ + -locale $locale] + if {$package_conflict_count > 0} { + append errors_list "
  • [join $message_count(errors) "
  • "]
  • " + incr conflict_count $package_conflict_count + } + + # Increase the total messages counted + foreach type $count_type_list { + incr message_count_total($type) $message_count($type) + } + + array unset catalog_array + array unset messages_array + array unset descriptions_array } -set conflict_count [lang::message::conflict_count \ - -package_key $package_key \ - -locale $locale] +if ![empty_string_p $errors_list] { + set errors_list "
      $errors_list
    " +} -set errors_list "
    • - [join $message_count(errors) "
    • "]
    -" +set package_key "" set conflict_url [export_vars \ -base message-conflicts {package_key locale}] 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 -r1.6 -r1.6.2.1 --- openacs-4/packages/acs-lang/www/admin/package-list.adp 30 Jan 2004 14:53:06 -0000 1.6 +++ openacs-4/packages/acs-lang/www/admin/package-list.adp 29 Apr 2005 08:31:53 -0000 1.6.2.1 @@ -11,6 +11,7 @@ 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 -r1.5 -r1.5.2.1 --- openacs-4/packages/acs-lang/www/admin/package-list.tcl 11 Dec 2003 21:39:53 -0000 1.5 +++ openacs-4/packages/acs-lang/www/admin/package-list.tcl 29 Apr 2005 08:31:53 -0000 1.5.2.1 @@ -115,4 +115,5 @@ set import_all_url [export_vars -base import-messages { { locale $current_locale } {return_url {[ad_return_url]}} }] +set import_all_ts_url [export_vars -base import-messages-from-ts { { locale $current_locale } {return_url {[ad_return_url]}} }] set export_all_url [export_vars -base export-messages { { locale $current_locale } {return_url {[ad_return_url]}} }]