[WIP?] StrEdit

Post » Sat Nov 24, 2012 12:02 am

StrEdit

A strings file editor designed for mod translators.

Rationale

Going by a few forum posts by translators and by the lack of positive search results on Skyrim Nexus, there doesn't seem to be a solid tool for translators to use, so translation has to be done either in the Creation Kit or a third party editor such as TES5Edit.

These editors are far from ideal as they throw a great deal of unnecessary information at translators and do not provide a way for them to focus on only the translation process.

Poedit is a popular utility for producing translations of applications that use the GNU Gettext localisation system. Its http://www.poedit.net/screenshots/win.png consists of three main fields:

1. A list of all the strings in the translation file, with original and translated strings side-by-side.
2. A read-only text box containing the original string.
3. An editable text box containing the translation. This strips away everything other than what the translator need concern themselves with, so it would be a good idea to imitate this interface.

Operation

On startup, the user would be presented with a file selection dialog in which they could choose the original strings file to work off, and optionally an existing strings file which would be edited to include their translations.

Once the files are selected, the user would be presented with the main interface. The left-hand side of the strings list would be populated with the original strings file's strings. The right-hand side of the strings list would be populated with translated strings if an existing file was also selected. String matching would be done using their IDs - this is a potential area for issues if it turns out that strings are given new IDs whenever their plugins are edited or saved (which wouldn't make much sense, but I haven't confirmed this doesn't happen).

Strings without existing translations would be placed at the top of the list for increased visibility. Edited strings would have their row bolded.

Clicking on a row would write the original string and translation (if exists) to their respective text boxes. Edits would be applied (but not saved) automatically when a new row is selected. Rows could be moved between using keyboard arrow keys as well as using the mouse, so that all work could be done using only the keyboard.

Translations could be undone via a row right-click option. Saving could be done via "Save As..." if no existing file is loaded, or also by "Save" if an existing file is loaded, in which case the existing file is overwritten. Saving to a new file would automatically select the file extension of the original strings file, so translated .DLSTRINGS files would remain .DLSTRINGS files, etc. The filename itself would also preserve the required convention, though I'm not sure what language names are accepted - I'll look at mods with existing translations to find out.

Because StrEdit would be used to create translated copies of existing strings files, which could be created as part of the mod using the CK or other editors, it doesn't need to look inside plugins.

Backend: libstrings
Frontend: wxWidgets-based GUI

Feedback

Is this something that sounds like it would be a good idea to have?
Is there something I have overlooked that would be a problem, or a feature that would be nice to have?
Does anyone know if editing a string via the CK changes its ID?
What are the accepted filename language substring of strings files? E.g. Skyrim_English.STRINGS is valid, is Skyrim_French.STRINGS also valid?

I'm pretty sure that I could get this done in a few days, time permitting, since I've already written the backend and the frontend isn't terribly complicated. If people think it would be worth having, then I'll do it.
User avatar
Nomee
 
Posts: 3382
Joined: Thu May 24, 2007 5:18 pm

Return to V - Skyrim