Skip to content

Key Reference String Table Generation Feature + UI Refinements#38

Open
Crezetique wants to merge 8 commits into
zompi2:mainfrom
Crezetique:feature/layout-cleanup
Open

Key Reference String Table Generation Feature + UI Refinements#38
Crezetique wants to merge 8 commits into
zompi2:mainfrom
Crezetique:feature/layout-cleanup

Conversation

@Crezetique
Copy link
Copy Markdown
Collaborator

@Crezetique Crezetique commented May 15, 2026

Goal & Purpose

There is unnecessary friction in manually inputting Localization Keys to the text field, namespace and key. ELT already works with String Table, this PR aims to seamlessly generate a String Table filled with Localization Keys. This also greatly reduces human error in manual key input.

Upon CSV Import, a String Table filled with Key References will be generated PER namespace.

The String Table will be generated in the Localization Folder path, it follows the full folder deletion and creation behavior, meaning they are not intended to be edited outside of ELT's management.

Changelog

  • The Editor Widget been given a UI Cleanup.
  • Added a new checkbox to the ELT Widget: Generate Key Reference String Table on Import.
  • Updated GenerateLocFilesImpl() to generate String Tables if aforementioned bool is true.

Compatibility

  • Tested on UE5.7
  • Build Compilation
    • Pass: UE 5.0, 5.4+
    • Fail : UE 5.1, 5.2 (see comment)
image image image

@zompi2
Copy link
Copy Markdown
Owner

zompi2 commented May 17, 2026

Hello. Thank you for the contribution! The idea of generating String Tables sounds good, but somehow I've never thought about it.

Let's work on this PR with the UI changes.

It will take me some time to check if everything works as intended (not having much time lately, you can figured it out by the tempo I reply :D ). I introduced some changes to this PR:

  1. The plugin has a commandlet that you can run from console command to run localization regeneration. I added the -GenStringTables command to it to also regenerate string tables with it.
  2. I'm planning to fade away from the BP asset for the UI. I've removed the new bindings to it (they were also incorrect, hooked to SetReimportAtEditorStartup instead of SetGenerateKeyReferenceStringTable). Also, to make it work, the BP asset has to be saved in UE4.27 otherwise other versions will not work. That's the main reason why I decided to rewrite it to Slate in the end.
  3. I simplified a little bit how Packages and new assets are created.
  4. I refactored some places to fit project coding standards.
  5. I started adding the implementation for DeveloperNotes in StringTables that are introduced in UE5.8

Next time I wiill sit to it I will check if everything works in different combinations and on all engine versions. So it will take some time :)

Once again, thank you very much for the input!

@Crezetique
Copy link
Copy Markdown
Collaborator Author

Crezetique commented May 17, 2026

Hey~ Glad to know my changes are well received. Having only recently adopted this plugin, I have to thank you for the work you've already poured into it. I totally understand the time required to ensure the changes are functional in all supported versions, it is most commendable really!

  1. Admitted, I have limited knowledge in this aspect.

  2. Ah, I was partially wondering why the widget continued to exist. Thinking back now, I realize it is required for anyone who might still be using it.

3-5. I have reviewed your changes. Hopefully I'll pick up on the standards quickly 😅

I'll go ahead and merge the pull request description, so we may close the other thread.

@Crezetique Crezetique changed the title Editor Widget Layout Refinements Implemented "Generate Key Reference String Table" functionality + UI Refinements May 17, 2026
…lder versions of UE.

- Replaced FillContentWidth() with .FillWidth(1.0f), as the former is not supported in older versions.
- Nested various content in SBox as SVerticalBox and SHorizontalBox does not support .MinHeight() in older versions.
@Crezetique
Copy link
Copy Markdown
Collaborator Author

Hey @zompi2,

I've went ahead and ran a build test for all version of UE5 (excluding 5.3) and resolve errors preventing the compilation on older UE5 version. Unfortunately this meant having to nest SHorizontalRows with an additional SBox in the widget, which made the commit hard to read. (6bd9957)

I don't have UE4.27 installed, so if I may leave that to you for verification.

Comment thread Source/EasyLocalizationToolEditor/Private/ELTEditor.cpp Outdated
Comment thread Source/EasyLocalizationToolEditor/Private/ELTEditor.cpp Outdated
zompi2 and others added 2 commits May 19, 2026 10:49
Fixed message dialog call for older engine versions

Co-authored-by: Ryan Lim <crezetique@gmail.com>
- Fixed GitHub auto commit being incorrectly done.
- Fixed Key Column index not correctly defined.
- Fixed StringTable package load causing assertion.
@Crezetique Crezetique changed the title Implemented "Generate Key Reference String Table" functionality + UI Refinements Key Reference String Table Generation Feature + UI Refinements May 19, 2026
@zompi2
Copy link
Copy Markdown
Owner

zompi2 commented May 19, 2026

Did a major refactor of the import function (finally, it should be done long time ago).
I also changed the UI behavior so all widgets on the right are always aligned. Cleaned up a little bit of noise from the slate construct.

@zompi2
Copy link
Copy Markdown
Owner

zompi2 commented May 19, 2026

Now I just need to do all tests and... then submit :D Pfew!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants