Commit a49e1013 authored by Frank Bergmann's avatar Frank Bergmann

Initial Import

parents
<?xml version="1.0"?>
<!-- Generated by the OpenACS Package Manager -->
<package key="acs-lang" url="http://openacs.org/repository/apm/packages/acs-lang" type="apm_service">
<package-name>Localization</package-name>
<pretty-plural>Localization</pretty-plural>
<initial-install-p>t</initial-install-p>
<singleton-p>t</singleton-p>
<version name="5.1.5" url="http://openacs.org/repository/download/apm/acs-lang-5.1.5.apm">
<owner url="mailto:peter@collaboraid.biz">Peter Marklund</owner>
<summary>OpenACS Internationalization Support.</summary>
<release-date>2004-02-28</release-date>
<maturity>3</maturity>
<vendor url="http://www.collaboraid.biz">Collaboraid</vendor>
<description format="text/plain">Internationalization and localization support routines and admin UI for manipulating Locales,
request processor hooks, templating, accessing and managing the message catalog, and
locale-specific formatting functions for localizing dates, times, monetary amounts etc.</description>
<provides url="acs-lang" version="5.1.4"/>
<requires url="acs-kernel" version="5.0.0"/>
<requires url="ref-timezones" version="4.0"/>
<callbacks>
</callbacks>
<parameters>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="SiteWideLocale" default="en_US" description="The site-wide default locale"/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="SystemTimezone" default="UTC" description="The timezone that Oracle is set to use. Use a name from the acs-reference package, e.g., America/Los_Angeles or Asia/Tokyo"/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="UsePackageLevelLocalesP" default="0" description="Specify whether you want to allow different system/user locales per package, or only one site-wide locale system setting/user preference."/>
</parameters>
</version>
</package>
#!/usr/bin/perl -w
#
# Check that a catalog file has a consistent path and that package_key, locale, and
# charset info in the xml is consistent with info embedded in the filename.
#
# @author Peter Marklund
my $usage = "catalog-file-name.pl catalog_file_path";
use strict;
# Get arguments
my $file_path = shift or die "usage: $usage";
# Parse information from the file path
$file_path =~ m#(?i)([a-z-]+)/catalog/\1\.([a-z]{2,3}_[a-z]{2})\.(.*)\.xml$#
or die "catalog file path $file_path is not on format package_key/catalog/package_key.locale.charset.xml";
my ($file_package, $file_locale, $file_charset) = ($1, $2, $3, $4);
# Get the same info from the xml of the catalog file
open(FILE_INPUT, "< $file_path");
# Undefine the record separator to read the whole file in one go
undef $/;
my $file_contents = <FILE_INPUT>;
$file_contents =~ m#<message_catalog\s+package_key="(.+?)".+locale="(.+?)"\s+charset="(.+?)">#
or die "catalog file $file_path does not have a root xml node on parsable format";
my ($xml_package, $xml_locale, $xml_charset) = ($1, $2, $3);
# Assert that info in filename and xml be the same
if ( $file_package ne $xml_package ||
$file_locale ne $xml_locale ||
$file_charset ne $xml_charset) {
die "FAILURE: $file_path does not pass check since info in file path ($file_package, $file_locale, $file_charset) does not match info in xml ($xml_package, $xml_locale, $xml_charset)\n";
}
#!/bin/sh
#
# This script attempts to check that catalog files of a certain package
# (or all packages if no package key is provided) are consistent with
# eachother and that they are consistent with lookups in the code. More
# specifically the script does the following:
#
# 1) Checks that the info in the catalog filename matches info in
# its xml content (package_key, locale and charset).
#
# 2) Checks that the set of keys in the message catalog is identical to the
# set of keys in the adp, info, sql, and tcl files in the package.
#
# 3) Checks that the set of keys in non-en_US catalog files is present
# in the en_US catalog file of the package.
# Currently disabled as I'm not sure how to read the non-en_US files in the
# the right charset.
#
# 4) Checks that all keys in non-en_US catalog files are present in the en_US one.
# Currently disabled as I'm not sure how to read the non-en_US files in the
# the right charset.
#
# 5) Checks that the package version in every catalog file is consistent with what
# is in the corresponding info file. Currently only uses en_US files.
#
# The scripts assumes that message lookups in adp and info files are
# on the format #package_key.message_key#, and that message lookups
# in tcl files are always done with the underscore procedure.
#
# usage: check-catalog.sh [package_key package_key ...]
#
# @author Peter Marklund (peter@collaboraid.biz)
export script_path=$(dirname $(which $0))
### Functions start
source ${script_path}/functions.sh
get_date_time_key() {
message_key=$1
localization_msg_part=$(echo $message_key | ${script_path}/mygrep '^localization-(.*)$')
echo $localization_msg_part
}
check_one_key_in_catalog_file() {
message_key=$1
catalog_package_key=$2
if ! egrep -q "<msg[[:space:]]+key=\"$message_key\"" ../${catalog_package_key}/catalog/${catalog_package_key}.en_US.ISO-8859-1.xml; then
echo "$0: $package_key - Warning: key $message_key not in $catalog_package_key catalog file. Please inspect key usage:"
# This may be a false alarm, so show key usage for manual inspection
key_usage=$(find $find_dirs -type f | xargs grep "${package_key}.${message_key}")
echo "$0: $package_key - Warning:"
echo "$0: $package_key - Warning: $key_usage"
echo "$0: $package_key - Warning:"
fi
}
get_message_key_pattern() {
echo '[a-zA-Z0-9_.-]+'
}
check_package_version_of_catalog_files() {
info_file_package_version=$(cat ${package_key}.info | ${script_path}/mygrep '<version name="([^"]+)"')
for catalog_file in $(ls catalog/${package_key}*en_US*.xml)
do
catalog_package_version=$(cat $catalog_file | ${script_path}/mygrep '<message_catalog .*package_version="([^"]+)"')
if [ ! "$info_file_package_version" == "$catalog_package_version" ]; then
echo "$0: $package_key - Warning: package version $catalog_package_version in file $catalog_file does not equal version $info_file_package_version in info file."
fi
done
}
check_consistency_non_en_US_files() {
en_US_file=catalog/${package_key}.en_US.ISO-8859-1.xml
for file_name in $(ls catalog/${package_key}*.xml | grep -v 'en_US.ISO-8859-1.xml')
do
#echo "$0: $package_key - checking that keys in $file_name are also in en_US catalog file"
for catalog_key in `get_catalog_keys $file_name`
do
egrep -q "<msg key=\"${catalog_key}\">" $en_US_file || echo "$0: $package_key - Warning: key $catalog_key in $file_name missing in $en_US_file"
done
done
}
check_catalog_keys_have_lookups() {
# Check that all keys in the catalog file are either in tcl or adp or info files
for catalog_key in `get_catalog_keys catalog/${package_key}.en_US.ISO-8859-1.xml`
do
date_time_key=$(get_date_time_key $catalog_key)
if [ -n "$date_time_key" ]; then
# Need special regexp for date time message keys
lookup_lines=$(find $find_dirs -regex '.*\.\(info\|adp\|sql\|tcl\)' | xargs egrep "lc_get[^]]+$date_time_key")
else
lookup_lines=$(find $find_dirs -regex '.*\.\(info\|adp\|sql\|tcl\)' | xargs egrep "${package_key}\.$catalog_key")
fi
if [ -z "$lookup_lines" ]; then
echo "$0: $package_key - Warning: key $catalog_key in catalog file not found in any adp, info, sql, or tcl file"
fi
done
}
check_tcl_file_lookups_are_in_catalog() {
# Check that all message lookups in tcl files have entries in the message catalog
#echo "$0: $package_key - checking non-datetime tcl lookups"
message_key_pattern=$(get_message_key_pattern)
# We are using the widest possible regexp here that could in rare cases lead to false alarms
# However, that's better than risk removing keys used in tcl scripts
for tcl_message_key in $(find $find_dirs -iname '*.tcl'|xargs ${script_path}/mygrep \
"(?:\[_\s+[{\"]?${package_key}|\[lang::message::lookup.*${package_key}|\#${package_key})\.($message_key_pattern)")
do
check_one_key_in_catalog_file $tcl_message_key $package_key
done
# Date time message lookups are special cases as they use lc_get
#echo "$0: $package_key - checking datetime tcl lookups"
for tcl_message_key in $(find $find_dirs -iname '*.tcl'|xargs ${script_path}/mygrep \
"(?ms)\[lc_get[^]]+?($message_key_pattern)\"?\]")
do
check_one_key_in_catalog_file "localization-$tcl_message_key" acs-lang
done
}
check_adp_file_lookups_are_in_catalog() {
catalog_file=catalog/${package_key}.en_US.ISO-8859-1.xml
# Check that all message lookups in adp and info files are in the catalog file
message_key_pattern=$(get_message_key_pattern)
for adp_message_key in $(find $find_dirs -regex '.*\.\(info\|adp\|sql\)'|xargs ${script_path}/mygrep \
"#${package_key}\.($message_key_pattern)#")
do
check_one_key_in_catalog_file $adp_message_key $package_key
done
}
### Functions end
packages_dir="${script_path}/../../"
find_dirs="$packages_dir ${packages_dir}../www"
# Process arguments
if [ "$#" == "0" ]; then
# No package provided - check all packages
for catalog_dir in $(find $package_dir -iname catalog -type d)
do
# Recurse with each package key that has a catalog dir
$0 $(basename $(dirname $catalog_dir))
done
exit 0
fi
for package_key in "$@"
do
export package_key
# Check that the catalog file exists
catalog_file_path="${packages_dir}${package_key}/catalog/${package_key}.en_US.ISO-8859-1.xml"
if [ ! -e $catalog_file_path ]; then
echo "$0: Error - the file $catalog_file_path in package $package_key doesn't exist, exiting"
exit 1
fi
package_path="${script_path}/../../${package_key}"
cd $package_path
for file_name in $(ls catalog/*en_US*.xml)
do
${script_path}/check-catalog-file-path.pl "${package_path}/${file_name}"
done
echo "$0: $package_key - checking en_US catalog keys are in lookups"
check_catalog_keys_have_lookups
echo "$0: $package_key - checking tcl lookups are in en_US catalog file"
check_tcl_file_lookups_are_in_catalog
echo "$0: $package_key - checking adp lookups are in en_US catalog file"
check_adp_file_lookups_are_in_catalog
#check_consistency_non_en_US_files
echo "$0: $package_key - checking that package version in each catalog file is consistent with package version in corresponding info file"
check_package_version_of_catalog_files
done
# Functions re-used by scripts in acs-lang/bin
#
# @author Peter Marklund
# Assumes script_path to be set
get_catalog_keys() {
file_name=$1
echo $(${script_path}/mygrep '<msg key="([^"]+)"' $file_name)
}
find_en_us_files() {
echo $(find ${script_path}/../../ -regex '.*/catalog/.*en_US.*\.xml' -maxdepth 3)
}
#!/bin/sh
#
# Generate a listing of all message keys in the system to STDOUT.
#
# @author Peter Marklund
export script_path=$(dirname $(which $0))
source ${script_path}/functions.sh
for en_us_file in $(find_en_us_files)
do
package_key=$(echo $en_us_file | ${script_path}/mygrep '/([^./]+)[^/]+$')
for key in $(get_catalog_keys $en_us_file)
do
echo "${package_key}.${key}"
done
done
#!/usr/bin/perl -w
#
# Loops through the input (input taken from files on the command line or from STDIN)
# line by line (or file by file) and prints what was captured in the first
# parenthesis of the pattern. Start the pattern with (?i) for case insensitive matching.
# Use -m to match across multiple lines.
#
# Usage: mygrep [-m] <pattern> [files...]
#
# @author Peter Marklund (peter@collaboraid.biz)
if ($ARGV[0] =~ /^-m/) {
shift;
# Undefine the record separator to read the whole file in one go
undef $/;
$pattern = shift;
# Let . match newline
if ($pattern !~ /^\w*\(\?\w*s\w*\)/) {
$pattern = "(?s)$pattern";
}
} else {
$pattern = shift;
}
# Take input from STDIN or from files
my $have_match = 0;
while ($line = <>) {
while ($line =~ /$pattern/) {
if (defined($1)) {
print STDOUT "$1\n";
}
# Do next matching on whatever comes after last match
$line=$';
$have_match = 1;
}
}
$have_match ? exit 0 : exit 1;
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="ar_EG" charset="utf-8">
<msg key="English">إنجليزيّ</msg>
<msg key="French">فَرَنْسِيّ</msg>
<msg key="German">أَلْمانِيّ</msg>
<msg key="Spanish">إِسْبانِيّ</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="ar_LB" charset="utf-8">
<msg key="available-in-this-language">متوفر بالانجليزية</msg>
<msg key="change-locale">تغير الموقع </msg>
<msg key="English">إنجليزيّ</msg>
<msg key="French">فَرَنْسِيّ</msg>
<msg key="German">أَلْمانِيّ</msg>
<msg key="localization-abday">{أح} {إث} {ثل} {أر} {خم} {جم} {سب}</msg>
<msg key="localization-abmon">{ك2} {شبا} {آذا} {نيس} {أيا} {حزي} {تمو} {آب} {أيل} {ت1} {ت2} {ك1}</msg>
<msg key="localization-am_str">ص</msg>
<msg key="localization-currency_symbol">ل.ل.</msg>
<msg key="localization-d_fmt">%d/%m/%y </msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %H:%M %Z</msg>
<msg key="localization-day">{أحد} {إثنين} {الثلاثاء} {الأربعاء} {الخميس} {الجمعة} {السبت} </msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d %B %Y </msg>
<msg key="localization-dlongweekday_fmt">%A %d %B %Y </msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM </msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">ل.ل.</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{كانون الثاني} {شباط} {آذار} {نيسان} {أيار} {حزيران} {تموز} {آب} {أيلول} {تشرين الاول} {تشرين الثاني} {كانون الاول} </msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">،</msg>
<msg key="localization-n_cs_precedes">0</msg>
<msg key="localization-n_sep_by_space">1</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">0</msg>
<msg key="localization-p_sep_by_space">1</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">صباحا</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">إِسْبانِيّ</msg>
<msg key="this-language">اللبنانية</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="ast_ES" charset="ISO-8859-1">
<msg key="English">Ingls</msg>
<msg key="French">Francs</msg>
<msg key="German">Alemn</msg>
<msg key="localization-abday">{Dom} {llu} {Mar} {Mi} {Xue} {Vie} {Sab}</msg>
<msg key="localization-abmon">{Xin} {Feb} {Mar} {Abr} {May} {Xun} {Xul} {Ago} {Set} {Otu} {Nov} {Avi}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">$</msg>
<msg key="localization-d_fmt">&quot;%d-%m-%y&quot;</msg>
<msg key="localization-d_t_fmt">&quot;%a %d %B %Y %R %Z&quot;</msg>
<msg key="localization-day">{Domingo} {Llunes} {Martes} {Mircoles} {Xueves} {Vienres} {Sbado}</msg>
<msg key="localization-decimal_point">'</msg>
<msg key="localization-dlong_fmt">&quot;%d de(d')%m del %Y&quot;</msg>
<msg key="localization-dlongweekday_fmt">&quot;%A, %d de(d') %B del %Y&quot;</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">EUR</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Xinero} {Febrero} {Marzo} {Abril} {Mayo} {Xuno} {Xuneto} {Agosto} {Setiembre} {Otubre} {Noviembre} {Aviento}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Castellano</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="ca_ES" charset="ISO-8859-1">
<msg key="available-in-this-language">Disponible en catal</msg>
<msg key="change-locale">Canviar idioma</msg>
<msg key="English">Angls</msg>
<msg key="French">Francs</msg>
<msg key="German">Alemany</msg>
<msg key="localization-abday">{diu} {dill} {dim} {dic} {dij} {div} {dis}</msg>
<msg key="localization-abmon">{gen.} {febr.} {mar} {abr.} {maig} {juny} {jul.} {ag.} {set.} {oct.} {nov.} {des.}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">?</msg>
<msg key="localization-d_fmt">%m/%d/%a </msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %H:%M %Z</msg>
<msg key="localization-day">{Diumenge} {Dilluns} {Dimarts} {Dimecres} {Dijous} {Divendres} {Dissabte}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%D %B, %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %d %B %Y </msg>
<msg key="localization-firstdayofweek">1 </msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">-1 -1 </msg>
<msg key="localization-int_curr_symbol">EUR</msg>
<msg key="localization-int_frac_digits">2 </msg>
<msg key="localization-mon">{Gener} {Febrer} {Mar} {Abril} {Maig} {Juny} {Juliol} {Agost} {Setembre} {Octubre} {Novembre} {Desembre} </msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1 </msg>
<msg key="localization-n_sep_by_space">1 </msg>
<msg key="localization-n_sign_posn">1 </msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">1</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%H:%M </msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Castell</msg>
<msg key="this-language">Catal</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.0" locale="ch_zh" charset="utf-8">
<msg key="available-in-this-language">中文版</msg>
<msg key="English">英语</msg>
<msg key="French">法语</msg>
<msg key="German">德语</msg>
<msg key="localization-abday">周日 周一 周二 周三 周四 周五 周六</msg>
<msg key="localization-abmon">1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月</msg>
<msg key="localization-am_str">上午</msg>
<msg key="localization-currency_symbol">¥</msg>
<msg key="localization-d_fmt">%y年%m月%d日</msg>
<msg key="localization-d_t_fmt">%a %B %d, %Y %r %Z</msg>
<msg key="localization-day">星期日 星期一 星期二 星期三 星期四 星期五 星期六</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%Y年 %B %d日</msg>
<msg key="localization-dlongweekday_fmt">%A %B %d, %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM </msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">RMB</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep"></msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign"></msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">下午</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">西班牙语</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="da_DK" charset="ISO-8859-1">
<msg key="available-in-this-language">Findes p dansk</msg>
<msg key="change-locale">ndre sprog</msg>
<msg key="English">Engelsk</msg>
<msg key="French">Fransk</msg>
<msg key="German">Tysk</msg>
<msg key="localization-abday">{sn} {man} {tir} {ons} {tor} {fre} {lr}</msg>
<msg key="localization-abmon">{jan} {feb} {mar} {apr} {maj} {jun} {jul} {aug} {sep} {okt} {nov} {dec}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">kr</msg>
<msg key="localization-d_fmt">%d/%m-%y</msg>
<msg key="localization-d_t_fmt">%a %e. %B %Y %r %Z</msg>
<msg key="localization-day">{sndag} {mandag} {tirsdag} {onsdag} {torsdag} {fredag} {lrdag}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%e. %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A den %e. %B %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">DKK </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{januar} {februar} {marts} {april} {maj} {juni} {juli} {august} {september} {oktober} {november} {december}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Spansk</msg>
<msg key="this-language">Dansk</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="de_DE" charset="ISO-8859-1">
<msg key="available-in-this-language">Deutsche Version verfgbar</msg>
<msg key="change-locale">Sprache wechseln</msg>
<msg key="English">Englisch</msg>
<msg key="French">Franzsisch</msg>
<msg key="German">Deutsch</msg>
<msg key="localization-abday">{So} {Mo} {Di} {Mi} {Do} {Fr} {Sa}</msg>
<msg key="localization-abmon">{Jan} {Feb} {Mrz} {Apr} {Mai} {Jun} {Jul} {Aug} {Sep} {Okt} {Nov} {Dez}</msg>
<msg key="localization-am_str">A.M.</msg>
<msg key="localization-currency_symbol">?</msg>
<msg key="localization-d_fmt">%d.%m.%Y</msg>
<msg key="localization-d_t_fmt">%a, %d. %B %Y %H:%M %Z</msg>
<msg key="localization-day">{Sonntag} {Montag} {Dienstag} {Mittwoch} {Donnerstag} {Freitag} {Samstag}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d. %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A, %d. %B %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_date_format">DD MONTH YYYY</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">EUR </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Januar} {Februar} {Mrz} {April} {Mai} {Juni} {Juli} {August} {September} {Oktober} {November} {Dezember}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">P.M.</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Spanisch</msg>
<msg key="this-language">Deutsch</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="el_GR" charset="utf-8">
<msg key="English">Αγγλικά</msg>
<msg key="French">Γαλλικά</msg>
<msg key="German">Γερμανικά</msg>
<msg key="Spanish">Ισπανικά</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="en_AU" charset="ISO-8859-1">
<msg key="available-in-this-language">Available in English</msg>
<description key="available-in-this-language">The language referred to in the message body should be the language of the locale, not a localized version of &quot;English&quot;.</description>
<msg key="change-locale">Change locale</msg>
<msg key="English">English</msg>
<msg key="French">French</msg>
<msg key="German">German</msg>
<msg key="localization-abday">{Sun} {Mon} {Tue} {Wed} {Thu} {Fri} {Sat}</msg>
<msg key="localization-abmon">{Jan} {Feb} {Mar} {Apr} {May} {Jun} {Jul} {Aug} {Sep} {Oct} {Nov} {Dec}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">$</msg>
<msg key="localization-d_fmt">%m/%d/%y</msg>
<msg key="localization-d_t_fmt">%a %B %d, %Y %r %Z</msg>
<msg key="localization-day">{Sunday} {Monday} {Tuesday} {Wednesday} {Thursday} {Friday} {Saturday}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%B %d, %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %B %d, %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_date_format">MONTH DD YYYY</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">USD </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{January} {February} {March} {April} {May} {June} {July} {August} {September} {October} {November} {December}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<description key="localization-n_sep_by_space">An integer set to 0
if no space separates the currency_symbol or int_curr_symbol from
the value for a negative monetary quantity, set to 1 if a space
separates the symbol from the value and set to 2 if a space separates the symbol and the sign string, if adjacent.
</description>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<description key="localization-p_sep_by_space">0 means that no
space should be printed between the symbol and the value. 1 means
that a space should be printed between the symbol and the value.
2 means that a space should be printed between the symbol and the sign string, if adjacent.</description>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Spanish</msg>
<msg key="this-language">English</msg>
<description key="this-language">The label of the locale, in the locale's language. This should be different for each locale. This should not be English unless the locale is &quot;en&quot;.</description>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="en_GB" charset="ISO-8859-1">
<msg key="localization-abday">{Sun} {Mon} {Tue} {Wed} {Thu} {Fri} {Sat}</msg>
<msg key="localization-abmon">{Jan} {Feb} {Mar} {Apr} {May} {Jun} {Jul} {Aug} {Sep} {Oct} {Nov} {Dec}</msg>
<msg key="localization-am_str"></msg>
<msg key="localization-currency_symbol"></msg>
<msg key="localization-d_fmt">%d/%m/%y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %H:%M %Z</msg>
<msg key="localization-day">{Sunday} {Monday} {Tuesday} {Wednesday} {Thursday} {Friday} {Saturday}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%d %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %d %B %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">GBP </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{January} {February} {March} {April} {May} {June} {July} {August} {September} {October} {November} {December}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str"></msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">,</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="en_US" charset="ISO-8859-1">
<msg key="available-in-this-language">Available in English</msg>
<description key="available-in-this-language">The language referred to in the message body should be the language of the locale, not a localized version of &quot;English&quot;.</description>
<msg key="change-locale">Change locale</msg>
<msg key="English">English</msg>
<msg key="French">French</msg>
<msg key="German">German</msg>
<msg key="localization-abday">{Sun} {Mon} {Tue} {Wed} {Thu} {Fri} {Sat}</msg>
<msg key="localization-abmon">{Jan} {Feb} {Mar} {Apr} {May} {Jun} {Jul} {Aug} {Sep} {Oct} {Nov} {Dec}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">$</msg>
<msg key="localization-d_fmt">%m/%d/%y</msg>
<msg key="localization-d_t_fmt">%a %B %d, %Y %r %Z</msg>
<msg key="localization-day">{Sunday} {Monday} {Tuesday} {Wednesday} {Thursday} {Friday} {Saturday}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%B %d, %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %B %d, %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_date_format">MONTH DD YYYY</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">USD </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{January} {February} {March} {April} {May} {June} {July} {August} {September} {October} {November} {December}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<description key="localization-n_sep_by_space">An integer set to 0
if no space separates the currency_symbol or int_curr_symbol from
the value for a negative monetary quantity, set to 1 if a space
separates the symbol from the value and set to 2 if a space separates the symbol and the sign string, if adjacent.
</description>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<description key="localization-p_sep_by_space">0 means that no
space should be printed between the symbol and the value. 1 means
that a space should be printed between the symbol and the value.
2 means that a space should be printed between the symbol and the sign string, if adjacent.</description>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Spanish</msg>
<msg key="this-language">English</msg>
<description key="this-language">The label of the locale, in the locale's language. This should be different for each locale. This should not be English unless the locale is &quot;en&quot;.</description>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d4" locale="es_CO" charset="ISO-8859-1">
<msg key="available-in-this-language">Disponible en Espaol</msg>
<msg key="change-locale">Cambiar local</msg>
<msg key="English">Ingls</msg>
<msg key="French">Francs</msg>
<msg key="German">Alemn</msg>
<msg key="localization-abday">{Dom} {Lun} {Mar} {Mi} {Jue} {Vie} {Sb}</msg>
<msg key="localization-abmon">{Ene} {Feb} {Mar} {Abr} {May} {Jun} {Jul} {Ago} {Sep} {Oct} {Nov} {Dic}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol"></msg>
<msg key="localization-d_fmt">%d/%m/%y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %H:%M %Z</msg>
<msg key="localization-day">{Domingo} {Lunes} {Martes} {Mircoles} {Jueves} {Viernes} {Sbado}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%d, %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %d %B %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_date_format">DD MES AAAA</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">0</msg>
<msg key="localization-grouping">-1 -1 </msg>
<msg key="localization-int_curr_symbol">EUR </msg>
<msg key="localization-int_frac_digits">0</msg>
<msg key="localization-mon">{Enero} {Febrero} {Marzo} {Abril} {Mayo} {Junio} {Julio} {Agosto} {Septiembre} {Octubre} {Noviembre} {Diciembre}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">1</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">1</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Espaol</msg>
<msg key="this-language">Espaol</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="es_ES" charset="ISO-8859-1">
<msg key="available-in-this-language">Disponible en Espaol</msg>
<msg key="change-locale">Cambiar local</msg>
<msg key="English">Ingls</msg>
<msg key="French">Francs</msg>
<msg key="German">Alemn</msg>
<msg key="localization-abday">{Dom} {Lun} {Mar} {Mi} {Jue} {Vie} {Sb}</msg>
<msg key="localization-abmon">{Ene} {Feb} {Mar} {Abr} {May} {Jun} {Jul} {Ago} {Sep} {Oct} {Nov} {Dic}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">?</msg>
<msg key="localization-d_fmt">%d/%m/%y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %H:%M %Z</msg>
<msg key="localization-day">{domingo} {lunes} {martes} {mircoles} {jueves} {viernes} {sbado}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %d %B %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">-1 -1 </msg>
<msg key="localization-int_curr_symbol">EUR </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{enero} {febrero} {marzo} {abril} {mayo} {junio} {julio} {agosto} {septiembre} {octubre} {noviembre} {diciembre}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">1</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">1</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Espaol</msg>
<msg key="this-language">Espaol</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d4" locale="es_GT" charset="ISO-8859-1">
<msg key="available-in-this-language">Disponible en Espaol</msg>
<msg key="change-locale">Cambiar local</msg>
<msg key="English">Ingls</msg>
<msg key="French">Francs</msg>
<msg key="German">Alemn</msg>
<msg key="localization-abday">{Dom} {Lun} {Mar} {Mi} {Jue} {Vie} {Sb}</msg>
<msg key="localization-abmon">{Ene} {Feb} {Mar} {Abr} {May} {Jun} {Jul} {Ago} {Sep} {Oct} {Nov} {Dic}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol"></msg>
<msg key="localization-d_fmt">%d/%m/%y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %H:%M %Z</msg>
<msg key="localization-day">{Domingo} {Lunes} {Martes} {Mircoles} {Jueves} {Viernes} {Sbado}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%d, %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %d %B %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_date_format">DD MES AAAA</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">0</msg>
<msg key="localization-grouping">-1 -1 </msg>
<msg key="localization-int_curr_symbol">EUR </msg>
<msg key="localization-int_frac_digits">0</msg>
<msg key="localization-mon">{Enero} {Febrero} {Marzo} {Abril} {Mayo} {Junio} {Julio} {Agosto} {Septiembre} {Octubre} {Noviembre} {Diciembre}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">1</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">1</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Espaol</msg>
<msg key="this-language">Espaol</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="eu_ES" charset="ISO-8859-1">
<msg key="available-in-this-language">Eskuragai Euskaraz</msg>
<msg key="English">Ingelesa</msg>
<msg key="French">Frantsesa</msg>
<msg key="German">Alemana</msg>
<msg key="localization-abday">{Iga} {Ast} {Ast} {Ast} {Ost} {Ost} {Lar}</msg>
<msg key="localization-abmon">{Urt} {Ots} {Mar} {Api} {Mai} {Eka} {Uzt} {Abu} {Ira} {Urr} {Aza} {Abe}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">?</msg>
<msg key="localization-d_fmt">%y-%m-%d</msg>
<msg key="localization-d_t_fmt">%a, %Y-ko %B-ren %d, %T %Z</msg>
<msg key="localization-day">{Igandea} {Astelehena} {Asteartea} {Asteazkena} {Osteguna} {Ostirala} {Larunbata}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%Y-ko %B-ren %d</msg>
<msg key="localization-dlongweekday_fmt">%A, %Y-ko %B-ren %d</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-int_curr_symbol">EUR</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Urtarrila} {Otsaila} {Martxoa} {Apirila} {Maiatza} {Ekaina} {Uztaila} {Abuztua} {Iraila} {Urria} {Azaroa} {Abendua}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-t_fmt">%T</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Espainola</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="fa_IR" charset="utf-8">
<msg key="English">انگلیسی</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="fi_FI" charset="utf-8">
<msg key="English">Englanti</msg>
<msg key="French">Ranska</msg>
<msg key="German">Saksa</msg>
<msg key="localization-abday">{su} {ma} {ti} {ke} {to} {pe} {la}</msg>
<msg key="localization-abmon">{tammi} {helmi} {maalis} {huhti} {touko} {kesä} {heinä} {elo} {syys} {loka} {marras} {joulu}</msg>
<msg key="localization-am_str"></msg>
<msg key="localization-currency_symbol"></msg>
<msg key="localization-d_fmt">%d.%m.%Y</msg>
<msg key="localization-d_t_fmt">%a, %d. %Bta %Y %H:%M %Z</msg>
<msg key="localization-day">{sunnuntai} {maanantai} {tiistai} {keskiviikko} {torstai} {perjantai} {lauantai}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d. %Bta %Y</msg>
<msg key="localization-dlongweekday_fmt">%A, %d. %Bta %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">EUR </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{tammikuu} {helmikuu} {maaliskuu} {huhtikuu} {toukokuu} {kesäkuu} {heinäkuu} {elokuu} {syyskuu} {lokakuu} {marraskuu} {joulukuu}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep"></msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str"></msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep"></msg>
<msg key="Spanish">Espanja</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="fr_FR" charset="ISO-8859-1">
<msg key="English">Anglais</msg>
<msg key="French">Franais</msg>
<msg key="German">Allemand</msg>
<msg key="localization-abday">{dim} {lun} {mar} {mer} {jeu} {ven} {sam}</msg>
<msg key="localization-abmon">{jan} {fv} {mar} {avr} {mai} {jun} {jui} {ao} {sep} {oct} {nov} {dc}</msg>
<msg key="localization-am_str"></msg>
<msg key="localization-currency_symbol"></msg>
<msg key="localization-d_fmt">%d.%m.%Y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %H:%M %Z</msg>
<msg key="localization-day">{dimanche} {lundi} {mardi} {mercredi} {jeudi} {vendredi} {samedi}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %d %B %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">-1 -1 </msg>
<msg key="localization-int_curr_symbol">EUR </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{janvier} {fvrier} {mars} {avril} {mai} {juin} {juillet} {aot} {septembre} {octobre} {novembre} {dcembre}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep"></msg>
<msg key="localization-n_cs_precedes">0</msg>
<msg key="localization-n_sep_by_space">1</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">0</msg>
<msg key="localization-p_sep_by_space">1</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str"></msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Espagnol</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="gl_ES" charset="ISO-8859-1">
<msg key="English">Ingls</msg>
<msg key="French">Francs</msg>
<msg key="German">Alemn</msg>
<msg key="localization-abday">{Dom} {Seg} {Ter} {Cua} {Qui} {Sex} {Sb}</msg>
<msg key="localization-abmon">{Xan} {Feb} {Mar} {Abr} {Mai} {Xu} {Xul} {Ago} {Set} {Out} {Nov} {Dec}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">$</msg>
<msg key="localization-d_fmt">%d-%m-%Y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %R %Z</msg>
<msg key="localization-day">{Domingo} {Segunda} {Terceira} {Cuarta} {Quinta} {Sexta} {Sbado}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d de %B de %Y</msg>
<msg key="localization-dlongweekday_fmt">%A, %d de %B de %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">EUR</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Xaneiro} {Febreiro} {Marzo} {Abril} {Maio} {Xuo} {Xullo} {Agosto} {Setembro} {Outubro} {Novembro} {Decembro}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%R</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Espaol</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="hu_HU" charset="utf-8">
<msg key="localization-abday">{H} {K} {Sze} {Cs} {P} {Szo} {V}</msg>
<msg key="localization-d_fmt">%Y.%m.%d</msg>
<msg key="localization-day">{vasárnap} {hétfő} {kedd} {szerda} {csütörtök} {péntek} {szombat}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%Y. %B %e.</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-mon">{január} {február} {március} {április} {május} {június} {július} {augusztus} {szeptember} {október} {november} {december}</msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">.</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="it_IT" charset="ISO-8859-1">
<msg key="English">Inglese</msg>
<msg key="French">Francese</msg>
<msg key="German">Tedesco</msg>
<msg key="localization-abday">{Dom} {Lun} {Mar} {Mer} {Gio} {Ven} {Sab}</msg>
<msg key="localization-abmon">{Gen} {Feb} {Mar} {Apr} {Mag} {Giu} {Lug} {Ago} {Set} {Ott} {Nov} {Dic}</msg>
<msg key="localization-am_str"></msg>
<msg key="localization-currency_symbol"></msg>
<msg key="localization-d_fmt">%d/%m/%y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %H:%M %Z</msg>
<msg key="localization-day">{Domenica} {Luned} {Marted} {Mercoled} {Gioved} {Venerd} {Sabato}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %d %B %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">Euro</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Gennaio} {Febbraio} {Marzo} {Aprile} {Maggio} {Giugno} {Luglio} {Agosto} {Settembre} {Ottobre} {Novembre} {Dicembere}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep"></msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str"></msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep"></msg>
<msg key="Spanish">Spagnolo</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="ja_JP" charset="utf-8">
<msg key="English">英語</msg>
<msg key="French">フランス語</msg>
<msg key="German">ドイツ語</msg>
<msg key="localization-abday">{日曜日} {月曜日} {火曜日} {水曜日} {木曜日} {金曜日} {土曜日}</msg>
<msg key="localization-abmon"> {1 月} {2 月} {3 月} {4 月} {5 月} {6 月} {7 月} {8 月} {9 月} {10 月} {11 月} {12 月}</msg>
<msg key="localization-currency_symbol">¥</msg>
<msg key="localization-day"> {日曜日} {月曜日} {火曜日} {水曜日} {木曜日} {金曜日} {土曜日}</msg>
<msg key="localization-int_curr_symbol">JPY</msg>
<msg key="localization-mon">{1 月} {2 月} {3 月} {4 月} {5 月} {6 月} {7 月} {8 月} {9 月} {10 月} {11 月} {12 月}</msg>
<msg key="Spanish">スペイン語</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="ko_KR" charset="utf-8">
<msg key="available-in-this-language">영어로 가능</msg>
<msg key="English">영어</msg>
<msg key="French">프랑스어</msg>
<msg key="German">독일어</msg>
<msg key="localization-abday">{일} {월} {화} {수} {목} {금} {토}</msg>
<msg key="localization-abmon">{1¿?} {2¿?} {3¿?} {4¿?} {5¿?} {6¿?} {7¿?} {8¿?} {9¿?} {10¿?} {11¿?} {12¿?}</msg>
<msg key="localization-am_str">오전</msg>
<msg key="localization-currency_symbol"></msg>
<msg key="localization-d_fmt">%m/%d/%y</msg>
<msg key="localization-d_t_fmt">%a %B %d, %Y %r %Z</msg>
<msg key="localization-day">{?????} {¿?¿???} {?¿???} {¼?¿???} {¸?¿???} {±????} {??¿???}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%B %d, %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %B %d, %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">HH12:MI 오전</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">KRW </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{1월} {2월} {3월} {4월} {5월} {6월} {7월} {8월} {9월} {10월} {11월} {12월}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">오후</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">스페인어</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="ms_MY" charset="utf-8">
<msg key="available-in-this-language">Sedia ada dalam Bahasa Melayu</msg>
<msg key="change-locale">Penempatan</msg>
<msg key="English">Bahasa Inggeris</msg>
<msg key="French">Bahasa Perancis</msg>
<msg key="German">Bahasa Jerman</msg>
<msg key="localization-abday">{Aha} {Isn} {Sel} {Rab} {Kha} {Jum} {Sab}</msg>
<msg key="localization-abmon">{Jan} {Feb} {Mac} {Apr} {Mei} {Jun} {Jul} {Ogo} {Sep} {Okt} {Nov} {Dis}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">$</msg>
<msg key="localization-d_fmt">%m/%d/%y</msg>
<msg key="localization-d_t_fmt">%a %B %d %Y %r %Z</msg>
<msg key="localization-day">{Ahad} {Isnin} {Selasa} {Rabu} {Khamis} {Jumaat} {Sabtu}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%B %d %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %B %d %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">RM</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Januari} {Februari} {Mac} {April} {Mei} {Jun} {Julai} {Ogos} {September} {Oktober} {November} {Disember}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Bahasa Sepanyol</msg>
<msg key="this-language">Bahasa Melayu</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.0" locale="ms_my" charset="utf-8">
<msg key="available-in-this-language">Tersedia dalam Bahasa Inggeris</msg>
<msg key="English">Bahasa Inggeris</msg>
<msg key="French">Bahasa Perancis</msg>
<msg key="German">Bahasa Jerman</msg>
<msg key="localization-abday">{Aha} {Isn} {Sel} {Rab} {Kha} {Jum} {Sab}</msg>
<msg key="localization-abmon">{Jan} {Feb} {Mac} {Apr} {Mei} {Jun} {Jul} {Ogo} {Sep} {Okt} {Nov} {Dis}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">$</msg>
<msg key="localization-d_fmt">%m/%d/%y</msg>
<msg key="localization-d_t_fmt">%a %B %d %Y %r %Z</msg>
<msg key="localization-day">{Ahad} {Isnin} {Selasa} {Rabu} {Khamis} {Jumaat} {Sabtu}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%B %d %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %B %d %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">RM</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Januari} {Februari} {Mac} {April} {Mei} {Jun} {Julai} {Ogos} {September} {Oktober} {November} {Disember}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Bahasa Sepanyol</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="nl_NL" charset="ISO-8859-1">
<msg key="available-in-this-language">Nederlandse versie is beschikbaar</msg>
<msg key="change-locale">Taal instellen</msg>
<msg key="English">Engels</msg>
<msg key="French">Frans</msg>
<msg key="German">Duits</msg>
<msg key="localization-abday">{zon} {maa} {din} {woe} {don} {vr?} {zat}</msg>
<msg key="localization-abmon">{jan} {feb} {mrt} {apr} {mei} {jun} {jul} {aug} {sep} {okt} {nov} {dec}</msg>
<msg key="localization-am_str">Voormiddag</msg>
<msg key="localization-currency_symbol">?
</msg>
<msg key="localization-d_fmt">%d.%m.%Y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %H:%M %Z</msg>
<msg key="localization-day">{zondag} {maandag} {dinsdag} {woensdag} {donderdag} {vrijdag} {zaterdag}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %d %B %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">EUR </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{januari} {februari} {maart} {april} {mei} {juni} {juli} {augustus} {september} {oktober} {november} {december}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">Namiddag</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Spaans</msg>
<msg key="this-language">Nederlands</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="nn_NO" charset="ISO-8859-1">
<msg key="available-in-this-language">Tilgjengeleg p norsk</msg>
<msg key="English">Engelsk</msg>
<msg key="French">Fransk</msg>
<msg key="German">Tysk</msg>
<msg key="localization-abday">{sun} {mn} {tys} {ons} {tor} {fre} {lau}</msg>
<msg key="localization-abmon">{jan} {feb} {mar} {apr} {mai} {jun} {jul} {aug} {sep} {okt} {nov} {des}</msg>
<msg key="localization-am_str">Formiddag</msg>
<msg key="localization-currency_symbol">kr</msg>
<msg key="localization-d_fmt">%e%m-%y</msg>
<msg key="localization-d_t_fmt">%a %e. %B %Y %r %Z</msg>
<msg key="localization-day">{sundag} {mndag} {tysdag} {onsdagy} {torsdag} {fredag} {laurdag} </msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%e. %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A den %e. %B %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">NOK</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{januar} {februar} {mars} {april} {mai} {juni} {juli} {august} {september} {oktober} {november} {desember} </msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">Ettermiddag</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%H:%M </msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Spansk</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="no_NO" charset="ISO-8859-1">
<msg key="available-in-this-language">Tilgjengelig p bokml</msg>
<msg key="English">Engelsk</msg>
<msg key="French">Fransk</msg>
<msg key="German">Tysk</msg>
<msg key="localization-abday">{sn} {man} {tir} {ons} {tor} {fre} {lr}</msg>
<msg key="localization-abmon">{jan} {feb} {mar} {apr} {mai} {jun} {jul} {aug} {sep} {okt} {nov} {des}</msg>
<msg key="localization-am_str">Formiddag</msg>
<msg key="localization-currency_symbol">kr</msg>
<msg key="localization-d_fmt">%e/%m-%y</msg>
<msg key="localization-d_t_fmt">%a %e. %B %Y %r %Z</msg>
<msg key="localization-day">{sndag} {mandag} {tirsdag} {onsdag} {torsdag} {fredag} {lrdag}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%e. %B %Y</msg>
<msg key="localization-dlongweekday_fmt">%A den %e. %B %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">NOK </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{januar} {februar} {mars} {april} {mai} {juni} {juli} {august} {september} {oktober} {november} {desember}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">Ettermiddag</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Spansk</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="pl_PL" charset="utf-8">
<msg key="available-in-this-language">Dostępne po polsku</msg>
<msg key="English">Angielski</msg>
<msg key="French">Francuski</msg>
<msg key="German">Niemiecki</msg>
<msg key="localization-abday">{Nd} {Pn} {Wt} {Śr} {Czw} {Pt} {So}</msg>
<msg key="localization-abmon">{Sty} {Lut} {Mar} {Kwi} {Maj} {Cze} {Lip} {Sie} {Wrz} {Paź} {Lis} {Gru}</msg>
<msg key="localization-am_str">PP</msg>
<msg key="localization-currency_symbol"></msg>
<msg key="localization-d_fmt">%d-%m-%y</msg>
<msg key="localization-d_t_fmt">%d %B %Y %T %Z</msg>
<msg key="localization-day">{Niedziela} {Poniedziałek} {Wtorek} {Środa} {Czwartek} {Piątek} {Sobota}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">PLN </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Styczeń} {Luty} {Marzec} {Kwiecień} {Maj} {Czerwiec} {Lipiec} {Sierpień} {Wrzesień} {Październik} {Listopad} {Grudzień}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep"></msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">1</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str"></msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%T</msg>
<msg key="localization-thousands_sep"></msg>
<msg key="Spanish">Hiszpański</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="pt_BR" charset="ISO-8859-1">
<msg key="available-in-this-language">Disponvel em Portugus</msg>
<msg key="change-locale">Alterar idioma</msg>
<msg key="English">Ingls</msg>
<msg key="French">Francs</msg>
<msg key="German">Alemo</msg>
<msg key="localization-abday">{Dom} {Seg} {Ter} {Qua} {Qui} {Sex} {Sb}</msg>
<msg key="localization-abmon">{Jan} {Fev} {Mar} {Abr} {Mai} {Jun} {Jul} {Ago} {Set} {Out} {Nov} {Dez}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">R$</msg>
<msg key="localization-d_fmt">%d/%m/%y</msg>
<msg key="localization-d_t_fmt">%a, %d de %B de %Y, %r %Z</msg>
<msg key="localization-day">{Domingo} {Segunda} {Tera} {Quarta} {Quinta} {Sexta} {Sbado}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d de %B de %Y</msg>
<msg key="localization-dlongweekday_fmt">%A, %d de %B de %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">BRL </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Janeiro} {Fevereiro} {Maro} {Abril} {Maio} {Junho} {Julho} {Agosto} {Setembro} {Outubro} {Novembro} {Dezembro}</msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Espanhol</msg>
<msg key="this-language">Portugus</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="pt_PT" charset="ISO-8859-1">
<msg key="English">Ingls</msg>
<msg key="French">Francs</msg>
<msg key="German">Alemo</msg>
<msg key="localization-abday">{Dom} {Seg} {Ter} {Qua} {Qui} {Sex} {Sb}</msg>
<msg key="localization-abmon">{Jan} {Fev} {Mar} {Abr} {Mai} {Jun} {Jul} {Ago} {Set} {Out} {Nov} {Dez}</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">?</msg>
<msg key="localization-d_fmt">%d-%m-%Y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y %R %Z</msg>
<msg key="localization-day">{Domingo} {Segunda} {Tera} {Quarta} {Quinta} {Sexta} {Sbado}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%d de %B de %Y</msg>
<msg key="localization-dlongweekday_fmt">%A, %d de %B de %Y </msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">EUR</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Janeiro} {Fevereiro} {Maro} {Abril} {Maio} {Junho} {Julho} {Agosto} {Setembro} {Outubro} {Novembro} {Dezembro}</msg>
<msg key="localization-mon_decimal_point">. </msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Espanhol</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="ro_RO" charset="utf-8">
<msg key="available-in-this-language">Disponibil in Engleza</msg>
<msg key="English">Engleză</msg>
<msg key="French">Franceză</msg>
<msg key="German">Germană</msg>
<msg key="localization-abday">Dum Lun Mar Mie Joi Vin Sam</msg>
<msg key="localization-abmon">Ian Feb Mar Apr Mai Iun Iul Aug Sep Oct Nov Dec</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-currency_symbol">$</msg>
<msg key="localization-d_fmt">%d/%m/%y</msg>
<msg key="localization-day">Duminică Luni Marţi Miercuri Joi Vineri Sâmbătă</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%d %B, %Y</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">USD</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">Ianuarie Februarie Martie Aprilie Mai Iunie Iulie August Septembrie Octombrie Noiembrie Decembrie</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Spaniolă</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="ru_RU" charset="utf-8">
<msg key="English">Английский</msg>
<msg key="French">Французский</msg>
<msg key="German">Немецкий</msg>
<msg key="localization-abday">{Вс} {Пн} {Вт} {Ср} {Чт} {Пт} {Сб}</msg>
<msg key="localization-abmon">{янв} {фев} {мар} {апр} {май} {июн} {июл} {авг} {сен} {окт} {ноя} {дек}</msg>
<msg key="localization-am_str"></msg>
<msg key="localization-currency_symbol">?.</msg>
<msg key="localization-d_fmt">%d.%m.%y</msg>
<msg key="localization-d_t_fmt">%a %d %B %Y ?., %H:%M %Z</msg>
<msg key="localization-day">{Воскресенье} {Понедельник} {Вторник} {Среда} {Четверг} {Пятница} {Суббота}</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%B %d, %Y</msg>
<msg key="localization-dlongweekday_fmt">%A %B %d, %Y</msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3 </msg>
<msg key="localization-int_curr_symbol">RUB </msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">{Январь} {февраль} {Март} {Апрель} {Май} {Июнь} {Июль} {Август} {Сентябрь} {Октябрь} {Ноябрь} {Декабрь}</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3 </msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">0</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">0</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str"></msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">Испанский</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="sh_HR" charset="utf-8">
<msg key="English">Engleski</msg>
<msg key="French">Francuski</msg>
<msg key="German">Nemacki</msg>
<msg key="Spanish">Spanski</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="sv_SE" charset="ISO-8859-1">
<msg key="available-in-this-language">Tillgngligt p svenska</msg>
<msg key="English">Engelska</msg>
<msg key="French">Franska</msg>
<msg key="German">Tyska</msg>
<msg key="localization-abday">{Sn} {Mn} {Tis} {Ons} {Tor} {Fre} {Lr}</msg>
<msg key="localization-abmon">{Jan} {Feb} {Mar} {Apr} {Maj} {Jun} {Jul} {Aug} {Sep} {Okt} {Nov} {Dec}</msg>
<msg key="localization-am_str">FM</msg>
<msg key="localization-currency_symbol">kr</msg>
<msg key="localization-d_fmt">%Y-%m-%d</msg>
<msg key="localization-d_t_fmt">%a %e. %B %Y %r %Z</msg>
<msg key="localization-day">{Sndag} {Mndag} {Tisdag} {Onsdag} {Torsdag} {Fredag} {Lrdag}</msg>
<msg key="localization-decimal_point">,</msg>
<msg key="localization-dlong_fmt">%d %B, %Y</msg>
<msg key="localization-dlongweekday_fmt">%A den %e. %B %Y </msg>
<msg key="localization-firstdayofweek">1</msg>
<msg key="localization-formbuilder_time_format">HH24:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">SEK</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon"> {Januari} {Februari} {Mars} {April} {Maj} {Juni} {Juli} {Augusti} {September} {Oktober} {November} {December} </msg>
<msg key="localization-mon_decimal_point">,</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">.</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">1</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">EM</msg>
<msg key="localization-positive_sign"></msg>
<msg key="localization-t_fmt">%H:%M</msg>
<msg key="localization-thousands_sep">.</msg>
<msg key="Spanish">Spanska</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="th_TH" charset="utf-8">
<msg key="English">ภาษาอังกฤษ</msg>
<msg key="French">ภาษาฝรั่งเศส</msg>
<msg key="German">ภาษาเยอรมัน</msg>
<msg key="localization-am_str">AM</msg>
<msg key="localization-pm_str">PM</msg>
<msg key="Spanish">ภาษาสเปน</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="tr_TR" charset="utf-8">
<msg key="English">İnglizce</msg>
<msg key="French">Fransızca</msg>
<msg key="German">Almanca</msg>
<msg key="Spanish">İspanyolca</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="zh_CN" charset="utf-8">
<msg key="available-in-this-language">中文版</msg>
<msg key="change-locale">改变语言</msg>
<msg key="English">英语</msg>
<msg key="French">法语</msg>
<msg key="German">德语</msg>
<msg key="localization-abday">周日 周一 周二 周三 周四 周五 周六</msg>
<msg key="localization-abmon">1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月</msg>
<msg key="localization-am_str">上午</msg>
<msg key="localization-currency_symbol">¥</msg>
<msg key="localization-d_fmt">%y年%m月%d日</msg>
<msg key="localization-d_t_fmt">%a %B %d, %Y %r %Z</msg>
<msg key="localization-day">星期日 星期一 星期二 星期三 星期四 星期五 星期六</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%Y年 %B %d日</msg>
<msg key="localization-dlongweekday_fmt">%A %B %d, %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">HH12:MI AM </msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">RMB</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep"></msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign"></msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">下午</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">西班牙语</msg>
<msg key="this-language">简体中文</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-lang" package_version="5.1.2d2" locale="zh_TW" charset="utf-8">
<msg key="available-in-this-language">繁體中文版</msg>
<msg key="change-locale">變更地區設定</msg>
<msg key="English">英文</msg>
<msg key="French">法文</msg>
<msg key="German">德文</msg>
<msg key="localization-abday">日 一 二 三 四 五 六</msg>
<msg key="localization-abmon">一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月</msg>
<msg key="localization-am_str">上午</msg>
<msg key="localization-currency_symbol">$</msg>
<msg key="localization-d_fmt">%m%d%y</msg>
<msg key="localization-d_t_fmt"> %a %B %d, %Y %r %Z</msg>
<msg key="localization-day">週日 週一 週二 週三 週四 週五 週六</msg>
<msg key="localization-decimal_point">.</msg>
<msg key="localization-dlong_fmt">%Y年%B%d日</msg>
<msg key="localization-dlongweekday_fmt">%A %B %d, %Y</msg>
<msg key="localization-firstdayofweek">0</msg>
<msg key="localization-formbuilder_time_format">上午 HH12:MI</msg>
<msg key="localization-frac_digits">2</msg>
<msg key="localization-grouping">3 3</msg>
<msg key="localization-int_curr_symbol">NTD</msg>
<msg key="localization-int_frac_digits">2</msg>
<msg key="localization-mon">一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月</msg>
<msg key="localization-mon_decimal_point">.</msg>
<msg key="localization-mon_grouping">3 3</msg>
<msg key="localization-mon_thousands_sep">,</msg>
<msg key="localization-n_cs_precedes">1</msg>
<msg key="localization-n_sep_by_space">0</msg>
<msg key="localization-n_sign_posn">1</msg>
<msg key="localization-negative_sign">-</msg>
<msg key="localization-p_cs_precedes">1</msg>
<msg key="localization-p_sep_by_space">0</msg>
<msg key="localization-p_sign_posn">1</msg>
<msg key="localization-pm_str">下午</msg>
<msg key="localization-positive_sign">+</msg>
<msg key="localization-t_fmt">%r</msg>
<msg key="localization-thousands_sep">,</msg>
<msg key="Spanish">西班牙文</msg>
<msg key="this-language">英文</msg>
</message_catalog>
<if @conflict_count@ gt 0>
<ul class="action-links">
<li><a href="@message_conflicts_url@">Resolve message conflicts</a></li>
</ul>
</if>
# Optional parameters:
#
# package_key
# locale
# Default params to empty string
# and build the link export list
set link_export_list [list]
foreach param {package_key locale} {
if { ![info exists $param] } {
set $param ""
} else {
# param provided
lappend link_export_list $param
}
}
set conflict_count [lang::message::conflict_count \
-package_key $package_key \
-locale $locale]
set message_conflicts_url [export_vars -base message-conflicts $link_export_list]
<if @display_p@>
<hr />
<h3>Translated messages on this page (@locale@)</h3>
<p><listtemplate name="messages"></listtemplate></p>
</if>
set locale [ad_conn locale]
set display_p [expr [lang::util::translator_mode_p] && ![string equal [ad_conn locale] "en_US"]]
template::list::create \
-name messages \
-multirow messages \
-elements {
message_key {
label "Message key"
}
orig_text {
label "English text"
}
translated_text {
label "Translation"
display_template {
<if @messages.translated_p@ false>
<a href="@messages.translate_url@" title="Translate"><font color="red">Translate</font></a>
</if>
<else>
@messages.translated_text@
</else>
}
}
edit {
label ""
display_template {
<if @messages.translated_p@ true>
<a href="@messages.translate_url@" title="Edit the translation">
<img src="/shared/images/Edit16.gif" height="16" width="16" alt="Edit" border="0">
</a>
</if>
}
sub_class narrow
}
}
if { $display_p } {
multirow create messages message_key orig_text translated_text translate_url translated_p
foreach message_key [lang::util::get_message_lookups] {
set locale [ad_conn locale]
# Extra args mean no substitution
set orig_text [lang::message::lookup "en_US" $message_key {} {} 0 0]
set translated_text [lang::message::lookup $locale $message_key {} {} 0 0]
set key_split [split $message_key "."]
set package_key_part [lindex $key_split 0]
set message_key_part [lindex $key_split 1]
set translate_url "/acs-lang/admin/edit-localized-message?[export_vars {{message_key $message_key_part} {package_key $package_key_part} locale { return_url [ad_return_url] } }]"
set translated_p [lang::message::message_exists_p [ad_conn locale] $message_key]
multirow append messages $message_key $orig_text $translated_text $translate_url $translated_p
}
}
-- Data model to support i18n of the ArsDigita Community
-- System
-- Copyright (C) 1999-2000 ArsDigita Corporation
-- Author: Henry Minsky (hqm@arsdigita.com)
-- $Id$
-- This is free software distributed under the terms of the GNU Public
-- License. Full text of the license is available from the GNU Project:
-- http://www.fsf.org/copyleft/gpl.html
prompt ** Creating locales table ...
@@ ad-locales.sql
prompt ** Creating translation catalog tables ...
@@ message-catalog.sql
-- Author: Jon Griffin (jon@jongriffin.com)
-- $Id$
@@ message-catalog-drop.sql
@@ ad-locales-drop.sql
--
-- packages/language/sql/language-create.sql
--
-- @author Jeff Davis (davis@xarg.net)
-- @creation-date 2000-09-10
-- @cvs-id $Id$
--
-- ****************************************************************************
-- * The lang_messages table holds the message catalog.
-- * It is populated by ad_lang_message_register.
-- * The registered_p flag denotes that a message exists in a file
-- * that gets loaded on server startup, and hence should not get updated.
-- ****************************************************************************
drop table ad_locale_user_prefs;
drop view enabled_locales;
drop table ad_locales;
This diff is collapsed.
--
-- packages/language/sql/language-drop.sql
--
-- @author davis@arsdigita.com
-- @creation-date 2000-09-10
-- @cvs-id $Id$
--
-- drop the timezone stuff
drop index tz_data_idx2;
drop index tz_data_idx1;
drop table tz_data;
drop function lc_time_utc_to_local;
drop function lc_time_local_to_utc;
-- drop the lang stuff
drop table lang_translation_registry;
drop table lang_translate_columns;
drop table lang_messages_audit;
drop table lang_messages;
drop table lang_message_keys;
drop table lang_user_timezone;
-- This might fail if the data model includes other multilingual tables
-- that reference ad_locales. Really need to cascade here to ensure
-- it goes away, but that is dangerous.
-- drop table ad_locales;
--
-- packages/acs-lang/sql/oracle/language-create.sql
--
-- @author Jeff Davis (davis@arsdigita.com)
-- @author Christian Hvid
-- @author Bruno Mattarollo (bruno.mattarollo@ams.greenpeace.org)
--
-- @creation-date 2000-09-10
-- @cvs-id $Id$
--
create table lang_user_timezone (
user_id integer
constraint lang_user_timezone_user_id_fk
references users (user_id) on delete cascade,
timezone varchar2(100)
);
create table lang_message_keys (
message_key varchar2(200)
constraint lang_message_keys_m_key_nn
not null,
package_key varchar2(100)
constraint lang_message_keys_fk
references apm_package_types(package_key)
on delete cascade
constraint lang_message_keys_p_key_nn
not null,
description clob,
constraint lang_message_keys_pk
primary key (message_key, package_key)
);
create table lang_messages (
message_key varchar2(200)
constraint lang_messages_message_key_nn
not null,
package_key varchar2(100)
constraint lang_messages_package_key_nn
not null,
locale varchar2(30)
constraint lang_messages_locale_fk
references ad_locales(locale)
constraint lang_messages_locale_nn
not null,
message clob,
deleted_p char(1) default 'f'
constraint lang_messages_dp_ck check (deleted_p in ('t','f')),
sync_time date,
conflict_p char(1) default 'f'
constraint lang_messages_cp_ck check (conflict_p in ('t','f')),
upgrade_status varchar2(30)
constraint lang_messages_us_ck
check (upgrade_status in ('no_upgrade', 'added', 'deleted', 'updated')),
creation_date date default sysdate not null,
creation_user integer
constraint lang_messages_create_u_fk
references users (user_id),
constraint lang_messages_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade,
constraint lang_messages_pk
primary key (message_key, package_key, locale)
);
comment on table lang_messages is '
Holds all the messages translated. The key is the way to get to a message.
This table should be read at boot time -from ACS- to load all the messages
into an nsv_array.
';
create table lang_messages_audit (
audit_id integer
constraint lang_messages_audit_pk
primary key,
message_key varchar2(200)
constraint lang_messages_audit_key_nn
not null,
package_key varchar2(100)
constraint lang_messages_audit_p_key_nn
not null,
locale varchar2(30)
constraint lang_messages_audit_l_fk
references ad_locales(locale)
constraint lang_messages_audit_l_nn
not null,
old_message clob,
deleted_p char(1) default 'f'
constraint lang_messages_audit_dp_ck check (deleted_p in ('t','f')),
sync_time date,
conflict_p char(1) default 'f'
constraint lang_messages_audit_cp_ck check (conflict_p in ('t','f')),
upgrade_status varchar2(30)
constraint lang_messages_audit_us_ck
check (upgrade_status in ('no_upgrade', 'added', 'deleted', 'updated')),
comment_text clob,
overwrite_date date default sysdate not null,
overwrite_user integer
constraint lang_messages_audit_ou_fk
references users (user_id),
constraint lang_messages_audit_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade
);
create sequence lang_messages_audit_id_seq;
-- ****************************************************************************
-- * The lang_translate_columns table holds the columns that require translation.
-- * It is needed to generate the user interface for translating the web site.
-- * Note that we register on_what_column itself for translation.
-- ****************************************************************************
create table lang_translate_columns (
column_id integer
constraint ltc_column_id_pk primary key,
-- cant do references on user_tables cause oracle sucks
on_which_table varchar2(50),
on_what_column varchar2(50),
--
-- whether all entries in a column must be translated for the
-- site to function.
--
-- probably ultimately need something more sophisticated than
-- simply required_p
--
required_p char(1)
constraint ltc_required_p_ck check(required_p in ('t','f')),
--
-- flag for whether to use the lang_translations table for content
-- or add a row in the on_which_table table with the translated content.
--
short_p char(1)
constraint ltc_short_p_ck check(short_p in ('t','f')),
constraint ltc_un unique (on_which_table, on_what_column)
);
-- ****************************************************************************
-- * The lang_translation_registry table identifies a row as requiring translation
-- * to a given language. This should identify the parent table not the broken-apart
-- * child table.
-- ****************************************************************************
create table lang_translation_registry (
on_which_table varchar(50),
on_what_id integer
constraint ltr_on_what_id_nn not null,
locale varchar2(30)
constraint ltr_locale_fk
references ad_locales(locale),
--
-- should have dependency info here
--
constraint lang_translation_registry_pk primary key(on_what_id, on_which_table, locale)
);
--
-- Upgrade script from 4.1 to 4.7
--
-- Changes lang_messages so it uses locale instead of language
-- by looking up the default locale in ad_locales.
--
-- There two things that could go wrong here:
--
-- 1. There could be no locale at all for some language
-- in that case the scripts adds a new locale
-- 2. There could be no default locale
-- the script makes sure that theres is one default locale
-- pr. language
--
-- @author Christian Hvid
--
-- Make sure that there is a default for every language
UPDATE ad_locales
SET default_p = 't'
WHERE (SELECT count(*)
FROM ad_locales a
WHERE a.language = ad_locales.language AND default_p='t') = 0;
-- Make sure that there is a locale for every language used in lang_messages
INSERT INTO ad_locales (language, locale, country, label, nls_language, default_p)
SELECT language,
language || '_' || UPPER(language) as locale,
'??' as country,
'Locale created by upgrade-4.1-4.7 for language ' || language as label,
'??' as nls_language,
't' as default_p
FROM
((SELECT DISTINCT lang as language
FROM lang_messages) MINUS
(SELECT DISTINCT language
FROM ad_locales));
create table temp (
key varchar(200),
lang varchar(2),
message clob,
registered_p char(1)
);
INSERT INTO temp(key, lang, message, registered_p)
SELECT key, lang, message, registered_p
FROM lang_messages;
DROP TABLE lang_messages;
create table lang_messages (
key varchar2(200),
locale varchar2(30)
constraint lang_messages_locale_fk
references ad_locales(locale)
constraint lang_messages_locale_nn
not null,
message clob,
registered_p char(1)
constraint lm_tranlated_p_ck check(registered_p in ('t','f')),
constraint lang_messages_pk primary key (key, locale)
);
INSERT INTO lang_messages(key, locale, message, registered_p)
SELECT key, ad_locales.locale, message, registered_p
FROM temp, ad_locales
WHERE ad_locales.language = temp.lang;
DROP TABLE temp;
--
-- Upgrade script from 4.7d2 to 4.7d3
--
-- Split message keys and remove registered_p
-- Copy all messages to a temporary table
create table temp (
key varchar2(200),
locale varchar2(30),
message clob
);
INSERT INTO temp(key, locale, message)
SELECT key, locale, message
FROM lang_messages;
-- drop old table
DROP TABLE lang_messages;
-- create new table
create table lang_message_keys (
message_key varchar2(200)
constraint lang_message_keys_m_key_nn
not null,
package_key varchar2(100)
constraint lang_message_keys_fk
references apm_package_types(package_key)
constraint lang_message_keys_p_key_nn
not null,
constraint lang_message_keys_pk
primary key (message_key, package_key)
);
create table lang_messages (
message_key varchar2(200)
constraint lang_messages_message_key_nn
not null,
package_key varchar2(100)
constraint lang_messages_package_key_nn
not null,
locale varchar2(30)
constraint lang_messages_locale_fk
references ad_locales(locale)
constraint lang_messages_locale_nn
not null,
message clob,
constraint lang_messages_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade,
constraint lang_messages_pk
primary key (message_key, package_key, locale)
);
-- insert old data
-- into lang_message_keys
INSERT INTO lang_message_keys(message_key, package_key)
SELECT DISTINCT SUBSTR(key, INSTR(key, '.')+1) message_key,
SUBSTR(key, 0, INSTR(key, '.')-1) package_key
FROM temp, apm_package_types
WHERE SUBSTR(key, 0, INSTR(key, '.')-1) = package_key;
-- into lang_messages
INSERT INTO lang_messages(message_key, package_key, locale, message)
SELECT SUBSTR(key, INSTR(key, '.')+1) message_key,
SUBSTR(key, 0, INSTR(key, '.')-1) package_key,
locale,
message
FROM temp, apm_package_types
WHERE SUBSTR(key, 0, INSTR(key, '.')-1) = package_key;
DROP TABLE temp;
alter table lang_message_keys add
upgrade_status varchar2(30)
constraint lang_message_keys_us_ck
check (upgrade_status in ('no_upgrade', 'added','deleted'));
alter table lang_messages add
upgrade_status varchar2(30)
constraint lang_messages_us_ck
check (upgrade_status in ('no_upgrade', 'added', 'deleted', 'updated'));
create table lang_messages_audit (
message_key varchar2(200)
constraint lang_messages_audit_key_nn
not null,
package_key varchar2(100)
constraint lang_messages_audit_p_key_nn
not null,
locale varchar2(30)
constraint lang_messages_audit_l_fk
references ad_locales(locale)
constraint lang_messages_audit_l_nn
not null,
message clob,
overwrite_date date default sysdate not null,
overwrite_user integer
constraint lang_messages_audit_ou_fk
references users (user_id),
constraint lang_messages_audit_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade
);
-- Upgrade script that adds new locale from the dotLRN translation server
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('fi_FI', 'Finnish (FI)', 'fi', 'FI', 'FINNISH', 'FINLAND', 'WE8ISO8859P15', 'ISO-8859-15', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('nl_NL', 'Dutch (NL)', 'nl', 'NL', 'DUTCH', 'THE NETHERLANDS', 'WE8ISO8859P1', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('ch_zh', 'Chinese (ZH)', 'CH', 'ZH', 'SIMPLIFIED CHINESE', 'CHINA', 'ZHT32EUC', 'ISO-2022-CN', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('pl_PL', 'Polish (PL)', 'pl', 'PL', 'POLISH', 'POLAND', 'EE8ISO8859P2', 'ISO-8859-2', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('no_NO', 'Norwegian (NO)', 'no', 'NO', 'NORWEGIAN', 'NORWAY', 'WE8ISO8859P1', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('tl_PH', 'Tagalog (PH)', 'tl', 'PH', 'AMERICAN', 'ALGERIA', 'WE8ISO8859P1', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('el_GR', 'Greek (GR)', 'el', 'GR', 'GREEK', 'GREECE', 'EL8ISO8859P7', 'ISO-8859-7', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('it_IT', 'Italian (IT)', 'it', 'IT', 'ITALIAN', 'ITALY', 'WE8DEC', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('ru_RU', 'Russian (RU)', 'ru', 'RU', 'RUSSIAN', 'CIS', 'RU8PC855', 'windows-1251', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('si_LK', 'Sinhalese (LK)','si', 'LK', 'ENGLISH', 'UNITED KINGDOM', 'UTF8', 'ISO-10646-UTF-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('sh_HR', 'Serbo-Croatian (SR/HR)', 'sr', 'YU', 'SLOVENIAN', 'SLOVENIA', 'YUG7ASCII', 'ISO-8859-5', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('nn_NO', 'Norwegian (NN)','nn', 'NO', 'NORWEGIAN', 'NORWAY', 'WE8ISO8859P1', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('pt_BR', 'Portuguese (BR)', 'pt', 'BR', 'BRAZILIAN PORTUGUESE', 'BRAZIL', 'WE8ISO8859P1', 'ISO-8859-1', 't'
);
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('TH_TH', 'Thai (TH)', 'th', 'TH', 'THAI', 'THAILAND', 'TH8TISASCII', 'TIS-620', 't');
-- Forgot to add this locale earlier, some installations may have it already
declare
v_locale_exists_p integer;
begin
select count(*) into v_locale_exists_p
from ad_locales where locale = 'sv_SE';
if v_locale_exists_p = 0 then
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('sv_SE', 'Swedish (SE)', 'sv', 'SE', 'SWEDISH', 'SWEDEN',
'WE8ISO8859P1', 'ISO-8859-1', 't');
end if;
end;
/
show errors
declare
v_table_exists_p integer;
begin
select count(*) into v_table_exists_p
from user_objects
where object_name = 'AD_LOCALE_USER_PREFS';
if v_table_exists_p = 0 then
-- Need to create table
execute immediate 'create table ad_locale_user_prefs (
user_id integer
constraint ad_locale_user_prefs_users_fk
references users (user_id) on delete cascade,
package_id integer
constraint lang_package_l_u_package_id_fk
references apm_packages(package_id) on delete cascade,
locale varchar(30) not null
constraint trb_language_preference_lid_fk
references ad_locales (locale) on delete cascade
)';
end if;
end;
/
show errors
-- We now allow for three character language codes
alter table ad_locales modify language char(3);
-- Make message keys cascade when packages are deleted
alter table lang_message_keys drop constraint lang_message_keys_fk;
alter table lang_message_keys
add constraint lang_message_keys_fk
foreign key (package_key)
references apm_package_types(package_key)
on delete cascade;
-- New locales from the translation server
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('AR_EG', 'Arabic (AR_EG)', 'AR ', 'EG', 'ARABIC', 'EGYPT', 'AR8ISO8859P6', 'ISO-8859-6', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('tr_TR', 'Turkish (TR)', 'tr ', 'TR', 'TURKISH', 'TURKEY', 'WE8ISO8859P9', 'ISO-8859-9', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('ms_my', 'Malaysia (MY)', 'ms ', 'MY', 'MALAY', 'MALAYSIA', 'US7ASCII', 'US-ASCII', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('hi_IN', 'Hindi (IN)', 'hi ', 'IN', 'HINDI', 'INDIA', 'UTF8', 'UTF-8', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('ko_KR', 'Korean(KOR)', 'ko ', 'KR', 'KOREAN', 'KOREA', 'KO16KSC5601', 'EUC-KR', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('zh_TW', 'Chinese (TW)', 'zh ', 'TW', 'TRADITIONAL CHINESE', 'TAIWAN', 'ZHT16BIG5', 'Big5', 't');
--
-- Oracle upgrade script from 4.7d9 to 5.0d1
--
-- 1. Adds an enabled_p flag to ad_locales.
--
-- 2. Adds a comment field to lang_messages_audit
--
-- 3. Renames the lang_messages_audit.message column to 'old_message' in order to make the meaning more clear.
--
-- 4. Adds a description column to lang_message_keys.
--
-- @author Simon Carstensen (simon@collaboraid.biz)
-- @author Lars Pind (lars@collaboraid.biz)
--
-- @creation-date 2003-08-11
-- @cvs-id $Id$
--
-- 1. Adds an enabled_p flag to ad_locales.
-- New enabled_p column in ad_locales
alter table ad_locales
add enabled_p char(1) default 't'
constraint ad_locale_enp_tf check(enabled_p in ('t','f'));
-- Let all locales be enabled for sites that are upgrading
update ad_locales set enabled_p = 't';
-- New view
create or replace view enabled_locales as
select * from ad_locales
where enabled_p = 't';
-- 2. Adds a comment field to lang_messages_audit
-- Add a comment field to the message audit table
alter table lang_messages_audit add comment_text clob;
commit;
-- 3. Renames the lang_messages_audit.message column to 'old_message' in order to make the meaning more clear.
-- Rename the coclumn 'message' to 'old_message' in the lang_messages_audit table
alter table lang_messages_audit add old_message clob;
update lang_messages_audit set old_message = message;
commit;
alter table lang_messages_audit drop (message);
-- 4. Adds a description column to lang_message_keys.
alter table lang_message_keys add description clob;
-- @author Peter Marklund
-- Change the lang_messages_audit table to have a new integer primary key column
create sequence lang_messages_audit_id_seq;
alter table lang_messages_audit add audit_id integer;
alter table lang_messages_audit drop constraint lang_messages_audit_pk;
begin
for one_row in (select message_key,
package_key,
locale,
overwrite_date
from lang_messages_audit
order by overwrite_date
)
loop
update lang_messages_audit set audit_id = lang_messages_audit_id_seq.nextval
where message_key = one_row.message_key
and package_key = one_row.package_key
and locale = one_row.locale
and overwrite_date = one_row.overwrite_date;
end loop;
end;
/
show errors
alter table lang_messages_audit
add constraint lang_messages_audit_pk primary key (audit_id);
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('hu_HU', 'Hungarian (HU)', 'hu ', 'HU', 'HUNGARIAN', 'HUNGARY', 'EE8ISO8859P2', 'ISO-8859-2', 't', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('FA_IR', 'Farsi', 'FA ', 'IR', 'AMERICAN', 'ALGERIAN', 'AL24UTFFSS', 'windows-1256', 't', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('RO_RO', 'Romainian', 'RO ', 'RO', 'ROMAINIAN', 'ROMAINIA', 'EE8ISO8859P2', 'UTF-8', 't', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('HR_HR', 'Croatian', 'HR', 'HR', 'CROATIAN', 'CROATIA','UTF8','UTF-8','t','f');
-- fix http://openacs.org/bugtracker/openacs/bug?bug%5fnumber=1464
update ad_locales
set nls_language='TAGALOG', nls_territory='PHILIPPINES'
where locale = 'tl_PH';
-- Datamodel changes in message-catalog.sql related to the new message catalog upgrade support.
-- See Tcl proc lang::catalog::import_messages.
--
-- @author Peter Marklund
-- Changes to lang_message_keys table
-- Column not needed as en_US row in lang_messages table has same info
alter table lang_message_keys drop column upgrade_status;
-- Add new columns to the lang_messages table
alter table lang_messages add deleted_p char(1) default 'f'
constraint lang_messages_dp_ck check (deleted_p in ('t','f'));
alter table lang_messages add sync_time date;
alter table lang_messages add conflict_p char(1) default 'f'
constraint lang_messages_cp_ck check (conflict_p in ('t','f'));
update lang_messages set deleted_p = 'f', conflict_p = 'f';
-- Add new columns to the lang_messages_audit tables
alter table lang_messages_audit add deleted_p char(1) default 'f'
constraint lang_messages_audit_dp_ck check (deleted_p in ('t','f'));
alter table lang_messages_audit add sync_time date;
alter table lang_messages_audit add conflict_p char(1) default 'f'
constraint lang_messages_audit_cp_ck check (conflict_p in ('t','f'));
alter table lang_messages_audit add upgrade_status varchar2(30)
constraint lang_messages_audit_us_ck
check (upgrade_status in ('no_upgrade', 'added', 'deleted', 'updated'));
update lang_messages_audit set deleted_p = 'f', conflict_p = 'f', upgrade_status = 'no_upgrade';
-- Missing this primary key made some queries below very slow
alter table lang_messages_audit add constraint lang_messages_audit_pk primary key (package_key, message_key, locale, overwrite_date);
-- We have to leave sync_time null since we don't know when the messages in the db were last in sync
-- with the catalog files
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('AR_LB', 'Arabic (AR_LB)', 'AR ', 'LB', 'ARABIC', 'LEBANON', 'AR8ISO8859P6', 'ISO-8859-6', 'f', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('pt_PT', 'Portuguese (PT)', 'pt', 'PT', 'PORTUGUESE', 'PORTUGAL', 'WE8ISO8859P1', 'ISO-8859-1', 'f', 'f');
alter table lang_messages add creation_date date default sysdate not null;
alter table lang_messages add creation_user integer
constraint lang_messages_create_u_fk
references users (user_id);
-- @author Rocael Hernandez roc@viaro.net
-- Add some new locales
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('es_GT', 'Spanish (GT)', 'es', 'GT', 'SPANISH',
'GUATEMALA', 'WE8DEC', 'ISO-8859-1', 't', 'f');
-- resolves bug 1519
----------------------------------------------------------------------
-- ch_ZH -> zh_CN
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('zh_CN', 'Chinese (CN)', 'CH', 'ZH', 'SIMPLIFIED CHINESE', 'CHINA', 'ZHT32EUC', 'ISO-2022-CN', 't', 'f');
update ad_locale_user_prefs set locale='zh_CN' where locale='ch_zh';
update lang_messages set locale='zh_CN' where locale='ch_zh';
update lang_messages_audit set locale='zh_CN' where locale='ch_zh';
update lang_translation_registry set locale='zh_CN' where locale='ch_zh';
delete from ad_locales where locale = 'ch_zh';
----------------------------------------------------------------------
-- TH_TH -> th_TH
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('th_TH', 'Thai (TH)temp', 'th', 'TH', 'THAI', 'THAILAND', 'TH8TISASCII', 'TIS-620', 't', 'f');
update ad_locale_user_prefs set locale='th_TH' where locale='TH_TH';
update lang_messages set locale='th_TH' where locale='TH_TH';
update lang_messages_audit set locale='th_TH' where locale='TH_TH';
update lang_translation_registry set locale='th_TH' where locale='TH_TH';
delete from ad_locales where locale = 'TH_TH';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Thai (TH)' where locale = 'th_TH';
----------------------------------------------------------------------
-- AR_EG -> ar_EG
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ar_EG', 'Arabic (EG)temp', 'ar', 'EG', 'ARABIC', 'EGYPT', 'AR8ISO8859P6', 'ISO-8859-6', 'f', 'f');
update ad_locale_user_prefs set locale='ar_EG' where locale='AR_EG';
update lang_messages set locale='ar_EG' where locale='AR_EG';
update lang_messages_audit set locale='ar_EG' where locale='AR_EG';
update lang_translation_registry set locale='ar_EG' where locale='AR_EG';
delete from ad_locales where locale = 'AR_EG';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Arabic (EG)' where locale = 'ar_EG';
----------------------------------------------------------------------
-- AR_LB -> ar_LB
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ar_LB', 'Arabic (LB)temp', 'ar', 'LB', 'ARABIC', 'LEBANON', 'AR8ISO8859P6', 'ISO-8859-6', 't', 'f');
update ad_locale_user_prefs set locale='ar_LB' where locale='AR_LB';
update lang_messages set locale='ar_LB' where locale='AR_LB';
update lang_messages_audit set locale='ar_LB' where locale='AR_LB';
update lang_translation_registry set locale='ar_LB' where locale='AR_LB';
delete from ad_locales where locale = 'AR_LB';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Arabic (LB)' where locale = 'ar_LB';
----------------------------------------------------------------------
-- ms_my -> ms_MY
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ms_MY', 'Malaysia (MY)temp', 'ms', 'MY', 'MALAY', 'MALAYSIA', 'US7ASCII', 'US-ASCII', 't', 'f');
update ad_locale_user_prefs set locale='ms_MY' where locale='ms_my';
update lang_messages set locale='ms_MY' where locale='ms_my';
update lang_messages_audit set locale='ms_MY' where locale='ms_my';
update lang_translation_registry set locale='ms_MY' where locale='ms_my';
delete from ad_locales where locale = 'ms_my';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Malaysia (MY)' where locale = 'ms_MY';
----------------------------------------------------------------------
-- RO_RO -> ro_RO
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ro_RO', 'Romainian (RO)temp', 'ro', 'RO', 'ROMAINIAN', 'ROMAINIA', 'EE8ISO8859P2', 'UTF-8', 't', 'f');
update ad_locale_user_prefs set locale='ro_RO' where locale='RO_RO';
update lang_messages set locale='ro_RO' where locale='RO_RO';
update lang_messages_audit set locale='ro_RO' where locale='RO_RO';
update lang_translation_registry set locale='ro_RO' where locale='RO_RO';
delete from ad_locales where locale = 'RO_RO';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Romainian (RO)' where locale = 'ro_RO';
----------------------------------------------------------------------
-- FA_IR -> fa_IR
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('fa_IR', 'Farsi (IR)temp', 'fa', 'IR', 'FARSI', 'IRAN', 'AL24UTFFSS', 'windows-1256', 't', 'f');
update ad_locale_user_prefs set locale='fa_IR' where locale='FA_IR';
update lang_messages set locale='fa_IR' where locale='FA_IR';
update lang_messages_audit set locale='fa_IR' where locale='FA_IR';
update lang_translation_registry set locale='fa_IR' where locale='FA_IR';
delete from ad_locales where locale = 'FA_IR';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Farsi (IR)' where locale = 'fa_IR';
----------------------------------------------------------------------
-- HR_HR -> hr_HR
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('hr_HR', 'Croatian (HR)temp', 'hr', 'HR', 'CROATIAN', 'CROATIA','UTF8','UTF-8','t','f');
update ad_locale_user_prefs set locale='hr_HR' where locale='HR_HR';
update lang_messages set locale='hr_HR' where locale='HR_HR';
update lang_messages_audit set locale='hr_HR' where locale='HR_HR';
update lang_translation_registry set locale='hr_' where locale='HR_HR';
delete from ad_locales where locale = 'HR_HR';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Croatian (HR)' where locale = 'hr_HR';
----------------------------------------------------------------------
-- trim some trailing spaces
update ad_locales set language='tr' where language='tr ';
update ad_locales set language='hi' where language='hi ';
update ad_locales set language='ko' where language='ko ';
update ad_locales set language='zh' where language='zh ';
update ad_locales set language='hu' where language='hu ';
-- @author Joel Aufrecht
-- Add new locales
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('eu_ES', 'Basque (ES)', 'eu', 'ES', 'SPANISH', 'SPAIN', 'WE8DEC', 'ISO-8859-1', 't', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ca_ES', 'Catalan (ES)', 'ca', 'ES', 'SPANISH', 'SPAIN','WE8DEC', 'ISO-8859-1', 't', 'f');
-- Data model to support i18n of the ArsDigita Community
-- System
-- Copyright (C) 1999-2000 ArsDigita Corporation
-- Author: Henry Minsky (hqm@arsdigita.com)
-- $Id$
-- This is free software distributed under the terms of the GNU Public
-- License. Full text of the license is available from the GNU Project:
-- http://www.fsf.org/copyleft/gpl.html
-- prompt ** Creating locales table ...
\i ad-locales.sql
-- prompt ** Creating translation catalog tables ...
\i message-catalog.sql
-- Author: Jon Griffin (jon@jongriffin.com)
-- $Id$
\i message-catalog-drop.sql
\i ad-locales-drop.sql
--
-- packages/language/sql/language-create.sql
--
-- @author Jeff Davis (davis@xarg.net)
-- @creation-date 2000-09-10
-- @cvs-id $Id$
--
-- ****************************************************************************
-- * The lang_messages table holds the message catalog.
-- * It is populated by ad_lang_message_register.
-- * The registered_p flag denotes that a message exists in a file
-- * that gets loaded on server startup, and hence should not get updated.
-- ****************************************************************************
drop table ad_locale_user_prefs;
drop view enabled_locales;
drop table ad_locales;
This diff is collapsed.
--
-- packages/language/sql/language-drop.sql
--
-- @author davis@xarg.net
-- @creation-date 2000-09-10
-- @cvs-id $Id$
--
-- drop the timezone stuff
--drop index tz_data_idx2;
--drop index tz_data_idx1;
--drop table tz_data;
--drop function lc_time_utc_to_local;
--drop function lc_time_local_to_utc;
-- drop the lang stuff
drop table lang_translation_registry;
drop table lang_translate_columns;
drop table lang_messages_audit;
drop table lang_messages;
drop table lang_message_keys;
drop table lang_user_timezone;
-- This might fail if the data model includes other multilingual tables
-- that reference ad_locales. Really need to cascade here to ensure
-- it goes away, but that is dangerous.
-- drop table ad_locales;
--
-- packages/acs-lang/sql/postgresql/message-catalog.sql
--
-- @author Jeff Davis (davis@xarg.net)
-- @author Christian Hvid
-- @creation-date 2000-09-10
-- @cvs-id $Id$
--
begin;
create table lang_user_timezone (
user_id integer
constraint lang_user_timezone_user_id_fk
references users (user_id) on delete cascade,
timezone varchar(30)
);
create table lang_message_keys (
message_key varchar(200)
constraint lang_message_keys_message_key_nn
not null,
package_key varchar(100)
constraint lang_message_keys_fk
references apm_package_types(package_key)
on delete cascade
constraint lang_message_keys_package_key_nn
not null,
description text,
constraint lang_message_keys_pk
primary key (message_key, package_key)
);
create table lang_messages (
message_key varchar(200)
constraint lang_messages_message_key_nn
not null,
package_key varchar(100)
constraint lang_messages_package_key_nn
not null,
locale varchar(30)
constraint lang_messages_locale_fk
references ad_locales(locale)
constraint lang_messages_locale_nn
not null,
message text,
deleted_p boolean default 'f',
sync_time timestamptz,
conflict_p boolean default 'f',
upgrade_status varchar(30)
constraint lang_messages_us_ck
check (upgrade_status in ('no_upgrade', 'added', 'deleted', 'updated')),
creation_date timestamptz
default now()
not null,
creation_user integer
constraint lang_messages_creation_u_fk
references users (user_id),
constraint lang_messages_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade,
constraint lang_messages_pk
primary key (message_key, package_key, locale)
);
create table lang_messages_audit (
audit_id integer
constraint lang_messages_audit_pk
primary key,
message_key varchar(200)
constraint lang_messages_audit_key_nn
not null,
package_key varchar(100)
constraint lang_messages_audit_p_key_nn
not null,
locale varchar(30)
constraint lang_messages_audit_l_fk
references ad_locales(locale)
constraint lang_messages_audit_l_nn
not null,
-- The old, overwritten message, not the new message being
-- entered on this date by this user.
old_message text,
deleted_p boolean default 'f',
sync_time timestamptz,
conflict_p boolean default 'f',
upgrade_status varchar(30)
constraint lang_messages_us_ck
check (upgrade_status in ('no_upgrade', 'added', 'deleted', 'updated')),
comment_text text,
overwrite_date timestamptz
default now()
not null,
overwrite_user integer
constraint lang_messages_audit_ou_fk
references users (user_id),
constraint lang_messages_audit_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade
);
create sequence lang_messages_audit_id_seq;
-- ****************************************************************************
-- * The lang_translate_columns table holds the columns that require translation.
-- * It is needed to generate the user interface for translating the web site.
-- * Note that we register on_what_column itself for translation.
-- ****************************************************************************
create table lang_translate_columns (
column_id integer primary key,
-- cant do references on user_tables cause oracle sucks
on_which_table varchar(50),
on_what_column varchar(50),
--
-- whether all entries in a column must be translated for the
-- site to function.
--
-- probably ultimately need something more sophisticated than
-- simply required_p
--
required_p boolean,
--
-- flag for whether to use the lang_translations table for content
-- or add a row in the on_which_table table with the translated content.
--
short_p boolean,
constraint ltc_u unique (on_which_table, on_what_column)
);
-- ****************************************************************************
-- * The lang_translation_registry table identifies a row as requiring translation
-- * to a given language. This should identify the parent table not the broken-apart
-- * child table.
-- ****************************************************************************
create table lang_translation_registry (
on_which_table varchar(50),
on_what_id integer not null,
locale varchar(30) constraint ltr_locale_ref
references ad_locales(locale),
--
-- should have dependency info here
--
constraint lang_translation_registry_pk primary key(on_what_id, on_which_table, locale)
);
end;
--
-- Upgrade script from 4.1 to 4.7
--
-- Changes lang_messages so it uses locale instead of language
-- by looking up the default locale in ad_locales.
--
-- There two things that could go wrong here:
--
-- 1. There could be no locale at all for some language
-- in that case the scripts adds a new locale
-- 2. There could be no default locale
-- the script makes sure that theres is one default locale
-- pr. language
--
-- @author Christian Hvid
--
-- Make sure that there is a default for every language
UPDATE ad_locales
SET default_p = 't'
WHERE (SELECT count(*)
FROM ad_locales AS a
WHERE a.language = ad_locales.language AND default_p='t') = 0;
-- Make sure that there is a locale for every language used in lang_messages
INSERT INTO ad_locales (language, locale, country, label, nls_language, default_p)
SELECT language,
language || '_' || UPPER(language) as locale,
'??' as country,
'Locale created by upgrade-4.1-4.7 for language ' || language as label,
'??' as nls_language,
't' as default_p
FROM
((SELECT DISTINCT lang as language
FROM lang_messages) EXCEPT
(SELECT DISTINCT language
FROM ad_locales)) as new_languages;
create table temp (
key varchar(200),
lang varchar(2),
message text,
registered_p boolean
);
INSERT INTO temp(key, lang, message, registered_p)
SELECT key, lang, message, registered_p
FROM lang_messages;
DROP TABLE lang_messages;
create table lang_messages (
key varchar(200),
locale varchar(30)
constraint lang_messages_locale_fk
references ad_locales(locale)
constraint lang_messages_locale_nn
not null,
message text,
registered_p boolean,
constraint lang_messages_pk
primary key (key, locale)
);
INSERT INTO lang_messages(key, locale, message, registered_p)
SELECT key, ad_locales.locale, message, registered_p
FROM temp, ad_locales
WHERE cast (ad_locales.language as text) = cast (temp.lang as text)
AND ad_locales.default_p = 't';
DROP TABLE temp;
--
-- Upgrade script from 4.7d2 to 4.7d3
--
-- Split message keys and remove registered_p
-- Copy all messages to a temporary table
create table temp (
key varchar(200),
locale varchar(30),
message text
);
INSERT INTO temp(key, locale, message)
SELECT key, locale, message
FROM lang_messages;
-- drop old table
DROP TABLE lang_messages;
-- create new table
create table lang_message_keys (
message_key varchar(200)
constraint lang_message_keys_message_key_nn
not null,
package_key varchar(100)
constraint lang_message_keys_fk
references apm_package_types(package_key)
constraint lang_message_keys_package_key_nn
not null,
constraint lang_message_keys_pk
primary key (message_key, package_key)
);
create table lang_messages (
message_key varchar(200)
constraint lang_messages_message_key_nn
not null,
package_key varchar(100)
constraint lang_messages_package_key_nn
not null,
locale varchar(30)
constraint lang_messages_locale_fk
references ad_locales(locale)
constraint lang_messages_locale_nn
not null,
message text,
constraint lang_messages_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade,
constraint lang_messages_pk
primary key (message_key, package_key, locale)
);
-- insert old data
-- into lang_message_keys
INSERT INTO lang_message_keys(message_key, package_key)
SELECT DISTINCT SUBSTR(key, STRPOS(key, '.')+1) as message_key,
SUBSTR(key, 0, STRPOS(key, '.')) as package_key
FROM temp, apm_package_types
WHERE SUBSTR(key, 0, STRPOS(key, '.')) = package_key;
-- into lang_messages
INSERT INTO lang_messages(message_key, package_key, locale, message)
SELECT SUBSTR(key, STRPOS(key, '.')+1) as message_key,
SUBSTR(key, 0, STRPOS(key, '.')) as package_key,
locale,
message
FROM temp, apm_package_types
WHERE SUBSTR(key, 0, STRPOS(key, '.')) = package_key;
DROP TABLE temp;
alter table lang_message_keys add
upgrade_status varchar(30)
constraint lang_message_keys_us_ck
check (upgrade_status in ('no_upgrade', 'added','deleted'));
alter table lang_messages add
upgrade_status varchar(30)
constraint lang_messages_us_ck
check (upgrade_status in ('no_upgrade', 'added', 'deleted', 'updated'));
create table lang_messages_audit (
message_key varchar(200)
constraint lang_messages_audit_key_nn
not null,
package_key varchar(100)
constraint lang_messages_audit_p_key_nn
not null,
locale varchar(30)
constraint lang_messages_audit_l_fk
references ad_locales(locale)
constraint lang_messages_audit_l_nn
not null,
message text,
overwrite_date timestamptz
default now()
not null,
overwrite_user integer
constraint lang_messages_audit_ou_fk
references users (user_id),
constraint lang_messages_audit_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade
);
-- Upgrade script that adds new locales from translation server
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('fi_FI', 'Finnish (FI)', 'fi', 'FI', 'FINNISH', 'FINLAND', 'WE8ISO8859P15', 'ISO-8859-15', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('nl_NL', 'Dutch (NL)', 'nl', 'NL', 'DUTCH', 'THE NETHERLANDS', 'WE8ISO8859P1', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('ch_zh', 'Chinese (ZH)', 'CH', 'ZH', 'SIMPLIFIED CHINESE', 'CHINA', 'ZHT32EUC', 'ISO-2022-CN', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('pl_PL', 'Polish (PL)', 'pl', 'PL', 'POLISH', 'POLAND', 'EE8ISO8859P2', 'ISO-8859-2', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('no_NO', 'Norwegian (NO)', 'no', 'NO', 'NORWEGIAN', 'NORWAY', 'WE8ISO8859P1', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('tl_PH', 'Tagalog (PH)', 'tl', 'PH', 'AMERICAN', 'ALGERIA', 'WE8ISO8859P1', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('el_GR', 'Greek (GR)', 'el', 'GR', 'GREEK', 'GREECE', 'EL8ISO8859P7', 'ISO-8859-7', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('it_IT', 'Italian (IT)', 'it', 'IT', 'ITALIAN', 'ITALY', 'WE8DEC', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('ru_RU', 'Russian (RU)', 'ru', 'RU', 'RUSSIAN', 'CIS', 'RU8PC855', 'windows-1251', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('si_LK', 'Sinhalese (LK)','si', 'LK', 'ENGLISH', 'UNITED KINGDOM', 'UTF8', 'ISO-10646-UTF-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('sh_HR', 'Serbo-Croatian (SR/HR)', 'sr', 'YU', 'SLOVENIAN', 'SLOVENIA', 'YUG7ASCII', 'ISO-8859-5', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('nn_NO', 'Norwegian (NN)','nn', 'NO', 'NORWEGIAN', 'NORWAY', 'WE8ISO8859P1', 'ISO-8859-1', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('pt_BR', 'Portuguese (BR)', 'pt', 'BR', 'BRAZILIAN PORTUGUESE', 'BRAZIL', 'WE8ISO8859P1', 'ISO-8859-1', 't'
);
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('TH_TH', 'Thai (TH)', 'th', 'TH', 'THAI', 'THAILAND', 'TH8TISASCII', 'TIS-620', 't');
-- Forgot to add this locale earlier, some installations may have it already
create function inline_0 ()
returns integer as '
declare
v_locale_exists_p integer;
begin
select count(*) into v_locale_exists_p
from ad_locales where locale = ''sv_SE'';
if v_locale_exists_p = ''0'' then
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values (''sv_SE'', ''Swedish (SE)'', ''sv'', ''SE'', ''SWEDISH'', ''SWEDEN'',
''WE8ISO8859P1'', ''ISO-8859-1'', ''t'');
end if;
return 1;
end;' language 'plpgsql';
select inline_0 ();
drop function inline_0 ();
-- We now allow for three character language codes
create table temp as select * from ad_locales;
drop table ad_locales;
create table ad_locales (
locale varchar(30)
constraint ad_locale_abbrev_pk
primary key,
language char(3)
constraint ad_language_name_nil
not null,
country char(2)
constraint ad_country_name_nil
not null,
variant varchar(30),
label varchar(200)
constraint ad_locale_name_nil
not null
constraint ad_locale_name_unq
unique,
nls_language varchar(30)
constraint ad_locale_nls_lang_nil
not null,
nls_territory varchar(30),
nls_charset varchar(30),
mime_charset varchar(30),
-- is this the default locale for its language
default_p boolean default 'f'
);
insert into ad_locales select * from temp;
drop table temp;
-- Make message keys cascade when packages are deleted
create table upgrade_temp as select * from lang_message_keys;
drop table lang_message_keys;
create table lang_message_keys (
message_key varchar(200)
constraint lang_message_keys_message_key_nn
not null,
package_key varchar(100)
constraint lang_message_keys_fk
references apm_package_types(package_key)
on delete cascade
constraint lang_message_keys_package_key_nn
not null,
upgrade_status varchar(30)
constraint lang_message_keys_us_ck
check (upgrade_status in ('no_upgrade', 'added','deleted')),
constraint lang_message_keys_pk
primary key (message_key, package_key)
);
insert into lang_message_keys select * from upgrade_temp;
drop table upgrade_temp;
-- New locales from the translation server
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('AR_EG', 'Arabic (AR_EG)', 'AR ', 'EG', 'ARABIC', 'EGYPT', 'AR8ISO8859P6', 'ISO-8859-6', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('tr_TR', 'Turkish (TR)', 'tr ', 'TR', 'TURKISH', 'TURKEY', 'WE8ISO8859P9', 'ISO-8859-9', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('ms_my', 'Malaysia (MY)', 'ms ', 'MY', 'MALAY', 'MALAYSIA', 'US7ASCII', 'US-ASCII', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('hi_IN', 'Hindi (IN)', 'hi ', 'IN', 'HINDI', 'INDIA', 'UTF8', 'UTF-8', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('ko_KR', 'Korean(KOR)', 'ko ', 'KR', 'KOREAN', 'KOREA', 'KO16KSC5601', 'EUC-KR', 't');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p)
values ('zh_TW', 'Chinese (TW)', 'zh ', 'TW', 'TRADITIONAL CHINESE', 'TAIWAN', 'ZHT16BIG5', 'Big5', 't');
--
-- PostgreSQL upgrade script from 4.7d9 to 5.0d1
--
-- 1. Adds an enabled_p flag to ad_locales.
--
-- 2. Adds a comment field to lang_messages_audit
--
-- 3. Renames the lang_messages_audit.message column to 'old_message' in order to make the meaning more clear.
--
-- 4. Adds a description column to lang_message_keys.
--
-- @author Simon Carstensen (simon@collaboraid.biz)
-- @author Lars Pind (lars@collaboraid.biz)
--
-- @creation-date 2003-08-11
-- @cvs-id $Id$
--
-- 1. Adds an enabled_p flag to ad_locales.
-- New enabled_p column in ad_locales
alter table ad_locales
add enabled_p boolean;
alter table ad_locales
alter enabled_p set default 't';
-- Let all locales be enabled for sites that are upgrading
update ad_locales set enabled_p = 't';
-- New view
create view enabled_locales as
select * from ad_locales
where enabled_p = 't';
-- 2. Adds a comment field to lang_messages_audit
-- 3. Renames the lang_messages_audit.message column to 'old_message' in order to make the meaning more clear.
create table lang_messages_audit_new (
message_key varchar(200)
constraint lang_messages_audit_key_nn
not null,
package_key varchar(100)
constraint lang_messages_audit_p_key_nn
not null,
locale varchar(30)
constraint lang_messages_audit_l_fk
references ad_locales(locale)
constraint lang_messages_audit_l_nn
not null,
old_message text,
comment_text text,
overwrite_date timestamptz
default now()
not null,
overwrite_user integer
constraint lang_messages_audit_ou_fk
references users (user_id),
constraint lang_messages_audit_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade
);
insert into lang_messages_audit_new (
message_key,
package_key,
locale,
old_message,
overwrite_date,
overwrite_user
)
select message_key,
package_key,
locale,
message,
overwrite_date,
overwrite_user
from lang_messages_audit;
drop table lang_messages_audit;
alter table lang_messages_audit_new rename to lang_messages_audit;
-- 4. Adds a description column to lang_message_keys.
alter table lang_message_keys add column description text;
-- @author Peter Marklund
-- Change the lang_messages_audit table to have a new integer primary key column
-- Add some new locales
create sequence lang_messages_audit_id_seq;
alter table lang_messages_audit add column audit_id integer;
alter table lang_messages_audit drop constraint lang_messages_audit_pk;
create function inline_0()
returns integer as '
declare
v_rec record;
v_next_id integer;
begin
for v_rec in select message_key,
package_key,
locale,
overwrite_date
from lang_messages_audit
order by overwrite_date
loop
select nextval(''lang_messages_audit_id_seq''::text) into v_next_id;
update lang_messages_audit set audit_id = v_next_id
where message_key = v_rec.message_key
and package_key = v_rec.package_key
and locale = v_rec.locale
and overwrite_date = v_rec.overwrite_date;
end loop;
return 0;
end;' language 'plpgsql';
select inline_0();
drop function inline_0();
alter table lang_messages_audit
alter column audit_id set not null;
alter table lang_messages_audit
add constraint lang_messages_audit_pk primary key (audit_id);
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('hu_HU', 'Hungarian (HU)', 'hu ', 'HU', 'HUNGARIAN', 'HUNGARY', 'EE8ISO8859P2', 'ISO-8859-2', 't', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('FA_IR', 'Farsi', 'FA ', 'IR', 'AMERICAN', 'ALGERIAN', 'AL24UTFFSS', 'windows-1256', 't', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('RO_RO', 'Romainian', 'RO ', 'RO', 'ROMAINIAN', 'ROMAINIA', 'EE8ISO8859P2', 'UTF-8', 't', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('HR_HR', 'Croatian', 'HR', 'HR', 'CROATIAN', 'CROATIA','UTF8','UTF-8','t','f');
-- fix http://openacs.org/bugtracker/openacs/bug?bug%5fnumber=1464
update ad_locales
set nls_language='TAGALOG', nls_territory='PHILIPPINES'
where locale = 'tl_PH';
-- Datamodel changes in message-catalog.sql related to the new message catalog upgrade support.
-- See Tcl proc lang::catalog::import_messages.
--
-- @author Peter Marklund
-- Changes to lang_message_keys table
-- Column not needed as en_US row in lang_messages table has same info
alter table lang_message_keys drop column upgrade_status;
-- Add new columns to the lang_messages table
alter table lang_messages add deleted_p boolean;
alter table lang_messages alter column deleted_p set default 'f';
alter table lang_messages add sync_time timestamptz;
alter table lang_messages add conflict_p boolean;
alter table lang_messages alter column conflict_p set default 'f';
update lang_messages set deleted_p = 'f', conflict_p = 'f';
-- Add new columns to the lang_messages_audit tables
alter table lang_messages_audit add deleted_p boolean;
alter table lang_messages_audit alter column deleted_p set default 'f';
alter table lang_messages_audit add sync_time timestamptz;
alter table lang_messages_audit add conflict_p boolean;
alter table lang_messages_audit alter column conflict_p set default 'f';
alter table lang_messages_audit add upgrade_status varchar(30)
constraint lang_messages_us_ck
check (upgrade_status in ('no_upgrade', 'added', 'deleted', 'updated'));
update lang_messages_audit set deleted_p = 'f', conflict_p = 'f', upgrade_status = 'no_upgrade';
-- Missing this primary key made some queries below very slow
alter table lang_messages_audit add constraint lang_messages_audit_pk primary key (package_key, message_key, locale, overwrite_date);
-- We have to leave sync_time null since we don't know when the messages in the db were last in sync
-- with the catalog files
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('AR_LB', 'Arabic (AR_LB)', 'AR ', 'LB', 'ARABIC', 'LEBANON', 'AR8ISO8859P6', 'ISO-8859-6', 'f', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('pt_PT', 'Portuguese (PT)', 'pt', 'PT', 'PORTUGUESE', 'PORTUGAL', 'WE8ISO8859P1', 'ISO-8859-1', 'f', 'f');
-- Adding columns creation_user and creation_date to lang_messages
-- Need to add not-null column so re-creating table
create table lang_messages_tmp (
message_key varchar(200),
package_key varchar(100),
locale varchar(30),
message text,
upgrade_status varchar(30)
);
insert into lang_messages_tmp select message_key, package_key, locale, message, upgrade_status from lang_messages;
drop table lang_messages;
create table lang_messages (
message_key varchar(200)
constraint lang_messages_message_key_nn
not null,
package_key varchar(100)
constraint lang_messages_package_key_nn
not null,
locale varchar(30)
constraint lang_messages_locale_fk
references ad_locales(locale)
constraint lang_messages_locale_nn
not null,
message text,
upgrade_status varchar(30)
constraint lang_messages_us_ck
check (upgrade_status in ('no_upgrade', 'added', 'deleted', 'updated')),
creation_date timestamptz
default now()
not null,
creation_user integer
constraint lang_messages_creation_u_fk
references users (user_id),
constraint lang_messages_fk
foreign key (message_key, package_key)
references lang_message_keys(message_key, package_key)
on delete cascade,
constraint lang_messages_pk
primary key (message_key, package_key, locale)
);
insert into lang_messages select message_key, package_key, locale, message, upgrade_status, now(), null from lang_messages_tmp;
-- @author Rocael Hernandez roc@viaro.net
-- Add some new locales
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('es_GT', 'Spanish (GT)', 'es', 'GT', 'SPANISH',
'GUATEMALA', 'WE8DEC', 'ISO-8859-1', 't', 'f');
-- resolves bug 1519
----------------------------------------------------------------------
-- ch_ZH -> zh_CN
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('zh_CN', 'Chinese (CN)', 'CH', 'ZH', 'SIMPLIFIED CHINESE', 'CHINA', 'ZHT32EUC', 'ISO-2022-CN', 't', 'f');
update ad_locale_user_prefs set locale='zh_CN' where locale='ch_zh';
update lang_messages set locale='zh_CN' where locale='ch_zh';
update lang_messages_audit set locale='zh_CN' where locale='ch_zh';
update lang_translation_registry set locale='zh_CN' where locale='ch_zh';
delete from ad_locales where locale = 'ch_zh';
----------------------------------------------------------------------
-- TH_TH -> th_TH
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('th_TH', 'Thai (TH)temp', 'th', 'TH', 'THAI', 'THAILAND', 'TH8TISASCII', 'TIS-620', 't', 'f');
update ad_locale_user_prefs set locale='th_TH' where locale='TH_TH';
update lang_messages set locale='th_TH' where locale='TH_TH';
update lang_messages_audit set locale='th_TH' where locale='TH_TH';
update lang_translation_registry set locale='th_TH' where locale='TH_TH';
delete from ad_locales where locale = 'TH_TH';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Thai (TH)' where locale = 'th_TH';
----------------------------------------------------------------------
-- AR_EG -> ar_EG
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ar_EG', 'Arabic (EG)temp', 'ar', 'EG', 'ARABIC', 'EGYPT', 'AR8ISO8859P6', 'ISO-8859-6', 'f', 'f');
update ad_locale_user_prefs set locale='ar_EG' where locale='AR_EG';
update lang_messages set locale='ar_EG' where locale='AR_EG';
update lang_messages_audit set locale='ar_EG' where locale='AR_EG';
update lang_translation_registry set locale='ar_EG' where locale='AR_EG';
delete from ad_locales where locale = 'AR_EG';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Arabic (EG)' where locale = 'ar_EG';
----------------------------------------------------------------------
-- AR_LB -> ar_LB
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ar_LB', 'Arabic (LB)temp', 'ar', 'LB', 'ARABIC', 'LEBANON', 'AR8ISO8859P6', 'ISO-8859-6', 't', 'f');
update ad_locale_user_prefs set locale='ar_LB' where locale='AR_LB';
update lang_messages set locale='ar_LB' where locale='AR_LB';
update lang_messages_audit set locale='ar_LB' where locale='AR_LB';
update lang_translation_registry set locale='ar_LB' where locale='AR_LB';
delete from ad_locales where locale = 'AR_LB';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Arabic (LB)' where locale = 'ar_LB';
----------------------------------------------------------------------
-- ms_my -> ms_MY
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ms_MY', 'Malaysia (MY)temp', 'ms', 'MY', 'MALAY', 'MALAYSIA', 'US7ASCII', 'US-ASCII', 't', 'f');
update ad_locale_user_prefs set locale='ms_MY' where locale='ms_my';
update lang_messages set locale='ms_MY' where locale='ms_my';
update lang_messages_audit set locale='ms_MY' where locale='ms_my';
update lang_translation_registry set locale='ms_MY' where locale='ms_my';
delete from ad_locales where locale = 'ms_my';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Malaysia (MY)' where locale = 'ms_MY';
----------------------------------------------------------------------
-- RO_RO -> ro_RO
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ro_RO', 'Romainian (RO)temp', 'ro', 'RO', 'ROMAINIAN', 'ROMAINIA', 'EE8ISO8859P2', 'UTF-8', 't', 'f');
update ad_locale_user_prefs set locale='ro_RO' where locale='RO_RO';
update lang_messages set locale='ro_RO' where locale='RO_RO';
update lang_messages_audit set locale='ro_RO' where locale='RO_RO';
update lang_translation_registry set locale='ro_RO' where locale='RO_RO';
delete from ad_locales where locale = 'RO_RO';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Romainian (RO)' where locale = 'ro_RO';
----------------------------------------------------------------------
-- FA_IR -> fa_IR
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('fa_IR', 'Farsi (IR)temp', 'fa', 'IR', 'FARSI', 'IRAN', 'AL24UTFFSS', 'windows-1256', 't', 'f');
update ad_locale_user_prefs set locale='fa_IR' where locale='FA_IR';
update lang_messages set locale='fa_IR' where locale='FA_IR';
update lang_messages_audit set locale='fa_IR' where locale='FA_IR';
update lang_translation_registry set locale='fa_IR' where locale='FA_IR';
delete from ad_locales where locale = 'FA_IR';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Farsi (IR)' where locale = 'fa_IR';
----------------------------------------------------------------------
-- HR_HR -> hr_HR
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('hr_HR', 'Croatian (HR)temp', 'hr', 'HR', 'CROATIAN', 'CROATIA','UTF8','UTF-8','t','f');
update ad_locale_user_prefs set locale='hr_HR' where locale='HR_HR';
update lang_messages set locale='hr_HR' where locale='HR_HR';
update lang_messages_audit set locale='hr_HR' where locale='HR_HR';
update lang_translation_registry set locale='hr_' where locale='HR_HR';
delete from ad_locales where locale = 'HR_HR';
-- reset the label to remove the unique constraint workaround
update ad_locales set label = 'Croatian (HR)' where locale = 'hr_HR';
----------------------------------------------------------------------
-- trim some trailing spaces
update ad_locales set language='tr' where language='tr ';
update ad_locales set language='hi' where language='hi ';
update ad_locales set language='ko' where language='ko ';
update ad_locales set language='zh' where language='zh ';
update ad_locales set language='hu' where language='hu ';
-- @author Joel Aufrecht
-- Add new locales
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('eu_ES', 'Basque (ES)', 'eu', 'ES', 'SPANISH', 'SPAIN', 'WE8DEC', 'ISO-8859-1', 't', 'f');
insert into ad_locales
(locale, label, language, country, nls_language, nls_territory,
nls_charset, mime_charset, default_p, enabled_p)
values ('ca_ES', 'Catalan (ES)', 'ca', 'ES', 'SPANISH', 'SPAIN','WE8DEC', 'ISO-8859-1', 't', 'f');
ad_library {
Do initialization at server startup for the acs-lang package.
@creation-date 23 October 2000
@author Peter Marklund (peter@collaboraid.biz)
@cvs-id $Id$
}
# Cache I18N messages in memory for fast lookups
lang::message::cache
<?xml version="1.0"?>
<queryset>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<fullquery name="lang::audit::changed_message.lang_message_audit">
<querytext>
insert into lang_messages_audit (audit_id, package_key, message_key, locale, old_message, comment_text, overwrite_user,
deleted_p, sync_time, conflict_p, upgrade_status)
values (lang_messages_audit_id_seq.nextval, :package_key, :message_key, :locale, empty_clob(), empty_clob(),
:overwrite_user, :deleted_p, :sync_time, :conflict_p, :upgrade_status)
returning old_message, comment_text into :1, :2
</querytext>
</fullquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>postgresql</type><version>7.2</version></rdbms>
<fullquery name="lang::audit::changed_message.lang_message_audit">
<querytext>
insert into lang_messages_audit (audit_id, package_key, message_key, locale, old_message, comment_text, overwrite_user,
deleted_p, sync_time, conflict_p, upgrade_status)
values (nextval('lang_messages_audit_id_seq'::text), :package_key, :message_key, :locale, :old_message,
:comment, :overwrite_user, :deleted_p, :sync_time, :conflict_p, :upgrade_status)
</querytext>
</fullquery>
</queryset>
#/packages/acs-lang/tcl/lang-message-procs.tcl
ad_library {
Auditing of lang_messages
@creation-date 3 December 2002
@author Peter Marklund (peter@collaboraid.biz)
@cvs-id $Id$
}
namespace eval lang::audit {
ad_proc -public changed_message {
old_message
package_key
message_key
locale
comment
deleted_p
sync_time
conflict_p
upgrade_status
} {
Save a message that is overwritten.
@author Peter Marklund
} {
# Save the old message in the audit table
set overwrite_user [ad_conn user_id]
db_dml lang_message_audit {} -clobs [list $old_message $comment]
}
}
<?xml version="1.0"?>
<queryset>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<fullquery name="lang::catalog::system_package_version_name.get_version_name">
<querytext>
select version_name
from apm_package_version_info
where version_id = apm_package.highest_version(:package_key)
</querytext>
</fullquery>
<fullquery name="lang::catalog::export.update_sync_time">
<querytext>
update lang_messages
set sync_time = sysdate
where package_key = :package_key
and locale = :locale
</querytext>
</fullquery>
<fullquery name="lang::catalog::last_sync_messages.last_sync_messages">
<querytext>
select message_key,
dbms_lob.substr(message) as message,
deleted_p
from lang_messages
where package_key = :package_key
and locale = :locale
and sync_time is not null
union
select lma1.message_key,
dbms_lob.substr(lma1.old_message) as message,
lma1.deleted_p
from lang_messages_audit lma1
where lma1.package_key = :package_key
and lma1.locale = :locale
and lma1.sync_time is not null
and lma1.audit_id = (select max(lma2.audit_id)
from lang_messages_audit lma2
where lma2.package_key = lma1.package_key
and lma2.message_key = lma1.message_key
and lma2.locale = :locale
and lma2.sync_time is not null
)
and not exists (select 1
from lang_messages
where package_key = lma1.package_key
and message_key = lma1.message_key
and locale = :locale
and sync_time is not null
)
</querytext>
</fullquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>postgresql</type><version>7.2</version></rdbms>
<fullquery name="lang::catalog::system_package_version_name.get_version_name">
<querytext>
select version_name
from apm_package_version_info
where version_id = apm_package__highest_version(:package_key)
</querytext>
</fullquery>
<fullquery name="lang::catalog::export.update_sync_time">
<querytext>
update lang_messages
set sync_time = current_timestamp
where package_key = :package_key
and locale = :locale
</querytext>
</fullquery>
<fullquery name="lang::catalog::last_sync_messages.last_sync_messages">
<querytext>
select message_key,
message,
deleted_p
from lang_messages
where package_key = :package_key
and locale = :locale
and sync_time is not null
union
select lma1.message_key,
lma1.old_message,
lma1.deleted_p
from lang_messages_audit lma1
where lma1.package_key = :package_key
and lma1.locale = :locale
and lma1.sync_time is not null
and lma1.audit_id = (select max(lma2.audit_id)
from lang_messages_audit lma2
where lma2.package_key = lma1.package_key
and lma2.message_key = lma1.message_key
and lma2.locale = :locale
and lma2.sync_time is not null
)
and not exists (select 1
from lang_messages
where package_key = lma1.package_key
and message_key = lma1.message_key
and locale = :locale
and sync_time is not null
)
</querytext>
</fullquery>
</queryset>
This diff is collapsed.
<?xml version="1.0"?>
<queryset>
<fullquery name="lang::catalog::uninitialized_packages.select_uninitialized">
<querytext>
select package_key
from apm_package_types
where exists (select 1
from apm_package_versions
where package_key = apm_package_types.package_key
and installed_p = 't'
and enabled_p = 't')
and not exists (select 1
from lang_message_keys
where package_key = apm_package_types.package_key)
</querytext>
</fullquery>
<fullquery name="lang::catalog::export.get_locales_for_package">
<querytext>
select distinct locale
from lang_messages
where package_key = :package_key
</querytext>
</fullquery>
<fullquery name="lang::catalog::all_messages_for_package_and_locale.get_messages">
<querytext>
select lm.message_key,
lm.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.locale = :locale
and lm.deleted_p = 'f'
</querytext>
</fullquery>
<fullquery name="lang::catalog::translate.get_untranslated_messages">
<querytext>
select message_key,
package_key,
message
from lang_messages lm1
where locale = :default_locale
and not exists (select message_key, package_key
from lang_messages lm2
where locale != :default_locale
and lm1.message_key = lm2.message_key
and lm1.package_key = lm2.package_key)
</querytext>
</fullquery>
<fullquery name="lang::catalog::reset_upgrade_status_message_keys.reset_status">
<querytext>
update lang_message_keys
set upgrade_status = 'no_upgrade'
where package_key = :package_key
</querytext>
</fullquery>
<fullquery name="lang::catalog::import_from_file.reset_upgrade_status_messages">
<querytext>
update lang_messages
set upgrade_status = 'no_upgrade'
where package_key = :package_key
and locale = :locale
</querytext>
</fullquery>
<fullquery name="lang::catalog::import_from_file.mark_message_as_deleted">
<querytext>
update lang_messages
set upgrade_status = 'deleted'
where package_key = :package_key
and message_key = :message_key
and locale = :locale
</querytext>
</fullquery>
<fullquery name="lang::catalog::import_from_file.mark_message_key_as_deleted">
<querytext>
update lang_message_keys
set upgrade_status = 'deleted'
where package_key = :package_key
and message_key = :message_key
</querytext>
</fullquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<fullquery name="lang::message::register.lang_message_update">
<querytext>
update lang_messages
set [join $set_clauses ", "]
where locale = :locale
and message_key = :message_key
and package_key = :package_key
returning message into :1
</querytext>
</fullquery>
<fullquery name="lang::message::register.lang_message_insert">
<querytext>
insert into lang_messages ([join $col_clauses ", "])
values ([join $val_clauses ", "])
returning message into :1
</querytext>
</fullquery>
<partialquery name="lang::message::register.sync_time">
<querytext>
sysdate
</querytext>
</partialquery>
<partialquery name="lang::message::register.message">
<querytext>
empty_clob()
</querytext>
</partialquery>
<fullquery name="lang::message::update_description.update_description">
<querytext>
update lang_message_keys
set description = empty_clob()
where message_key = :message_key
and package_key = :package_key
returning description into :1
</querytext>
</fullquery>
<partialquery name="lang::message::edit.set_sync_time_now">
<querytext>
sync_time = sysdate
</querytext>
</partialquery>
</queryset>
<?xml version="1.0"?>
<queryset>
<rdbms><type>postgresql</type><version>7.2</version></rdbms>
<fullquery name="lang::message::register.lang_message_update">
<querytext>
update lang_messages
set [join $set_clauses ", "]
where locale = :locale
and message_key = :message_key
and package_key = :package_key
</querytext>
</fullquery>
<fullquery name="lang::message::register.lang_message_insert">
<querytext>
insert into lang_messages ([join $col_clauses ", "])
values ([join $val_clauses ", "])
</querytext>
</fullquery>
<partialquery name="lang::message::register.sync_time">
<querytext>
current_timestamp
</querytext>
</partialquery>
<partialquery name="lang::message::register.message">
<querytext>
:message
</querytext>
</partialquery>
<fullquery name="lang::message::update_description.update_description">
<querytext>
update lang_message_keys
set description = :description
where message_key = :message_key
and package_key = :package_key
</querytext>
</fullquery>
<partialquery name="lang::message::edit.set_sync_time_now">
<querytext>
sync_time = current_timestamp
</querytext>
</partialquery>
</queryset>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment