Skip to content

Feat: Add Comprehensive Chinese Localization, Dynamic Language Switching, and MO/YR Version Support #246

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: yr
Choose a base branch
from

Conversation

baixiong443
Copy link

This Pull Request introduces significant enhancements to the WorldAlteringEditor, focusing on localization and multi-version game support.

Key Features and Changes:

Comprehensive Chinese Localization:

Added full Chinese (Simplified) translations for all relevant UI elements, in-game names, INI keys, trigger descriptions, etc.
Created a new translation directory to store and manage translation files (e.g., for Chinese and English text). This allows for easier maintenance and future language additions.
Dynamic Language Switching:

Implemented a new method for dynamic language switching between English and Chinese.
Added language switching buttons on the main interface and within the software for easy access.
Ensured a robust translation loading mechanism with a three-tier fallback:
Loads from translation files.
Falls back to hardcoded translations (if any).
Defaults to the original language if the above are not available.
Enhanced Font Support for Chinese:

Replaced the .XBN file to enable support for the Microsoft YaHei (微软雅黑) font. This provides much-improved rendering and readability for Chinese characters.
Dual Game Version Support (Mental Omega & Yuri's Revenge):

Added support for both Mental Omega (MO) and Yuri's Revenge (YR) game versions.
Introduced a game version selection dropdown on the main interface.
The editor now loads version-specific configuration files. Corresponding MO and YR configuration files/folders have been added under the Config directory.
Improved User Experience:

The editor now remembers the last used game directory for each version (MO and YR). When switching between game versions, it will automatically select the previously used directory for that specific version.
The application saves and restores the last selected game version and language preference upon closing and reopening.
Purpose of these changes:

To make the editor accessible and user-friendly for Chinese-speaking users.
To provide flexibility for users working with different game versions (MO and YR).
To improve the overall usability and convenience of the editor.
Potential areas for review:

Implementation of the language switching mechanism.
Structure and content of the new translation directory.
Logic for loading version-specific configurations.
Font rendering with the new .XBN file.
This update aims to significantly broaden the editor's appeal and utility. Looking forward to feedback!
Note: My primary development and testing were based on the Mental Omega version. While I've made efforts to ensure Yuri's Revenge support is functional and have found no major issues during initial checks, there might be some minor areas that could benefit from further review or testing specific to YR.
image
image
image
image
image
image
image
image

@Metadorius
Copy link
Member

Metadorius commented Jun 14, 2025

This PR is very far from being up to standards of World Altering Editor.

  1. You haven't used the translation system I've told you about and linked you on Discord to port from XNA CnCNet client at all. It has a proven good architecture, it was reviewed and accepted by @Rampastring and it should mostly fit the requirements. Instead the localization changes are very much hardcoded for two languages only (as opposed to a generic system that we implemented in XNA CnCNet client that supports many languages without recompiling) and are not really maintainable neither for devs nor for translators.

  2. The files added or changed in the pull request are a mess. You've included a lot of files that are the results of the build, which should not be done, for some reason you also deleted some files like .gitignore (which caused the previous issue), workflows etc. Not only can't it be merged without cleaning up all the changes, it also makes reviewing very hard because it all lags and you have to sift through the weird changes to find the actual things. I would recommend to review how to use Git or ask someone knowledgeable and willing to tutor you on it.

  3. This seems to have hardcoding for MO. Hardcoding for specific mods doesn't sound as something that will be accepted, instead features should be coded to be generic where possible.

I'll leave the final judgement up to maintainers of WAE, this is my opinion as a community contributor but not a maintainer, but I am 99,9% sure they will have the same response so I've lessened their burden.

build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = MapEditorLauncher
build_property.ProjectDir = C:\Users\MR\OneDrive\桌面\WAE-MO\src\MapEditorLauncher\

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Em, what? Forgot to delete this changes?

@Rampastring Rampastring force-pushed the yr branch 4 times, most recently from d09dac2 to e1af9e8 Compare July 21, 2025 10:28
@Rampastring Rampastring force-pushed the yr branch 3 times, most recently from faf1378 to cbe2e06 Compare July 28, 2025 14:00
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.

3 participants