|
Saké Mail Language Support
Endymion currently does not provide translations of
the Saké Mail interface in languages other than English, but the
entire system was specifically designed with the translator in
mind. This document highlights a few items that may be of interest
to customizers that need to translate the interface into different
languages.
Language Support
The Saké Mail web mail system excels at supporting multiple
languages. To our knowledge, there is not a language in use online
anywhere in the world that cannot be supported with a Saké Mail
installation. This includes not only the languages used in sending
and receiving messages, but also the names of folders, the names
of address aliases, etc.
The preferred method of supporting world
languages is the use of the ISO-10646 character set, also known
as Unicode. Using Unicode, a Saké Mail installation can automatically
support any language right out of the box. Modern browsers support
Unicode via the most common Unicode character encoding scheme,
called "UTF-8". If you are using a browser such as the
Microsoft Internet Explorer or Netscape that supports UTF-8 character
encodings, then you have no need for language-specific character
encodings. Figure 1 is an example of a Saké Mail installation
that is displaying messages in English, Spanish, Norweigan, Greek,
German, Japanese, Chinese, Greek, Thai, Hebrew, Yiddish, Farsi,
Vietnamese, Polish and Slovak, all on the same page.
|
Figure 1: A Saké Mail installation simultaneously
displaying English, Spanish, Norweigan, Greek, German,
Japanese, Chinese, Greek, Thai, Hebrew, Yiddish, Farsi,
Vietnamese, Polish and Slovak, with no special configuration.
(Image can be enlarged for more detail.)
|
Skins
Saké Mail's "skins"
feature can be used to support different translations simultaneously.
You can provide an English translation in a skin called "english"
and a Spanish translation in a skin called "espanol",
for example. You can set the default translation that users see
by setting the "sake.defaultskin"
value in your initialization file.
Character Encoding
You can specify the character encoding that is used in the
interface by setting the encoding in the interface templates,
exactly as you would any normal HTML page. Saké Mail will display
the contents of messages using the Unicode/ISO-10646 character
set specified in the HTML
4 Specification. Saké Mail understands message headers that
are escape-encoded with ISO-8859-1 and UTF-8, and it understands
message contents specified in any valid MIME character set. This
means that messages in double-byte languages such as Chinese,
Japanese and Korean will display properly without any special
configuration in browsers that properly support the character
set described in the HTML 4 specification. If support for older
browsers is critical, you can revert to the old-style methods
of supporting double-byte character encodings by explicitly specifying
what character set to use in your templates with the "Content-type"
meta header and the "sake.requestencoding"
form parameter. You can also customize the specific character
set used for outgoing messages in your "t_compose"
template via the "sake.mail.send.encoding"
parameter. If you are building an interface in some specific character
set other than Unicode, then you cannot use the XML/XSL template
mechanism. This is because the W3C specifies that all XML documents
must be encoded in the ISO-10646 character sets. A document encoded
in Big5 (a common Chinese encoding) or Shift-JIS (a common Japanese
encoding) cannot be a valid XML document. The XML parsers that
Saké Mail uses will break when they encounter these illegal characters.
The solution is to use the HTML templates when you are using specific
character sets. We strongly recommend not doing this, and using
the Unicode/ISO-10646 encoding scheme recommended by the W3C.
Using Unicode will allow your installation to support any language,
not just your specific language.
You can also set your default character
encoding on an application-wide basis by setting the "sake.outputencoding"
value in your general.ini file. This method works if your entire
application is going to use one character encoding. If you want
to support more than one character encoding with your installation,
for instance one skin for English and one skin for Chinese, then
you should not set this value, and you should specify your output
encoding in each skin using the above method.
Sending Messages
Saké Mail knows to use the ISO-8859-1 character set by default
when sending messages. It also knows that if the message contains
characters that cannot be expressed using ISO-8859-1 that it should
send the message contents using the ISO-10646 character set, encoded
with UTF-8. If you need to manually specify the encoding used
when sending messages, you can modify configuration settings in
the template "t_compose".
Saké Mail uses UTF-8 for encoding the contents of
the message that a user composes, so no modifications are necessary
for supporting double-byte languages in browsers that conform
to HTML 4 specifications.
Output Messages
All error and warning messages that Saké Mail produces originate
in the templates. This means that it is possible to completely
translate the entire application into your chosen language without
making any code modifications.
Date Formats
The date formats that Saké Mail uses are specified in the
templates. The precise format of the dates used in the message
lists are specified by the snippet "DATEFORMAT"
in the templates "t_f_messagelist"
and "t_nf_messagelist", and
the format of the dates used on the message output page are specified
by the same snippet in the templates "t_f_message"
and "t_NF_message". The language
used in the names of months, days, time zones, and other language-specific
items is specified in the snippet "LOCALE"
in the same templates. The locale is specified as two names, separated
by a comma. The first name is a valid ISO language code, as defined
by ISO-639. You can find a list of these codes in many places,
including http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt
The second name si a valid ISO country code, as defined by ISO-3166.
You can find a list of these codes in many places, including http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html.
An example of a valid locale is the default "en,
US", which specifies that Saké Mail should list dates
in English, in the style used in the United States.
Spell Check
The dictionary used for the spell check functionality can be assigned
on a skin-by-skin basis, so that you can provide spell checking
in the appropriate language when you provide translations. More
information on how to provide this level of customization is available
in the spell check configuration documentation.
|
|