Download

There are two different downloads for Keeper on Windows, and one for Mac (in most cases). The two choices on Windows are:- a standard ZIP file, or an (Inno) installer.

Unless otherwise stated, an archive unpacker will be required in order to open the compressed ZIP archive. WinZip, WinRAR, 7-Zip, etc.

The default location for the installer is 'Program Files'. As of Windows Vista, User Account Control (UAC) forbids writing files to directories within Program Files unless the User Account Control feature is disabled. If you use the installer, you can now opt to have the INI file saved in AppData during installation.

Modification Disclaimer

EE Keeper is a save game editor. It can also be used as a character and creature editor. It's not a mod itself, but it can be used to make modifications. If asked by a member of the Beamdog team in reply to a bug report, "are you using any mods?" please be aware that this counts as a mod, as it is used to modify something outside of the game. Most modifications achievable via EE Keeper are harmless, this is just an advisory notice.

Compatibility

Mac: This is a big question for a lot of people. The answer is that it is not officially supported. Some trials on Mac via Wineskin, by @Nifft, have been done and it seems to work, depending on the version - it will be up to others to help with that should any issues arise. More details here. @AstroBryGuy, has recently started creating wrappers for new versions of EE Keeper. Please note that a new wrapped version will be released behind the Windows version; it requires that he gets the latest version and then create and upload a wrapper. For future builds I will be submitting one to him sooner so that he can have it wrapped and uploaded in conjunction with the Windows release.

Linux: Though not ideal, Keeper works with the use of Wine and it functions well enough. To load different languages, environmental variables may need to be set; e.g. Exec=env LC_ALL=zh_CN.UTF-8 WINEPREFIX="[location of wine]" wine '[location of file]'.

Windows: The current version should work on everything from XP to Windows 10. If you encounter a problem, please see the details in the next post on reporting any issues you find.

As a final note: just because a new thread is made, and the release is more of a Live/REL version, it doesn't mean that the program is bug free, nor does it mean that I won't be tweaking it any more (I will, and it will be a long term project/hobby). If you come across any issues, or you are in doubt over something, feel free to post and either myself of some other helpful community member will try to help overcome it. If you find something, and you're certain that it's a bug (i.e. portraits not displaying when they should), feel free to create a ticket for it here. If the ticket is not a bug, but a misunderstanding, then it will be moderated as such. Feature requests can also be made, just set the 'Report Type' option to 'Feature Request'. When trying to bring a bug to my attention, please specify what platform you are using (Mac or Windows) and exactly what you are or were trying to do at the time of the bug.

Credits

Obviously, like any program, there are bugs and there are people who voluntarily test and people who report bugs. If you've tested this to make sure it works in a beta, you'll be listed here. If you're not specifically testing for bugs, but still find one and take the time to come here and report it, you'll be listed. If you're not listed here (I may have simply forgotten), send me a PM and you'll get added.

This also adds the option to identify only a selected item, or to undo an ID action on any item.

Added Journal tab.

Journal entries and flags are not currently editable.

Removed State Flags tab.

State flag has now been moved to the 'Characteristics' tab.

This also fixed a bug where the new flags caused the program to save multiple flags that were not selected. Since only flag is active at any given time, it has been replaced with a combo-box (drop-down list).

Affects.

The 'Edit Affects' dialog now has pre-loaded drop-down lists for:

Type

Target

Flags

and Resistance.

Text (for example, target being "Self") now appears in the table instead of its numeric equivalent, this should help make it less confusing at a glance, and should make t easier when selecting a certain affect, such as Aura Cleansing, from within the editing dialog.

Affects for some old CRE files were not read correctly by either Shadow Keeper or EE Keeper, this has since been fixed and now reads and save correctly.

UI Tweaks, save game, and game installation detection.

Now opens and saves Black Pits and Multiplayer save games, as well as the standard Single Player games.

EE Keeper no longer uses the Shadow Keeper method of executable detection, and instead uses the Chitin.key file to see if the directory is a valid installation. This should remove the problem for both Steam users and Mac users. Also note that this is entirely optional, even if the game cannot 'be found' the user can still click 'Yes' when asked if it is the correct directory; if it is not, resources simply won't load.

New toolbar with larger buttons.

Option to select custom save game location.

Plesae note that when using a custom location, selecting a save game from anything other than the currently loaded resources will end up with errors (missing items, spells, etc.).

Save game image now displays instead of a grey box.

Options to set both BG:EE and BG2:EE installation locations will be available in the next build;

Switching between the two from buttons provided on the toolbar will also be available in the next build.

Spell and Item List Exporting.

Lists now export as either text or CSV.

Spell Browser.

Numerous new options added to the filter dialog.

Item Browser.

Some new options added to the filter dialog, as well as making item type detection slightly better.

Super sneaky ninja update.

Fixed an issue with the new journal tab.

Some grammar fixes.

1.0.2.1 - minor build for Baldur's Gate II: Enhanced Edition release.

Fixed issue with loading Black Pits save games with less than six characters in the party.

Added support for Baldur's Gate II: Enhanced Edition

Rewrote the inventory icon display code for some of the higher resolution item icons.

1.0.2.2 - Unicode support

UTF-8 support for all files.

Exporting item and spell lists now also supports UTF-8 encoding.

Exporting item and spell lists has also been improved (no more "Include Descriptions?" message box).

Kits now read from game files; please note any strange behaviour (especially with mods) on the Baldur's Gate forum.

Other minor tweaks.

1.0.2.3 - minor build for 'Stored Locations'

Fixed a bug from the original code where the stored locations would not write to the appropriate place if there was a stored location saved; e.g. a stored location for the Pocket Plane.

As above, this also corrects an issue that occurred where the offset that denotes the end of the Familiar structure would never update.

Added a portrait display under the game image; should save confusion if the user has multiple save games under the same name.

Tweaks and additions for future updates; some are disabled.

1.0.2.4

Implemented exporting as CHR rather than just as CRE. Exporting an entire party can now be done directly from within Keeper.

More information can be found in the Creature Browser by enabling that option. To reduce clutter, this option can be disabled.

Added AC Modifiers to editor under the Resistances tab.

Please note that results may vary and may not appear in-game under the character statistics.

Removed Saving Throws tab and merged it with Resistances.

Added three more options to the Characteristics tab for the sake of completeness.

Tweaked the Appearance tab so that an option can be enabled to have the colour icons appear similar to how they appear in-game (round), square (original Shadow Keeper/EE Keeper), or a large variation of those two.

Tweaked the Installation Directory settings dialog, it now how language names rather than system locale abbreviations; example, 'English' instead of 'lang/en_US/'

Replaced almost all text strings and placed them into the resource file, this now makes translation possible and easy.

Changed the way spell icons are read so that Innate spell icons now display appropriately.

Language picker added to 'View'. Available languages will appear here.

Changed the way spell icons are read so that Innate spell icons now display appropriately.

Incorporated use of an INI configuration file for the sake of portability and so that the editor can have multiple instances with different settings loaded.

Memorisation tab has been overhauled to allow adding and modifying of values.

All editor windows now store state and position to the INI file.

A file name length check of 8 to Convert to CHR and Convert to CRE options.

References to Aaron's old site, mud-master, and e-mail address, have been removed. The site no longer exists as it did and redirects to an advertisement. His name is still at the top of the About dialog, though, that won't change.

* Translations are the property of their respective translators, they are also the sole responsibility of their respective translators. No responsibility over their accuracy is assumed by myself (Troodon80), any grammatical inconsistencies in non-English languages should be reported to the translators. English grammar can be reported here.

Version 1.0.3

1.0.3.0 - Third revision.

Fixed memorisation list not clearing when the program is closed (memory leak).

Implemented "Profiles..." menu item which loads known profiles for quicker switching. Note: currently, it does not refresh for new profiles added after the list is loaded.

Changing editor language via View⇒UI Language is now instant.

Can now unzip save games from iOS/Android with the extension .bg1save: Works with or without save game number on bg1save archive.

If the file has no starting number, then one will be picked; priority is: if there are save games that already have numbers in excess of 100, then it will pick that number + 1. If there are no save games with numbers in excess of 100, then it will start at 100.

If the file has a number, then it will use that. Known issue:

If your save game is named with just a number, e.g. 123.bg1save, then it will not be extracted. I may or may not fix that since having a number on a bg1save file is not official behaviour.

Additional notes: Keeper will attempt to extract bg1save files every time the Open Save Game dialog is opened. Keeper will delete any bg1save files it extracts to avoid repeated extraction—it will only delete items it can extract, it a save game with a number is present and is extracted once, and another bg1save by the same name and number (e.g. if there were 000000001-Quick-Save.bg1save) it will not extract the second one nor will it delete the archive.

Update checker overhaul (code and appearance) -- no longer check for updates via About dialog. Update checker now has its own window with a progress bar when downloading (saves a zip file to a specified location rather than doing an actual update). Note: it should now also work slightly better with OSX, it'll look for updated wrapped versions; if no wrapped version is available, then it won't say there's an update.

"Find Strings..." dialog changes:

Added "Resource" column for audio in Find Strings dialog.

Added "Save Strings to File" to save the current list to either CSV (default) or TXT.

Under Settings⇒Miscellaneous, added a host of new options as well as grouping, previously only available via INI editing; as well as two new options for the new features:

Max HP on levelup (does exactly what you'd expect).

Divide HP after total sum (this applies to multi-class and dual-class characters; when enabled, you should get more HP on each roll. The effect can be seen when comparing a freshly created character in BG:EE at level 1, and a new character in BG2:EE, then levelling up the BG:EE character and comparing the total HP).

Update Bonus Stats updates only the total values, not the base stats. This option does not change the creature/character/save in any way unless already edited (it makes sure that the values changed actually impact the total -- so, for example, if you change dexterity, it'll set it and use the updated value when calculating the armour class total -- this is the same as when making an edit and moving to another party character).

Recalculate Stats updates the base values and totals. If you're using a custom value for something like HP, that's going to get reset. This should reset everything to what they should be as per the engine rules. Could be potentially hazardous. HP, AC, THAC0, Thief Skills, and Saving Throws will all be set to their appropriate amount. May or may not work with modded kits—feedback welcomed. Might add spell slots and proficiency points display next—possibly also automating bonus spells if more are found in the list than there should be according to the game tables.

Better thief skill readout; Enhanced Editions only:

Only works for classes that should have thief skills; thief, bard, ranger, monk, and dual/multi-classed thieves.

Displays bonuses from dexterity when Update Bonus Stats is pressed.

Readout to show the total available points to spend and how many are left to spend; [currently availably] / [total]

Dual-class thieves will not show points to spend if thief class is set to be the original class, will fix in next build.

Rangers and monks will increase as per game tables, they won't display points to spend.

Changed types for THAC0 and Resistances (all); these are now signed values: -128 to 127.

"Unable to locate the kit ability list." error when trying to add kit effects. Thanks to @tysxych for pointing that out.

Changed: File⇒Open Character File... and File⇒Open CRE File...

Removed the old Open Character/Creature dialog and replaced it with a standard Windows Open File dialog. This enables loading of creature and character files from anywhere. @Adso was looking for something that could do that. These were both changed due to their redundancy and only being able to open characters or creatures which were located in the games' folders. Creatures and characters can now be found in their respective browsers.

Added: Character Browser.

Essentially the same as the Creature Browser, but can view characters from the characters folder, override, and BIF. Previously, only characters that had been exported could be viewed from the Open Character File... dialog. I had forgotten about an early report by @mlnevese when I created the new topic here.

FAQ

Q. Where do I start?

When you launch Keeper for the first time, you will be prompted to create a game profile. Not to be confused with an online profile, this will only store your settings for the game you want to load.

A. You can no longer add custom kits to a ULD file as was done previously, kit detection is now based on in-game files. The only way to load a custom kit is to ensure that it is listed in the appropriate files. I will work with mod authors to ensure proper kit detection, but for now I can say it works will all standard kits.

, then either enter the location of your installation directory by copying and pasting the address, or press

Browse

and manually look for the directory that way. Make sure that you set the language directory. If you do not, then EE Keeper will look for the TLK file in the games' installation directory - thus most likely won't find it. Further checks will be implemented in the future.

If you are using the standalone installer, please ensure that you use the game directory rather than the launcher directory. Typcially, the launcher directory will be

\Program Files\Baldur's Gate Enhanced Edition\

, whereas the game directory is located further into that directory,

\Program Files\Baldur's Gate Enhanced Edition\Data\00766

.

Q. Will this work with the Steam version?

A. As of version 1.0.2.1: Yes, it will. Steam does not follow the same convention as Beamdog; the game will be downloaded directly without a launcher or downloader. Games should be located in the SteamApps folder, assuming no custom location was selected prior to downloading. Right-click on the game title in your Steam Library, select Properties, then go to the Local Files tab and press the Browse Local Files... button. This will open the exact directory from which the address can be copied.

Q. EE Keeper says it can't load effects, what's wrong?

A. In the past, one ULD file was included and needed to in the same directory as EE Keeper - that file is 'Affects.uld.' Now there is a DAT file, bgEEEffects.dat. This file is no longer required for Keeper to function, but if this file is not in the same folder, or a folder designated in the INI config file, then you will not be able to see what opcodes are what or their descriptions. If you are receiving this message when starting EE Keeper, please verify that the file in question is located in the same directory before posting.

A. A basic modification to the original code was made so that you can select your own language. However, you are required to select this language from the drop down list. If you do not select a language from the provided list, Keeper will look in the installation directory (as per the original game, and is left that way to ensure some backwards compatibility). Since the Enhanced Editions placed the language files into sub-directories, if Keeper looks in the install directory it will not find the dialog.tlk file. As of 1.0.4, EE Keeper now also looks in sub-directories and picking a language is no longer a requirement unless it's a non-English language. Note that this is not the only issue that can cause this, other missing files, etc., can also cause it.

An example of the filled in options is provided to the below.

Q. I changed the installation directory settings to a different location but EE Keeper is/is not reloading resources, what's it doing?

A. If you make a significant change, i.e. you change the game language or the game directory, then Keeper will want to reload as soon as you press OK. If you press OK and still have a saved game, creature, character, Spell Browser, Item Browser, or Creature Browser open in the editor, then it will not reload the game resources automatically. You will need to close any currently open windows and then press the reload button. Please note that a reload is not necessary when changing the save data location, nor will it occur.

Q. Keeper isn't finding my save games. What's wrong?

A. Two possibilities here:-

There is a setting which disregards auto-saves and quick-saves. This is from the original Keeper. Since it doesn't overwrite the existing save game, rather it creates a new folder, I'm not sure why Aaron O'Neil made it this way. I just left it as it was. You can find the setting to show auto-saves and quick-saves under Settings⇒Miscellaneous, and find the option labelled "Enable editing of quick and auto saves."

The new profile system allows the user to specify the save game directory. However, there is apparently some confusion over what that means. The instructions specify "the directory where the 'save' folder resides"; that means the folder containing the save folder, but not to select the save folder itself (please see example INI layout for basic folder paths).

What this means is that Keeper will append 'save', 'mpsave', 'bpsave', 'mpbpsave', 'characters', 'portraits', and 'override' to the current path in the text box. If you have Documents\Baldur's Gate - Enhanced Edition\save\ already, what Keeper is really looking for internally is Documents\Baldur's Gate - Enhanced Edition\save\save. As might be thought, that won't find any save games.

Q. I have a question about the INI config file—what are the valid settings?

If you have a bug whereby the editor is not loading game resources, then copying and pasting the Install Path lines will probably help.

Q. I have a serious bug and want to share/report it!

A. By all means, please do. You have multiple options available to you when trying to troubleshoot or file a bug. First, however, before stating that something is a bug, make sure everything is in order, as stated above; correct installation directory, make sure the language is set, etc. If, after all your efforts, something is still amiss, please let me know. You can either post here in the forum and get advice, or go directly to the SourceForge page and submit a ticket (marked as 'Bug').

For any crash related reports, please provide as much information as you can about the crash. Where the crash is occurring, whether it is intermittent, your computer specifications (including, but not limited to, your operating system - both 32-bit and 64-bit - as well as whether or not you have the latest VC++ redistributables), and any error message details that may be displayed (example: EE Keeper has encountered an error and must close, etc., etc.).

Please note, any ticket that is created should be watched in case any extra information is needed. If you have an account here on this forum, please be sure to provide your user name in case any further information is required.

Using version 1.0.1 with Wineskin, I'm no longer able to configure the game directory in a way that EE Keeper will accept.

There is no "Baldur.exe" in the OS/X game directory, and version 1.0.0 complained about this but worked anyway. Version 1.0.1 complains and doesn't work.

@Troodon80: Are you doing some additional "sanity checks" on the configured directory? If so, can you add a way to turn them off, or to detect that the OS/X install is valid in spite of being different from Windows?

@Nifft, I can add a way to disable checks, yes. While I'm at it, for compatibility purposes, I will also add an option for a different directory other than Documents for non-Windows systems.

Can you explain in what way the program complained? There are only two things that link to the issue you are having, that I can think of; one is the ability to leave the languages option blank (if it can't read the tlk file, then it won't allow you to do much of anything), and the other was changing the compiler to an XP compatible one.

Have you tried setting the language option to see if it will work? The reason why I made it so the language picker could be left blank was for people on other operating systems who didn't want to have to make further levels of directories, they could leave the dialog.tlk in the root directory and use EE Keeper that way.

If the problem is related to the compiler, then I'm afraid there's not much I can do. My advice, if you can't get it working, is to stick with 1.0.0 since there really isn't anything noticeable in comparison. Hopefully, I will get the time to migrate to Qt or wxWidgets so that I can then compile cross-platform.

I'm wondering if you can put a place to customize where the saves are picked up from. I copy my saved files from my iPad, and I would prefer not to fake the Baldur's Gate EE default save location. Maybe there can be a check to see if the "Baldurs Gate EE" folder exists, and if not default to the original saves subfolder?

@Nifft, great to hear . I'll put in a confirmation box in future, "Are you sure you want to leave the language selector blank?" or "One or more options are blank, are you sure you want to use these settings?" That way, it will be a reminder if nothing else.

@nsr, see the top of my previous post. I'll put in a way to change the default 'Documents' location, which will effect save games, portraits, and exported characters . In that event, you will have to find the directory you want to use which has the necessary folders within. The default will be Documents\Baldur's Gate Enhanced Edition\ on Windows, but you will be able to change it via the program settings similar to the way you can pick the installation directory.

Awesome job, but the name sucks! Either go with just Gatekeeper (I mean the original has basically been dead and buried for years now so the name is up for grabs), or with BEEKeeper (easy to say name in the same 'format' like the previous ones, and at least anyone familiar those understands what the program is for immediately).

@Nifft, great to hear . I'll put in a confirmation box in future, "Are you sure you want to leave the language selector blank?" or "One or more options are blank, are you sure you want to use these settings?" That way, it will be a reminder if nothing else.

People are being conditioned to ignore pop-up dialog boxes.

It might be better to just pick a default language ("en_US" would work for me ;-) ).

First, I noticed you can change your character's appearance to all sorts of things, such as githyanki, hobgoblin, orog, etc... Would it be possible to somehow import the sprites/animations/appearances from another Infinity Engine game, specifically the flail-wielding orog cleric Hiepherus from Icewind Dale II ()? Because I'd like to make a character who used Hiepherus' appearance. Just saying.

Second, would it be possible to add an XP-gain-penalty (as Corsymyr did here with his custom race items: http://forum.baldursgate.com/discussion/16284) as a sort of balancing feature to offset other bonuses you give your characters (basically the whole "Level Adjustment" system from third edition DnD)? If so, how?

Third, just fooling around for fun, I gave my fighter some spells and innate abilities, and clicked +mem to mark them as memorized, but I had no way of accessing and using them in-game. Would there be a way to do this?

BGEEKeeper (with upper or lower case b, so as to either represent BGEE, or emphasis GEEK).

Gate Keeper: Enhanced/Enhanced Edition/EE.

or just plain ol' EE Keeper.

Since something like this doesn't warrant a poll, leave your feedback on the new name suggestions. I'll go with the most popular. If people don't make any comment on it, then it shall stay as it currently is.

@Nifft, the main issue with making a default value is that some people apparently want the ability to still load up the dialog.tlk file from the root directory. In the interest of cross-compatibility, I would imagine a dialog box to be more suitable. I generally prefer message boxes rather than making the assumption that someone wants something in a particular way. But I will certainly give it consideration for the future.

First, I noticed you can change your character's appearance to all sorts of things, such as githyanki, hobgoblin, orog, etc... Would it be possible to somehow import the sprites/animations/appearances from another Infinity Engine game, specifically the flail-wielding orog cleric Hiepherus from Icewind Dale II ([...])? Because I'd like to make a character who used Hiepherus' appearance. Just saying.

Short answer: no.

Longer answer: probably not, since that would require putting in checks to see if you currently have any other Infinity Engine game installed, then running through its resources. Then, since it doesn't have those particular resources in BG:EE, it would have to merge or copy all the necessary resources to the override folder in order to use. This won't be happening any time soon, unless someone specifically makes a mod for it. Sorry about that.

Second, would it be possible to add an XP-gain-penalty (as Corsymyr did here with his custom race items: http://forum.baldursgate.com/discussion/16284) as a sort of balancing feature to offset other bonuses you give your characters (basically the whole "Level Adjustment" system from third edition DnD)? If so, how?

There is currently no feature that will offset your level or experience, and nothing that could be put into the save game itself in such a manner. This modifies save games, not items, scripts, or tables, so there's nothing that would give additional features like that. If you want to lower the XP or level in order to offset or balance the items or spells you give to your character, it can be done via the Abilities tab .

This sort of feature would generally be handled by modders who create scripts or tables for the game to use, rather than being handled by the save game itself. It is normally a function provided by the tables (2DA/IDS files), so it wouldn't be handled directly be the save game itself.

I will look further into getting it to read from the required files in order to automatically set XP based on attributes, etc., but I can't promise anything.

Third, just fooling around for fun, I gave my fighter some spells and innate abilities, and clicked +mem to mark them as memorized, but I had no way of accessing and using them in-game. Would there be a way to do this?

I'm unsure of the problem here, but can you try going to Settings->Spells... and see if the checkbox labelled "Refresh memorized spells on save" is checked, if it's not then check it and click OK, re-save your game in EE Keeper and try loading it up in-game.

If that doesn't work, can you find the save game folder (example: 000000001-Quick-Save), archive it and upload to somewhere like RapidShare and send me a PM with a link so that I can see?

Third, just fooling around for fun, I gave my fighter some spells and innate abilities, and clicked +mem to mark them as memorized, but I had no way of accessing and using them in-game. Would there be a way to do this?

I'm unsure of the problem here, but can you try going to Settings->Spells... and see if the checkbox labelled "Refresh memorized spells on save" is checked, if it's not then check it and click OK, re-save your game in EE Keeper and try loading it up in-game.

If that doesn't work, can you find the save game folder (example: 000000001-Quick-Save), archive it and upload to somewhere like RapidShare and send me a PM with a link so that I can see?

@Troodon80 I'd keep the EEKeeper name. When BG2EE is launched the editor can be updated for BG2's path and savegame folder, maybe adding a switch to indicate which game you want to edit, BG1 or 2, and EEKeeper sounds more like an universal EE editor to me.

As a heads up to any other developers interested in assisting @Troodon80 with the project, I'm stepping in and attempting to port the current code (and any additions made in the meantime) over to Qt to make it cross-platform capable. I've gotten a substantial amount of the GUI ported over, and I'm just getting ready to port over the actual "nuts and bolts" code, so hopefully I have something somewhat working soon.

Some since things about porting to Qt:

1. Unicode is handled by default, so non-Ascii, especially Asian, languages should be handled2. Translations for the GUI are extremely simple, so community members can help translate the actual interface for non-English speakers3. Qt works with Windows, Mac, and Linux (if Beamdog are able to release on that platform)

I wouldn't expect a full-conversion for a while, but I just finished mid-terms and the girlfriend is out of town for the weekend, so I should be able to make some decent headway in the coming week

Just a question, if the plant is to go completely multiplatform, wouldn't it make more sense to port everything to java/.net? Almost every device in the planet can run one or both of them and when I took a look at the source code of the old version it seemed to me not that hard to port apart from the GUI(that you guys are going to port anyway).

This isn't even intended to be a suggestion, I just want to know what leaded to the current path.

I'm not really a Java developer -- I prefer C/C++ -- but I can't imagine it would be *too* difficult to port to Java, if someone wanted to port it. NearInfinity is based on Java, iirc, so it's certainly possible to access the resources that way. I'm mainly porting because a) I use Mac and want easy access to EEKeeper, b) I'm interested in learning Qt, and c) it's fun for me .

Me helping port to Qt certainly doesn't prevent anyone else from porting to Java, and it's a valid point that it might be a worthwhile project for the long-term, maybe under a separate project.

I'd vote for BEEKeeper or GEEKeeper (the latter for "Gate Enhanced Edition Keeper", and GEEK in big letters).

Good point on people using links! That's something I forgot, but you're totally right.

So how about a waterfall:- Use linked dialog.tlk if available (no language choice, just use what's there)- If there's no such dialog.tlk, fill in the drop-down with a default ("en_US")--- If you want to get super-clever, read the system's configured language and use that as the default.