Locale improvements #21
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: metin2/server#21
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Do you still want to keep all the local variation in the code? Or should that all be removed?
So you want to keep supporting some locales? Or do you want to yeet everything that's not English?
Sorry for the confusion, this was more of a rudimentary list so I had a rough idea what I should do.
I meant that the server behaviour should be the same across locales: for example, there are checks like these below that should be removed. The behaviour after removal should be identical to the one of an European, Gameforge locale. This removal should also be done on the client side.
The plan is to support as many languages as possible, while keeping an identical game experience. Ideally, all translations will end up being client-side, by using systems such as this one: https://metin2.dev/topic/29790-official-client-locale-stringreversed/. I intend to remove the locales that present little interest (China), are no longer being published (Japan, Korea, Vietnam, Thailand), or can be replaced pretty smoothly with a GF locale (USA, Singapore). Essentially, we shouldn't have country locales, but language locales, therefore supporting Spanish from both Spain and Mexico, Portuguese from both Portugal and Brazil, etc.
Also, there are locales that were never used, such as the one for Bulgaria.
I also meant that locale_service should be changed accordingly, as to have an uniform file structure, for example:
Before:
After:
We should also push for UTF-8 strings, even though that would require some rewriting in the client, as text rendering pretty much would only work for fixed-length encodings.
Another idea I have is to encourage community translations, especially for languages that have never been supported (Serbian, Bulgarian, etc.). This would require that all localization files be on the client-side first, in an easy-to-translate format; maybe gettext? It would also be interesting to see if machine translation is passable enough in a few years so that we could do this without much human effort.
Phew. Glad we had the same goal (again) :D
I yeeted everything (except for 6/7 bonus, which was disabled in EU) in a branch on my fork #22.