+
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 ""
+}
-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]}} }]