rscplus
rscplus copied to clipboard
Translate RSC+ into other languages
This requires hooking every single string in the client. There couldn't be that many of them, right?
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.
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)".
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]