Skip to content
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

Translate RSC+ into other languages #55

Open
Hubcapp opened this issue Nov 16, 2020 · 2 comments
Open

Translate RSC+ into other languages #55

Hubcapp opened this issue Nov 16, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@Hubcapp
Copy link
Member

Hubcapp commented Nov 16, 2020

This requires hooking every single string in the client. There couldn't be that many of them, right?

@Hubcapp Hubcapp added the enhancement New feature or request label Nov 16, 2020
@Hubcapp
Copy link
Member Author

Hubcapp commented Nov 20, 2020

As it turns out, there are 446 hardcoded strings in the client that get displayed to the user. Here is the list of all of them.

hardcoded.strings.txt

Hooking each of these strings individually would be arduous and unwise. To best handle these, we should hook the functions that are used to display them to the player, and adapt the strings passed into the functions based on a translation dictionary, similar to what we already do to replace "Herb" with "Guam (unidentified)".

@lmsv-mx123
Copy link
Member

lmsv-mx123 commented Jan 6, 2021

Notable functions:

  • this.showMessage()
  • this.surface.drawstring()
  • this.surface.drawstringCenter()
  • this.surface.drawstringRight()
  • this.panel.addListEntry()
  • this.panel.updateText()
  • this.panel.addText()
  • this.menu.addItem()
  • this.showLoadingProgress()
  • new Menu()
  • this.surface.textWidth()
  • this.drawTextBox()
  • g.drawString()
  • Utility.sendClientError() [potentially, not for gui]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants