Network Working Group                                     Jacob Palme
Internet Draft                               Stockholm University/KTH
draft-palme-multipart-language-00.txt                          Sweden
Category-to-be: not to be published               Date: November 2000
                                                    Expires: May 2000



       An investigation of handling of multipart/alternative
             in some common mailers in November 2000

                        Status of this Memo


This document is an Internet-Draft and is in full conformance
with all provisions of Section 10 of RFC2026.

Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups.  Note that
other groups may also distribute working documents as
Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time.  It is inappropriate to use Internet-
Drafts as reference material or to cite them other than as
"work in progress."

The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt

The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.

Copyright (C) The Internet Society 1998. All Rights Reserved.


                            Abstract


This memo describes an investigation of how some common mailers
(Eudora, Pine, Hotmail, Outlook Express, Netscape, First Class, KOM
2000) handled the use of multipart/alternative with different languages
in the different body parts.

None of the mailers handled this very well. It seems as if none of the
mailers can actually choose the part in the language preferred by the
user. Some of them displayed all language parts, some arbitrarily chose
to display only one part.

The study compares different methods of specifying language translation
in e-mail, but finds that no format seems to give satisfactory results
with all the tested mailers.


Further discussion


Further discussion of this memo can take place in the mailing list WG-
I18N@TERENA.NL.

Mailing List Information

To write contributions

 Further discussion on this document should be done through the
 mailing list WG-I18N@TERENA.NL.

 Comments on less important details may also be sent to the editor,
 Jacob Palme <jpalme@dsv.su.se>.

To subscribe

 To subscribe to this mailing list, send a message to
 LISTSERV@TERENA.NL
 which contains the text
 SUB[SCRIBE] WG-I18N <your name (not your email address)>

To unsubscribe

 To unsubscribe from this list, send a message to
 LISTSERV@TERENA.NL
 which contains the text
 UNS[UBSCRIBE] WG-I18N

To access mailing list archives

 The archives are available for browsing from
 http://www.terena.nl/working-groups/wg-i18n/hypermail/

The archives are also available by email. Send a message to
 LISTSERV@TERENA.NL with the text "INDEX WG-I18N" to get a list
 of the archive files, and then a new message "GET <file name>" to
 retrieve archive files.

                         Table of contents

1    Overview of result
2    Main discussion
3    Test messages
4    Results
5    Author's address


1     Overview of result

I have made some tests on how some existing mailers (Eudora,
Netscape, Outlook Express, Hotmail, First Class, Pine, KOM 2000)
handle different ways of sending a message translated to
multiple languages.

The full test report can be found at
ftp://ftp.dsv.su.se/users/jpalme/draft-palme-multipart-language-00.txt

I started with the simple case of multipart/alternative with
one language version in each body part. None of the mailers
could handle this very well. Some mailers choose one
language part, some another part, but my impression was
that this choice was not made based on the language
preferences of the user for any of the mailers.

When none of the mailers seemed to be able to handle this
very good, I tried different more complex constructs.
But none of them works well with all the tested mailers.

A new extension to e-mail standards to handle language
translation should ideally degrade gracefully, in that
existing mailers will at least show the message in some
format readable to all recipients. None of the formats
tested worked OK with all the mailers.

The best format if graceful downgrading to existing
mailers is wanted, seems not to be multipart/alternative
but multipart/mixed. If this is used, however, each
body part should have a title with its language,
since some mailers just concatenate all body parts
with no divider between them. Thus, the format which
best gracefully downgrades for existing mailers is
the following format, note that the "****" lines have
to be explicitly inserted by the mailer.

    Message-ID: <language-test-7@dsv.su.se>
    Date: Wed, 12 Nov 2000 18:12:00 +0100
    From: Jacob Palme <jpalme@dsv.su.se>
    MIME-Version: 1.0
    To: jpalme@dsv.su.se,jptest@dsv.su.se
    Subject: Language test message no. 7 v1
    Content-Type: multipart/alternative; boundary="==boundary-2"

    Text displayed only to non-MIME-compliant mailers

    --==boundary-2
    Content-Type: text/plain; charset=iso-8859-1
    Content-Transfer-Encoding: 8bit
    Content-Language: en

    **** This message in English ****

    Message in English.

    --==boundary-2
    Content-Type: text/plain; charset=iso-8859-1
    Content-Transfer-Encoding: 8bit
    Content-Language: de

    **** Diese Nachricht auf deutsch ****

    Nachricht auf deutsch.
    --==boundary-2--

This is not very neat, but all other choices will downgrade
badly or very badly to some of the tested mailers.


2     Main discussion

As a basis for possible work on developing standards for language-
translation in e-mail, I tested how some common mailers handled
multipart/alternative with different Content-Language in the body
parts.

I used three test messages:

Test message 1: First part English, second part German

Test message 2: First part English, second part German

Test message 3: Same as test message 2, but multipart/mixed instead of
multipart/alternative.

Test message 4: Same as test message 3, but with Content-Dispostion:
Attachment
on all but the first body part.

Test message 5: Multipart/mixed on an outer level, with the first part
a directory of attachments, and the second part a multipart/alternative
with the German and English parts as the two alternatives.

I tested this with the following mailers:
Eudora 5 Macintosh, Pine 4.21 on Unix, Netscape 4.7 Macintosh, Outlook
Express 5 Macintosh, First Class 5.611 Macintosh, KOM 2000 (our own
system), and Hotmail.

Result: None of the mailers seemed to test on the Content-Language
value, and make a selection based on this.

Eudora, Outlook Express, KOM 2000 and Hotmail only showed the first
body part. Netscape only showed the second body part. Pine only showed
the second body part, but provided a user command to see also the first
body part. First Class displayed both body parts in sequence, i.e. i
treated multipart/alternative as identical to multipart/mixed.

The conclusion of this is that if IETF makes a standard, specifying
that different translations of the same message should be sent with
multipart/alternative with different Content-Language on the different
body parts, then most mailers will not show a user the version in the
preferred language of that user.

Since backwards compatibility with existing mailers is very important,
this seems to indicate that an IETF standard for handling of language
translation in e-mail has to use some other format than
multipart/alternative to indicate translations.

I also tested some more complex messages. In test message 4, I used
multipart/mixed with three body parts, the first a list of the rest of
the body parts, which contained the message in different languages.
This format was not ideal either with the existing mailers. Most of
them showed all three body parts in sequence inline (even though all
except the first were marked as Content-Disposition: Attachment) and
some of them without any visible marker between the body parts.

In test example 5, on the top level is a multipart/mixed with two body
parts,
the first a list of the body parts, the second a multipart/alternative
with the different language parts. This had the same problem as all the
other multipart/alternative test examples: Many of the mailers
arbitrarily chooses one of the multipart/alternatives and only shows
this, some mailers choose the first alternative, some the second.

In test exaple 6, I had on the top level a multipart/alternative where
the first body part was a text/plain with all the language versions in
one text. The second body part was another multipart/alternative with
the different language parts as body parts. A mailer which cannot
discriminate between languages, should for this message only display
body part 1. Only Outlook Express and KOM 2000 did this. Pine, Netscape
and Hotmail arbitrarily showed only one language version.


3     Test messages

Test message 1:
---------------

      Message-ID: <language-test-1@dsv.su.se>
      Date: Wed, 12 Nov 2000 18:12:00 +0100
      From: Jacob Palme <jpalme@dsv.su.se>
      MIME-Version: 1.0
      To: jpalme@dsv.su.se,jptest@dsv.su.se
      Subject: Language test message no. 1 v1
      Content-Type: multipart/alternative; boundary="==boundary-2"

      Text displayed only to non-MIME-compliant mailers

      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: en

      Message in English.

      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: de

      Nachricht auf deutsch.
      --==boundary-2--

