![]() So, an automatic text wrapping function has been added for the interface and cutscenes, and while strings were extracted, manually wrapped strings have been changed to use the automatic wrapping function instead. One of the problems that also needed to be solved in VVVVVV is text wrapping, both in menus and in cutscenes, because manually inserting newlines would require a lot of effort to get right and would be extremely error-prone. There is also an Excel spreadsheet with macros that can be used as an "editor" for the XML files, as an alternative for translators who prefer working in a spreadsheet instead of with XML. The language files are XML files that look somewhat like this: Ĭutscenes, roomnames, etc have their own more specialized XML files and functions. If the language is not set to English, this function would look up the string in the list of translations and return the matching translation if found. The idea is more or less inspired by the gettext approach, by surrounding hardcoded English text by a function loc::gettext(). People should be able to make fully-functional translations by just making resource files for it, without needing to recompile the game (if that language doesn't require technical changes, such as RTL text, or otherwise special unsupported font handling).If all language resource files (including any 'English' files) are missing, the game should still be fully functional in English.Context and meaning of text should be clear as much as possible in particular, roomnames should be translated while seeing the room in action.Strings should come with defined limits where possible. It should not be hard for translators to avoid accidentally making text run offscreen, out of boxes, etc there should be enough room for translations where possible translators should not have to manually wordwrap their strings (except CJK because it's hard to automate there).The system should be easy enough for everyone involved to understand: ideally it should not get in the way of code contributors knowing how to add features that have text to the game, code contributors and maintainers should preferably not have to read too many instructions or follow too complex/repetitive/error-prone procedures on how to maintain full translatability.The most important design goals I hope to achieve are the following: This PR, when finished, adds a localization system to VVVVVV. Section of the credits for all of said releases, but will NOT be compensated I will be credited in a CONTRIBUTORS file and the "GitHub Friends".My changes may be used in a future commercial release of VVVVVV.Legal Stuff:īy submitting this pull request, I confirm that. I think it might be because of FAudio_StopEngine() in Pause(), but as that was written in the comment I let it be. For example, tabbing out during the intro sequence causes the game to stay mute until you do it again during gameplay. Sometimes there is no Resume() generated for some reason I think. Most Bugs revolve around tabbing in and out of the game. If someone has suggestions on how to avoid that please share. Had to increase C Standard Version due to stb_vorbis (90 -> 99). I can either make CI clone recursive or just copy folder contents, will wait for feedback on that. I'm opening the PR to see if I should continue or just stop.ĬI is failing because I used a submodule for FAudio. ![]() I was browsing the repo and saw #829, with the note that porting to FAudio should be "really easy" for someone else to do.Īnswer is no it wasn't (tbf I never touched any audio stuff ever), but I tried nonetheless. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |