[Thai locale] Error on opening options menu - Zotero Standalone

upon opening the 'options' menu in the Standalone version 3.05 I get the following error message:

XML Parsing Error: error in processing external entity reference
Location: chrome://zotero/content/preferences/preferences.xul
Line Number 26, Column 69:<!DOCTYPE prefwindow SYSTEM "chrome://zotero/locale/preferences.dtd">

This is a clean install (first install of Zotero) without Chrome (was going to install it later). I use Windows 7 Pro 32bit. I needed to access the options menu to change the user interface language which was mistakingly set to Thai script after install as I'm based in Thailand. Maybe this is a Thai UI language specific problem? However, I can't change the UI language if I can't access the options menu...

I tried the same on another windows 7 Pro machine (64bit) and had no problems (again first install and no Chrome or Firefox).

Thanks for any quick help!
  • This was a bug (a missing semicolon) in the contributed Thai locale. The fix will be included in 3.0.7.

    You can change the locale manually by closing Zotero and editing prefs.js in C:\Users\\AppData\Roaming\Zotero\Profiles\ in a text editor. Make sure the following two lines exist in the file:

    user_pref("general.useragent.locale", "en-US");
    user_pref("intl.locale.matchOS", false);

    If there are existing lines with those preferences, edit them to reflect those values. Otherwise, add the lines to the end of the file.
  • Thanks for the quick help. Alas, it did not completely work at first. The interface language remained Thai. Funnily, I was able to access the Option menu. Still the intl.locale.matchOS was already set to false of course, so it didn't do me any good.

    What solved the issue eventually was following work-around:

    - Deinstall Zotero
    - Reinstall Zotero but not start it
    - In Zotero program folder edit the file chrome.manifest and change the row of your interface language country code to use 'en-US'. In my case for Thailand, the entry would then look like this:
    locale zotero th-TH jar:chrome/zotero.jar!/locale/en-US/zotero/
    Obviously you need to retain the first country code, as that's what tells Zotero what to do if the installed computer has that country code.
    - After that start Zotero and have English interface.
    - You can then enter the options menu and set the 'intl.locale.matchOS' if required.

  • edited May 1, 2012
    All right, but you shouldn't have to do that. As far as I know setting general.useragent.locale to "en-US" should be sufficient if intl.locale.matchOS is false. (For example, if I set general.useragent.locale to "th-TH" and restart Zotero, I get the Thai interface.)
  • Hmm, strange. I'm not sure why it didn't show english language then. I copy pasted your lines into the file and verified that they were included. Still the interface was Thai, but the options menu was able to open. Maybe there was something else interfering on my computer.

    Anyway, it's working brilliantly now and I'm absolutely amazed by this fantastic free software. Definitely has put my Endnote from it's throne. Thanks!
Sign In or Register to comment.