Test message 2:
---------------

      Message-ID: <language-test-1@dsv.su.se>
      Date: Wed, 12 Nov 2000 18:12:00 +0100
      From: Jacob Palme <jpalme@dsv.su.se>
      MIME-Version: 1.0
      To: jpalme@dsv.su.se,jptest@dsv.su.se
      Subject: Language test message no. 1 v1
      Content-Type: multipart/alternative; boundary="==boundary-2"

      Text displayed only to non-MIME-compliant mailers

      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: de

      Nachricht auf deutsch.
      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: en

      Message in English.
      --==boundary-2--

Test message 3:
---------------

      Message-ID: <language-test-3@dsv.su.se>
      Date: Wed, 12 Nov 2000 18:12:00 +0100
      From: Jacob Palme <jpalme@dsv.su.se>
      MIME-Version: 1.0
      To: jpalme@dsv.su.se,jptest@dsv.su.se
      Subject: Language test message no. 3 v1
      Content-Type: multipart/mixed; boundary="==boundary-2"

      Text displayed only to non-MIME-compliant mailers

      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: de

      Nachricht auf deutsch.
      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: en

      Message in English.
      --==boundary-2--

Test message 4:
---------------

      Message-ID: <language-test-4@dsv.su.se>
      Date: Wed, 12 Nov 2000 18:12:00 +0100
      From: Jacob Palme <jpalme@dsv.su.se>
      MIME-Version: 1.0
      To: jpalme@dsv.su.se,jptest@dsv.su.se
      Subject: Language test message no. 4 v1
      Content-Type: multipart/mixed; boundary="==boundary-2"

      Text displayed only to non-MIME-compliant mailers

      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit

      Attachment 1: Deutsch
      Attachment 2: English

      Nachricht auf deutsch.
      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Dispostion: Attachment
      Content-Language: de

      Nachricht auf deutsch.
      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Dispostion: Attachment
      Content-Language: en

      Message in English.
      --==boundary-2--

Test message 5:
---------------

      Message-ID: <language-test-5@dsv.su.se>
      Date: Mo, 13 Nov 2000 12:12:00 +0100
      From: Jacob Palme <jpalme@dsv.su.se>
      MIME-Version: 1.0
      To: jpalme@dsv.su.se,jptest@dsv.su.se
      Subject: Language test message no. 5 v1
      Content-Type: multipart/mixed; boundary="==boundary-2"

      Text displayed only to non-MIME-compliant mailers

      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit

      Attachment 1: Deutsch
      Attachment 2: English

      --==boundary-2
      Content-Type: Multipart/alternative; boundary="==boundary-1"

      --==boundary-1
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: de

      Nachricht auf deutsch.
      --==boundary-1
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: en

      Message in English.
      --==boundary-1--
      --==boundary-2--

Test message 6:
---------------

      Message-ID: <language-test-6@dsv.su.se>
      Date: Wed, 12 Nov 2000 18:12:00 +0100
      From: Jacob Palme <jpalme@dsv.su.se>
      MIME-Version: 1.0
      To: jpalme@dsv.su.se,jptest@dsv.su.se
      Subject: Language test message no. 6 v1
      Content-Type: multipart/alternative; boundary="==boundary-1"

      Text displayed only to non-MIME-compliant mailers

      --==boundary-1
      Content-Yype: text/plain; charset=iso-8859-1

      **** This message in English ***

      Message in English.

      **** Diese Nachricht auf deutsch

      Nachricht auf deutsch.
      --==boundary-1
      Content-Type: multipart/alternative; boundary="==boundary-2"

      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: en

      Message in English.

      --==boundary-2
      Content-Type: text/plain; charset=iso-8859-1
      Content-Transfer-Encoding: 8bit
      Content-Language: de

      Nachricht auf deutsch.
      --==boundary-2--
      --==boundary-1--


