Customize Translation
You would learn how to customize the localization in the menu, remove languages and add new languages !
🌐 Customize Localization
Open your localization Dashboard and add a new localization target

Name the target FMM like in (1) and enable Gather from packages, add a new array element, and set its location to Plugins/(FMM Plugin Name)/Content/Full_Modern_Menu/

Add 8 cultures: English (set to default), Chinese, French, German, Portuguese, Russian, Spanish, Ukrainian.

After that, open your Windows Explorer and go to this direction.
\(YourProjectName)\Plugins\(FMM_Plugin_Name)\Content\Localization
Copy a folder called FMM to this path. \(YourProjectName)\Content\Localization
If you found a folder called FMM there, Just Delete It.
Open your project, localization dashboard, and select FMM as the target you are going to see this result :

Now simply update the translations. If you’ve replaced any menu strings and want them localized, click 'Gather Text' to refresh the strings list, provide translations for each culture, and then Compile the text at the end.
If you add a repeatable string, create a new key for it in the FMM_StringTable
Located inside the Full_Modern_Menu Folder and assign that key to every instance of the string. This way, you only need to translate it once.
Once you're done, copy the FMM folder you originally placed in \(YourProjectName)\Content\Localization\FMM
to \(YourProjectName)\Plugins\FMM_Plugin_Name\Content\Localization\
.
Any changes to the localization require compiling the text before moving the localization folder back to the plugin. Do not rename the folder, as it is referenced by name in the .uplugin
file.
🌐 Remove Or Add A Language
So adding a culture or removing a culture is covered in the first part 🌐 Customize Localization and in this part we are going to cover how to make the menu language option compatible with such language change.
Everything is handled in DisplaySettings_WB
. First, open the Show Language Name function.

Each language has an index. If you removed a language, delete its index and corresponding return value. If you added a new language, add a new pin to the 'Switch on Int' node and set the return value to the name of the new language.
By now, you should understand how the language system works in the menu: each culture is mapped to an integer index. When the player navigates using the arrows, they modify this index. At the time of applying settings, the index is converted back to a culture code (e.g., English = 'EN').
If you remove a culture, the index order of all remaining cultures will shift.
Set up Open Convert Culture to Index Function, and match it with the first function we setup (if you need language code for a desired culture just hover on the culture name in the localization dashboard.

Finnaly Adjust max and min index for arrows and SFX system, open the Event graph and reach the Buttons visibility for integer node for language and change the Max value with the max culture index value.

Update the Clamp max index value to match the max culture index you set.
