Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Localization #60

Closed
exectails opened this issue Apr 27, 2016 · 9 comments
Closed

Localization #60

exectails opened this issue Apr 27, 2016 · 9 comments

Comments

@exectails
Copy link
Member

exectails commented Apr 27, 2016

While we'll probably never need to localize any official strings, as all dialogues and notices can be found in the client's localization dictionary, there will always be situations where we send custom strings to the client, be it for a custom NPC, a custom notice, or GM command results. Since we can't utilize the client's localization in this case we would need our own way to localize them, provided that we'd want that.

Does Melia need a localization system for its non-official strings, or will the few custom messages and NPCs we will have in master, that admins didn't code in their own language to begin with, be fine in English?

In Aura we're using a gettext-like system that I like, but unlike Melia Aura actually needs to localize every string it sends to the clients itself.

It's better to decide this sooner than later, as every custom string added to the source or custom NPCs means one more string we have to update later on if we decide to add localization.

@raiken-mf
Copy link
Contributor

I don't think localization is needed, since the client is Korean or English, just some parts in for example German would look ... weird, also if something important needs to be translated some custom NPC or a second broadcast in the specific language would do the job.

@exectails
Copy link
Member Author

@lRaikeNl I understand what you mean, but the problem is, we do have custom messages, and we do have custom NPCs, both of which will increase in number over time. Those will then be in English, while the user might set their client to Korean, or Portuguese, or Japanese, or god knows what localizations will follow.

We have a general problem here, with the client handling the entire localization officially, because we'll basically never be able to ensure that a user sees only their locally chosen language. Even if we have server-side localization, and even if our community was to provide translations for everything in multiple languages, the server wouldn't know which language the user chose locally, and would always send, for example, English.

There's also the matter of #103, and us potentially not using the client-sided localization for NPC dialogues anymore, which would make this problem worse.

@raiken-mf
Copy link
Contributor

raiken-mf commented Oct 9, 2018

Since it isn't possible to ensure what language the user sets, is it possible to set the users language on the server side? (On the client)

@exectails
Copy link
Member Author

Not that I know of.

@celophi
Copy link
Contributor

celophi commented Oct 9, 2018

The client sends the locale of the OS upon login.
Additionally, there is a setting to enable/disable the use of dictionary translation.

@exectails
Copy link
Member Author

You can't really depend on the OS locale, can you? I have a German Windows for example, but I always play MMOs in English if given the option. Which packet is that information sent in though?

@celophi
Copy link
Contributor

celophi commented Oct 10, 2018

We have a general problem here, with the client handling the entire localization officially, because we'll basically never be able to ensure that a user sees only their locally chosen language.

Simply allow the user to manage a language preference through a website or other interface.

@raiken-mf
Copy link
Contributor

raiken-mf commented Oct 10, 2018

Or maybe through a NPC Script at the start location. But that should be no thing we should think about if the text messages are sent from server side. I'd prefer sending text messages from the server side. Even though the client knows the messages it would be a mess if a NPC Script would change behavior or text from official updates.

@exectails
Copy link
Member Author

Simply allow the user to manage a language preference

That would be an option. Although it's a little more complex because you then have to craft player specific packets based on their language settings. If you have an announcement that goes to multiple characters for example, you have to make sure they all get the message in their selected language.

it would be a mess if a NPC Script would change behavior or text from official updates

Yea, the NPC convention issue we have is definitely related to this (#103). I imagine only ever working with localization keys would be really annoying for scripters or people who simply want to understand what's happening in a script. And when a user is looking for a specific NPC they might try to search by dialog, but that wouldn't be possible with keys.

If ToS didn't have client side NPC dialog this wouldn't even be up for discussion... we'd simply add a localization system, write out the dialog, and be done with it. And if the player chooses a server that's in a language they don't understand that's on them. (Unless we did selectable languages, but that would not be pretty.)

@NoCode-NoLife NoCode-NoLife locked and limited conversation to collaborators Aug 31, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants