Although we continue to automate the functions associated with translation, there is considerable difficulty in maintaining the translation (we are now forced to type directly) because it is not something we can copy the language resources of the Overwatch.
- Currently, only English and Korean are supported by Dva-Engine.
- If there is a direct access to an overwatch language resource, it can be automated using that resource. Until then, all translation must be done manually.
The main project contributor cannot read languages other than English and Korean. It means that no other language can be supported by Engine without the help of other contributors.
- All translation file names must have 3 characters of language code per country. (ISO 3166-1 alpha-3)
- All translation files must match the translation file and code number of another language. Unique code number cannot be used.
- The quickest way to create a new language file is to crawling the workshop description page data for each language released by Blizzard. (That's how the English data was written.)
- To learn how to bring the Blizzard Workshop description page, check the
parse/folder. - This method can be used if other language-speaking pages also have Blizzard Workshop Description pages with the same format as the English language.
- If it is different, the parse code will need to be modified.
- To learn how to bring the Blizzard Workshop description page, check the
- The slow way to create a new language file is to copy the
data/eng.jsonfile and translate the contents of the contexts. (That's how the Korean data was written. The main contributor handwritten more than 2,000 lines.)
The Generator folder contains the following folders:
- Translation data (JSON type) is contained in this folder.
- A command script that runs when the command
npm run language:parseis entered. Crawling the Blizzard's Overwatch Workshop Function Description page into JSON format.
- A command script that runs when the
npm run language:extractorcommand is entered. In the folderbin/release, all comments written in the interface file of a specific language that has already been created are extracted in JSON format, and all interface comments are extracted from the interface file that has been replaced by the language code. These extracted files are extracted to the folder/dist/_extracted.
- A command script that runs when the command
npm run language:injectoris entered. This function injects certain language comments into the interface files copied into thebin/releasefolder. (Replace the sequence numbers on the comments with actual language data.)
- A command script that runs when the command
npm run language:reapplyis entered. All data extracted via theextractorwill be reflected back on thebin/core. If certain translation code contents need to be deleted, if you leave contexts blank and run this command, the translation code will be deleted from the specified linguistic data and all language data will be updated.
If you want to contribute to the development of this project, please read the CONTRIBUTING.md file.