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 . To subscribe To subscribe to this mailing list, send a message to LISTSERV@TERENA.NL which contains the text SUB[SCRIBE] WG-I18N 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 " 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: Date: Wed, 12 Nov 2000 18:12:00 +0100 From: Jacob Palme 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: Date: Wed, 12 Nov 2000 18:12:00 +0100 From: Jacob Palme 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: Date: Wed, 12 Nov 2000 18:12:00 +0100 From: Jacob Palme 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: Date: Wed, 12 Nov 2000 18:12:00 +0100 From: Jacob Palme 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: Date: Wed, 12 Nov 2000 18:12:00 +0100 From: Jacob Palme 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: Date: Mo, 13 Nov 2000 12:12:00 +0100 From: Jacob Palme 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: Date: Wed, 12 Nov 2000 18:12:00 +0100 From: Jacob Palme 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