Funny language announcements when reading messages in Thunderbird

Have you ever noticed announcements like “x-western” or “x-cyrillic” when reading messages in Thunderbird? JAWS and possibly other screen readers that support the detection of language attributes in HTML content may announce this. The reason is that Thunderbird puts the encoding of a message into the “lang” attribute for each paragraph of content.

The problem is: Screen readers such as JAWS usually do not know what to do with these language names. They’re familiar with regular language names such as “en-us” or “de”, but not “x-western” or the like. As a result, the “language” is indicated with its attribute value. JAWS would also do this if you used Eloquence as your speech synthesizer, but encounter a web site that is tagged with lang=da” for the “Danish” language. JAWS would indicate to you that the web site is meant to be in Danish, but that the current speech synthesizer does not support this language. If you used RealSpeak and had the Danish voice installed, that voice would be then switched to, and the Danish text read out in the native tongue.

So what do we do to get rid of these announcements? There are two possibilities:

Turn off language detection for Thunderbird

One possibility is to turn offf the Language Detection feature for Thunderbird alltogether. The steps are rather simple, but you’d lose language switching if you read a blog feed or properly language-tagged HTML message. To turn off Language Detection, in JAWS you would do the following:

  1. Start Thunderbird.
  2. Press INSERT+F2 to bring up the List of Managers.
  3. Chooose the Configuration Manager entry.
  4. Inside Configuration Manager, go to the Set Options menu, then select Text Processing.
  5. Within the Text Processing dialog, tab to the checkbox that says “Detect Languages”, and uncheck it.
  6. Press ENTER to accept the changes, CTRL+S to save the configuration, and ALT+F4 to close Configuration Manager and return to Thunderbird.

See the relevant steps if you’re using a different screen reader and also want to turn off Language Detection.

Make those encoding languages simply use your default synthesizer language

A less drastic, yet a bit more involved method is to introduce those encodings to JAWS by making them simply use the default Eloquence language you’re using.

JAWS stores language mappings in a [ShortName Language Aliases] section in the DEFAULT.JCF configuration file. There, language attributes such as “en-us” are mapped to Eloquence languages such as “American English”. This section can be enhanced or changed in application specific JCF files. To enhance the Thunderbird JCF file with the encodings that you no longer want announced:

  1. In your User Settings directory, locate the Thunderbird.jcf file. If it is not already there, create one using NotePad or your favorite plain text editor. Note: You can go to your JAWS User Settings directory by going to Start Menu, All Programs, JAWS 8.0 (or 7.10 or 9.0), Explore JAWS, Explore My Settings.
  2. In that newly created or existing Thunderbird.jcf file, add the following lines:
    [Eloq Language Aliases]
    x-western=American English
    x-unicode=American English
    x-central-european=American English
    x-cyrillic=American English
  3. Save the file.

Let’s break this down a bit so you know what you just pasted:

  • The [Eloq Language Aliases] section heading tells JAWS that this is a Language Aliases section for Eloq, the short name for the Eloquence synthesizer.
  • To the left of each equals sign is the value that’s being put in the “lang” attribute, and which is not recognized by JAWS by default.
  • To the right of the equals sign is the Eloquence language that is to be used whenever this “lang” attribute value is encountered.

Happy reading!

12 comments:

  1. No, as far as I know there is no such thing as a common place to share JCF files (or JAWS settings in general). There are a few places where script writers hang out, such as the JAWSScripts mailing list initiated by http://www.blindprogramming.com.

    BTW: Thanks for your comment! You’re the first! :-)

  2. Feb. 22, 2008

    Hello Marco,

    I’m having a hard time getting your second solution for the Thunderbird funny language problem to work. Under All Programs, I go to the Jaws 8 sub menu, Explore Jaws submenu and my choices are:
    Explore my settings, Explore Program files, Explore shared settings and Explore Manual. First, I chose Explore My Settings and under the folder Personalized settings which was empty, I created a text document using Note Pad. I am pasting the exact contents below.
    File Name: Thunderbird.jcf
    Text (pasted from web site) [Eloq Language Aliases] x-western=American English x-unicode=American English x-central-european=American English
    x-cyrillic=American English

    I re booted and nothing had changed, so I put a copy of the file under Explore Program files. Again, nothing changed after re booting.

    Any clue what I’m doing wrong?

    Donna

  3. Hi Donna,

    the file must go into the folder that opens when you choose “Explore my Settings”. The PersonalizedSettings folder stores PlaceMarkers and website specific settings, but the JCF file must go into the settingsenu, not settingsenuPersonalizedSettings. So, simply go into PersonalizedSettings, select Thunderbird.jcf, press CTRL+X to cut to the clipboard, press BACKSPACE to go up one folder level, and CTRL+V to paste the file there.

  4. Marco,
    Thanks for responding so quickly. I moved the file up one level so it’s under Enu, in the list ofPersonalized, Placemarkers, Default and now Thunderbird.jcf. Unfortunately, there’s no change after re booting. I double-checked the file and it’s where it belongs now. I seem to remember reading something about programming saying you need to use or >< before and after things. If that’s what I’m missing, please let me know which one is right. Any other ideas to help me fix this?
    Donna

  5. Donna, no, it should be a plain text file, with the first line being left bracket eloq language aliases right bracket, as shown in my original post. Are you using Thunderbird 2 or 3? If you’re using the 3.0 nightlies, you might need to call it thunderbird3.0a1pre.jcf instead of thunderbird.jcf.
    Marco

  6. Hi Marco,
    I was using Thunderbird 1.5.0.14 so I upgraded to 2. It still doesn’t work. The file says “Note Pad” and is marked “.txt. Just in case something was amiss with the file, I trashed the file I had and started over, pasting the info from your blog as before. Could there be a setting in Jaws that I need to enable or disable to make files like this work? I even tried putting each entry on a separate line, though you don’t seem to do it that way. The only thing that works is saving the messages as html files, which I can do if all else fails. I haven’t tried your first fix yet. I’m not sure how much of a limitation that would be. . Sorry for being a pest about this.
    Donna

  7. Hi Donna,

    ah, that’s why it doesn’t work! NotePad has a tendency to give every file it saves a .txt extension. So what you should do is:
    1. Go to the file.
    2. hit F2.
    3. Remove the .txt extension at the end of the file, so that it really only says Thunderbird.jcf, and Explorer lists it as “Configuration”, not as “NotePad”.

    Hope this helps!

  8. Hi Marco,
    The .txt extention is not on the file name where I can edit it, but appears on the “c:…” path announced when I close the document after making changes.
    Donna

  9. Why not using the spell checking dictionary language to tag messages with the appropriate content-language?

    Obviously this would work only when we send a message, but I think it would be pretty accurate.

  10. I just now began to get my teeth in to Thunderbird after having used Windows Mail under Vista for a little over half a year. I don’t see any way to add a sender to my address book except via the “automatically add card” option under the tools/options/composition tab/addressing tab. I tried all the menues I can get access to but no luck. Also, Is there any way to create an list of various cards in Thunderbird such as one can do in Windows Mail or Outlook Express? thanks. PS. I found the Windows Contact extension to be quite a life saver.

What are your thoughts?