-
Notifications
You must be signed in to change notification settings - Fork 790
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 support #953
base: master
Are you sure you want to change the base?
Localization support #953
Conversation
This pull request introduces 1 alert when merging c960400 into f9ea00a - view on LGTM.com new alerts:
|
Great work, looks like a neat solution around it... How will this work with the RDB files? |
These files are provided along with RDB files but they are separated. Translation files should be optional. RetroArch, or other clients, need to download both of them. It first searches hash in RDB and get the English name, e.g. "Yu Yu Hakusho - Makyou Toitsusen (Japan)". Then it matches the name in INI file and get the translated name "幽☆遊☆白書 魔強統一戦 (日本)" (according to users' language preference). |
I don't think this approach is meaningful in this form. Besides the issues of using the name (that can change in the source at any time) instead of a checksum or a serial number to connect entries, I don't think game names are a translation issue. RDBs contain one entry per ROM and not one entry per game. So for most systems, a ROM shows a title screen in just one language. Now for systems like NeoGeo where a single ROM often (?) covers multiple regions with different titles there needs some additional thought put behind. But I think some of these games already show different English titles depending on PAL and US region so it isn't really a new problem. For those I think that 'name' should be the "most original" name (let's say the name the original developer would most likely use to refer to that game). Then there could be an additional field in the database "alternate_names" which contain all other names. Or there could be 'name_jp', 'name_kr', 'name_cn' and so on (maybe 'name_pal'?'). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While I think localization would be awesome, I think we should consider how we take this on. Having the support for it in RetroArch first would be nice.
This is an attempt to add localization support of game names. Idea was talked in #944 . NoIntro and other data sources don't have a good infrastructure for name localization. So I integrated online translation system:
*.dat files --> generate template *.ini files --> sync with crowdin (github integration)
Example Crowdin project: https://crowdin.com/project/libretro-database
We can also use weblate, which is totally open source.
Translations will in
l10n
directory. Each sub-directory will be a language (when pulled from Crowdin).Translations will be a new option in Online Updater: users can download only the language they need, to save space and bandwidth. For English speaking users, they don't need these files at all. This is why we don't compile it to dat or rdb files. Translations are used to generate localized play lists.