Pulls localized strings from a STRINGS file and writes out only the ones an esp is using.
Permissions and credits
Credits and distribution permission
Other user's assetsSome assets in this file belong to other authors. You will need to seek permission from these authors before you can use their assets
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou must get permission to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
Russian Translation: TERAB1T Polish Translation: TomBrightblade Italian Translation: marcovaldo Chinese Cn/Tw Translation: Scythe1912 Chinese Hans/Hant Translation: DeepKu Wiki German Translation: Scharesoft and PlanB
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
Changelogs
Version 1.4.0
Really 1.3.11 but changelog doesn't allow it.
Get IDs from Skyrim.esm changed to Get IDs from .esm. Dialog asks for .esm file.
Possibly fixed broken compression on some mods.
Version 1.3.11
Possibly fixed broken compression on some mods
Get IDs from Skyrim.esm changed to Get IDs from .esm. Dialog now asks for .esm file.
Possibly fixed broken compression on some mods.
Get IDs from Skyrim.esm changed to Get IDs from .esm. Dialog asks for .esm file.
Version 1.3.9
Fixed bell noise when pressing "Enter" to search
Adding a language to the STRINGS dialog is significantly faster
Undo/Redo of Search/Replace function is now one atomic operation
Version 1.3.8
Added Undo (CTRL-Z) and Redo (CTRL-Y)
Added checkbox for switching between search and filter on STRINGS dialog
Added "Add Language" functionality to button on STRINGS dialog
F3 edits in place like double-click
CTRL-ENTER on Edit dialog accepts input
Version 1.3.7
Added Acknowledge (Enter) and Cancel (Esc) key press events to dialog boxes.
Version 1.3.6
Added PERK:EPF2 field
Embedding empty strings no longer causes a crash
Added three new search options: Match Case, Match Whole Cell and Search only current data grid.
Version 1.3.5
Added RNAM:INFO field
Version 1.3.4
Right-Click functions such as Zero IDs and Create IDs now skip hidden rows.
Right-Click functions now ignore selected column. Ie. selecting formID and doing a Copy EDID to Text will work.
Version 1.3.3
Fixed issue with Add Column not adding columns to DLSTIRNGS and ILSTRINGS which can cause a crash.
Version 1.3.2
Fixed issue with text on new menu items not showing up.
Added an "Add Column" button that allows another STRINGS file to be displayed to the right of the "Text" column. Multiple columns can be added.
Version 1.3.1.1
Possibly fixed broken compression on some mods.
Get IDs from Skyrim.esm changed to Get IDs from .esm. Dialog asks for .esm file.
Version 1.3.1
Fixed some issues with selected esp / strings not saving
Added some new commands to hide / unhide rows. Some under tools and some on right-click.
New option, defaulted to off, to hide NULL String IDs on load.
All String IDs now loaded into grid, hidden or not, which should fix issues with incorrect null strings being saved to esp.
Version 1.3.0
Made program multilingual
Added Help/About box
Added Russian translation courtesy of TERRAB1T
Added Polish translation courtesy of TomBrightblade
Version 1.2.9
Fixed compression level to 6 like Oblivion's zlib compression.
Version 1.2.8
Added menu item "Options \ Enable Compression" Defaults on. Can be unchecked, but this state will not be saved when the program is closed.
Field compression has been added to all esp save routines. Can decrease esp size by as much as 30% or so.
Version 1.2.7
Added EDID column to SSLXTN file output. Ignored when read.
Made SSLXTN files ANSI-Code page files instead of UTF-8 files. Microsoft Excel can't properly read UTF-8 CSV files. Use code page override to UTF-8 for SSLXTN files saved from older versions of SSL or remove the _LANGUAGE from the filename. SSL will a
Fixed bug in overwriting SSLXTN.BAK files.
Version 1.2.6
Added remaining documented localized fields:
RNAM:ACTI
RNAM:FLOR
BPTN:BPTD
MNAM:FACT
Version 1.2.5
Added RDMP fields for REGN records.
Possible fix for editing Unicode entries in Saved Translations files (only affects opening in external editors).
Fixed issue with certain esps crashing after they were written. Fields that were longer than an int16 were causing the issue. Fixed by implementing part of esp spec that allows for int32 length fields.
Added ability to change location of Skyrim.esm.
Version 1.2.4
Added check boxes for other columns in Search and Replace window.
Version 1.2.3
Added CNAM for BOOK and TNAM for WOOP.
Added "Save Translation" and "Load Translation" under File menu. Thanks to mcguffin for the idea. Use "Save Translation" when you've completed translating the esp and "Load Translation" on new versions of the esp from the mod author. Saves and
Version 1.2.2
Fixed issues with Get IDs from Skyrim.esm and multi-field entries (eg. ITEX)
Cleaned up and removed some deprecated code.
Fixed crashing bug when embedding strings in v1.2.0
Only GMST variables prefixed by an "s" in their EDID will display the DATA field.
New esp reading code. More accurate, but a little bit slower.
ITXT fields added for MESG records. NNAM and CNAM fields for QUST. SHRT for NPC_.
Fix in place for unused records - should be properly set to 0000 for external strings file and 0 for embedded strings file.
Fixed issue with superfluous entries that shouldn't have shown up in the lists.
Added progress bar for most long processes.
Version 1.1.9
Added DATA fields for GMST records.
Fixed bug with superfluous DNAM and NAM1 records.
Version 1.1.8
Added NAM1 fields for INFO records. Finally a use for ILSTRINGS!
Fixed issue with DNAM records in embedded esps trying to match adhoc StringID to DLSTRINGS instead of STRINGS.
Create IDs will search for matching strings and only assign 1 ID for all identical text entries. Not valid for Right-Click Create IDs for a selection.
Fixed crashing bug with 00 String IDs on esps marked as using STRINGS.
Version 1.1.6
Fixed issue with reading compressed (CELL) records created by the Creation Kit.
Fixed issue with writing duplicate STRINGS entries. String IDs now unique in STRINGS files.
Added Search and Replace functionality. CTRL-F and a menu item under Edit.
I think there's still a bug in reading double-NULL terminated strings... I don't remember if I've fixed that issue or not.
Version 1.1.5
Get IDs from Skyrim.esm works. It uses around a half Gig of RAM and takes 5-10 seconds, but it works pretty well.
Changed file text boxes to drop-down boxes with previous history.
Added an option to turn off locking the STRINGS tabs between windows (defaults on).
Turned off the auto-clear on search... I type so fast, I didn't think that it would be a problem.
F2 search box now focuses on the text box when the window is activated.
Fixed search box errors with special characters (eg. %)
Added a few ALT- hotkeys. I thought I had more.
ESC clears search box on STRINGS window.
esm added to file search box filters, but you have to select it from the pulldown.
Version 1.1.4
Fixed crashing bug when saving nodes with a NULL label.
Version 1.1.3
Fixed crash bug on Strings window with certain strings files.
Last used esp and strings file now saved.
Version 1.1.2
Fixed crash bug on systems that don't have Skyrim installed or are missing the registry entry for Skyrim's install directory.
F2 will bring up an Edit window.
Added crash popup box for some slightly better error reporting.
Fixed some minor inconsistency bugs in main form.
Version 1.1.1
All esps should now load properly, including skyrim.esm (if you copy it to skyrim.esp).
Added ability to add to and edit the language to code page associations.
Writing speed of esps increased for esps with a large amount of CELL data.
Reading speed of esps increased by a lot.
Version 1.01
fixed numerical sorting
fixed CTRL-C / CTRL-V not working as expected.
Hex/Decimal mode saved in config
Column widths saved in config. Needs a little refining.
Can now copy text from STRINGS popup box.
Search box changed into filter box. Experimental. Let me know if it works out.
STRINGS popup box will focus to filter text box when clicked.
Text box will clear when clicked.
Version 1.00
New esp parser. Should be able to read any esp. It's currently a bit slow, so it's recommended for use only on esp files less than 10MB or so. Probably not a problem going larger if you're not including a lot of CELL data.
Export Strings to CSV and Import Strings from CSV.
Keeps file list of last 10 esps and STRINGS files.
Stores window position.
Right-Click on selected rows to zero IDs, clear text or create IDs.
Version 0.99b
Fixed crash on certain DNAM records in embedded esps.
Reduced application build size.
Fixed potential crash on certain DESC records in embedded esps.
Now save STRINGS files sorted by String ID. This fixes the issues that ENCH entries were having in DLSTRINGS.
Tweaked loading of embedded strings.
Fixed bug created by previous line's tweak. The person responsible has been sacked.
Can load esps with simple CELL data, but more complex CELL groups will truncate.
Version 0.95b
Fixed crash on certain instances of loading mods with zero length embedded FULL records.
Can read very simple CELL data. Will truncate mods with more complex CELL data.
Added application icon.
Version 0.93b
Added ability to read CNAM fields in MGEF records. Experimental.
Can export STRINGS to CSV, but no import, yet.
Version 0.92b
Fixed bug in reading files that don't have matching string ids in STRINGS files.
Fixed bug in reading esps with unexpected data.
Fixed long load times with large esps.
Defaulted IDs to decimal instead of Hex. Can be switched in menu.
STRINGS file code page is now determined by name of file (ie. Skyrim_English becomes code page 1252). Can be overridden.
Hopefully fixed string search for other languages.
Removed a search optimization that was causing bugs. It was English centric and probably didn't work as well for other languages anyway. Didn't slow load times by much.
Version 0.8b
Fixed bug in esp write buttons when a .bak file was present.
Added a Strings button for displaying the base strings file in another window. Double-clicking an entry puts it's data in the main window. Useful for correcting esps with embedded info that has bad data.
No undo function at the moment, so be careful with the Strings window.
Version 0.7b
Bugfixes for longer esps and a few other issues.
Version 0.6b
Can read single-language files, match them up to the strings data and write them back out as multi-language files and vice versa.
The program properly displays embedded text that doesn't match a strings file.
Version 0.5b
Found 2 bugs that needed to be fixed, so I'm uploading an version that doesn't have any new features, yet. This fixes an error in the header on DLSTRINGS and instead of writing 0 byte files for unused strings files, it writes files with 8 bytes of 0 in
Version 0.4b
After further testing, it seems I can create an esp with every potion, scroll, weapon and ammo, run the esp through the Localizer and have everything come up without an issue. I think BOOK records in particular can cause weird issues, so I'd hold off o
Version 0.3b
Now loads all three STRINGS files and works on them simultaneously in a tabbed interface.
It seems to be working on smaller esps, but not doing so well on esps made by adding, say, all of the BOOK records.
Did some general code cleanup. Still messy though.
Can read esps that have edited FULL and DESC records and display the info. Can't currently write these files properly, though.
Version 0.2b
Form Resizing just like a grown-up program!
I've figured out the code page issues so it's possible to edit the text entries within the software.
"Proper" support for DLSTRINGS and ILSTRINGS, but no way to really test them at the moment. - TESTED not currently working.
Missing filenames should no longer crash the program
Internally switched data from Int32 to UInt32. In the context they were being used it would never have made a difference, but better to be correct about it :)
Added a checkbox that defaults to writing out the original binary text data. If the box is unchecked, it will write out what's in the data grid. The data grid is editable, so changes can be made directly, if desired.
Version 0.1b
Initial Release
This is a little utility that I wrote for myself that allows you to make multilingual esp files in TESsnip. It also cuts down on modding time as you won't have to copy/paste item names or descriptions for every record.
--------------------------- 9-12-2012 Possibly fixed broken compression on some mods. Get IDs from Skyrim.esm changed to Get IDs from .esm. Dialog asks for .esm file.
5-24-2012 Fixed bell noise when pressing "Enter" to search Adding a language to the STRINGS dialog is significantly faster Undo/Redo of Search/Replace function is now one atomic operation
5-23-2012 Updated Russian translation to 1.3.8. Seems the "Add Language" button on the STRINGS dialog got misplaced. It Doesn't seem to have affected the other languages.
Uploaded German translation from Scharesoft and PlanB.
5-22-2012 - v1.3.8 Undo (CTRL-Z) and Redo (CTRL-Y) Added checkbox for switching between search and filter on STRINGS dialog Added "Add Language" functionality to button on STRINGS dialog F3 edits in place like double-click CTRL-ENTER on Edit dialog accepts input
5-08-2012 - v1.3.7 Added Acknowledge (Enter) and Cancel (Esc) key press events to dialog boxes. --------------------------- Requires dotNET 4.0
Chinese Wiki courtesy of DeepKu: http://skyrim.deepku.com/%E5%A4%A9%E9%99%85MOD:Skyrim_Strings_Localizer Direct link to Chinese Tutorial Page: http://bbs.deepku.com/forum.php?mod=viewthread&tid=56
Italian Tutorial: forum.rpgitalia.net/topic/16930-tutorial-guida-alluso-dello-skyrim-strings-localizer-per-la-traduzione-delle-mod/
German Tutorial: http://www.scharesoft.de/tutorials.html?tx_sptutorials_browse[tutorial]=87&tx_sptutorials_browse[action]=show&tx_sptutorials_browse[controller]=Tutorial&cHash=500b59bd2f412ea6072c7001aeda87e6
Many thanks to all of the people who have put in the time and effort into creating these tutorials! --------------------------- To make a multilingual esp, create your esp normally in TESsnip, but don't edit the FULL fields. On your TES4 record, set the 0x00000080 bit. This tells skyrim that your mod is going to use a localization file and thus Skyrim will crash spectacularly if you don't have the STRINGS, ILSTRINGS and DLSTRINGS files present for your mod in the Data\Strings folder.
If you're editing an esp that already has embedded strings, leave the bit unchecked. The program will be able to import those embedded strings and find their matching String ID's in Skyrim's language file, if they exist.
Fire up Skyrim String Localizer and open up your newly minted, but dangerous, esp by clicking on the folder icon to the right of the first textbox. The Skyrim_English.strings file should be selected by default, but this can be changed with the folder icon as well.
Click the "Process" button and the software should import all of the relevant strings and display them next to their String ID.
Click the "Write Strings" button to write out the file. This will also create empty strings files for your mod if they don't already exist. If you're importing an esp with embedded strings (no STRINGS files with the file), then click the "Write esp + Strings" button to convert the esp to a multilingual version.
After this, you can select a different language STRINGS file at the top and use the "Write Strings" button to output for multiple languages. You'll have to do it for each language file you have.
Fire up Skyrim and test!
Again, this is beta software and while I've tested it on my Reweighed Potions mod with 5 languages as well as a couple of other miscellaneous mods, I can't guarantee that it'll work.
Translators: ---------------- Russian Translation: TERAB1T Polish Translation: TomBrightblade Italian Translation: marcovaldo Chinese Cn/Tw Translation: Scythe1912 Chinese Hans/Hant Translation: DeepKu Wiki German Translation: Scharesoft and PlanB
Versions ------------ Click Version number at top of page.