4     Results

Mailer          Test message 1&2        Test message 3
------          -----------------       ---------------

Eudora 5        Only displayed the      Both shown in
Macintosh       first alternative,      sequence, Content-
version         did not even indicate   headers shown, but
                that there was any      not Content-Language!
                other alternative.      No indication that
                                        the different
                                        language of the two
                                        body parts.

Pine 4.21 on a  Only the second         Both versions are
Unix platform   alternative is shown    listed in sequence
                directly, but the       with a divider
                user can ask to see     indication inbetween,
                the first alternative   no indication that
                with the VIEW           the different
                command. Nothing is     language of the two
                said to indicate that   body parts.
                the two alternatives
                contain the same text
                in two languages.

Netscape 4.7    Only the second         Both versions are
on a Macintosh  alternative is shown,   listed in sequence
                did not even indicate   with a horizontal
                that there was any      rule inbetween, no
                other alternative.      indication that the
                                        different language of
                                        the two body parts.

Outlook         Only displayed the      Both shown in
Express 5,      first alternative,      sequence, no divider
Macintosh       did not even indicate   and no indication
edition         that there was any      that the different
                other alternative.      language of the two
                                        body parts.

First Class     Both versions are       Both versions are
5.611,          listed in sequence      listed in sequence
Macintosh       with no divider         with no divider
client          inbetween, no           inbetween, no
                indication that the     indication that the
                different language of   different language of
                the two body parts.     the two body parts.

KOM 2000        Only displayed the      Both versions are
                first alternative,      listed in sequence
                did not even indicate   with a blank line
                that there was any      inbetween, no
                other alternative.      indication that the
                                        different language of
                                        the two body parts.

Hotmail         Only displayed the      Both shown in
                first alternative,      sequence, blank line
                did not even indicate   inbetween.
                that there was any
                other alternative.


Mailer          Test message 4          Test message 5
------          ---------------         ---------------

Eudora 5        All three body parts    First and second body
Macintosh       in sequence.            part shown inline.
version

Pine 4.21 on a  First message shown     First message shown
Unix platform   inline, the rest        inline, the rest
                available by commands   available by commands
                to retrieve             to retrieve
                attachments.            attachments.

Netscape 4.7    All three body parts    Only first and third
on a Macintosh  in sequence with a      body part shown in
                horizontal rule         sequence with two
                inbetween.              horizontal rules
                                        inbetween.

Outlook         All three body parts    First and third body
Express 5,      in sequence.            parts in sequence.
Macintosh
edition

First Class     All three body parts
5.611,          listed in sequence.
Macintosh
client

KOM 2000        All three body parts    First and third body
                in sequence,            part in sequence,
                horizontal rule in      horizotonal rule in
                between.                between.

Hotmail         All three body parts    First and third body
                in sequence.            part in sequence.

Mailer          Test message 6
------          ---------------

Eudora 5        The first and the
Macintosh       second, but not the
version         third body part is
                shown.

Pine 4.21 on a  Last body part (the
Unix platform   German variant) shown
                inline, the other
                body parts available
                as attachments.

Netscape 4.7    Only the last body
on a Macintosh  part (the German
                variant shown,
                nothing indicates to
                the reader that
                anything more is
                available.)

Outlook         Only the first body
Express 5,      part shown, with both
Macintosh       language text within
edition         a single body part!

First Class
5.611,
Macintosh
client

KOM 2000        Only the first body
                part is shown,
                containing both
                language versions in
                one body part.

Hotmail         Only the second body
                part is shown, no
                indication that any
                more text is
                available.



5     Author's address


Jacob Palme                     Phone: +46-8-16 16 67
Stockholm University/KTH        Fax: +46-8-783 08 29
Skeppargatan 73                 E-mail: jpalme@dsv.su.se
SE-115 30 Stockholm, Sweden