Replies: 3 comments 1 reply
-
|
I finally got around to properly looking at this...
So based on the amount of work described here, I'd probably turn this into a milestone, and pull out the stories as single issues, so it's less of a monolith. |
Beta Was this translation helpful? Give feedback.
-
|
The following languages are officially supported by the game engine as confirmed by Petroglyph:
|
Beta Was this translation helpful? Give feedback.
-
|
Also separating translations is devided objects means we need keep them in sync. So I think i tend to the single store variant.
I guess that's just another abstraction layer, but sounds reasonable. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
User Stories:
translationManifest.xmlfile so I have access to it's higher level data (Key - Value - Language)translationManifest.xmlfile from one or many .dat files so i have all my localization in one VCS compatible file.translationManifest.xmlfile to multiple .dat files so the game can use them.Additional Requirements
translationManifest.xmlMUST not use hardcoded languages in its implementation. This issue was already addressed in the original implementation.Petroglyph provided all languages the game engine supports. The implementation will expose a
ILanguageDefinitionthat will be used throughout the implementation and can be expanded upon, but all official*LanguageDefinitions will be provided as sealed classes.Architectural Details
Localization Service
The localization service is an API that contains a meta model for multiple localizations (e.g.Interface name:
IGameLocalization. It MUST hold multiple localizations identified by the english culture name (however we MUST not hardcode the possible language names ([gruenwaldlu]: The possible languages will however be restricted to elements implementing theILanguageDefinition)). Each language has a simple key-value data store for the actual translations. Data validity checks, TODO handling, etc. is exposed through this service.Dat File Service
This is an IO API responsible for loading/storing .dat files. The data model which gets transformed from/to a .dat file comes from the
Localization Service.TranslationManifest File Service
This is an IO API responsible for loading/storing translation manifest .xml files. The data model which gets transformed from/to this .xml file comes from the
Localization Service. This Service also acts as an concrete implementation of theTranslationManifest Specification.TranslationManifest Specification
This is an interface only API which defines all data types necessary for a TranslationManifest.
Localization CLI
This is an CLI tool which allows to perform the above described user stories.
Beta Was this translation helpful? Give feedback.
All reactions