It will help you to improve your skills or how to understand how to start this journey!
ProtonDB uses a JSON system for language files that need to be updated manually for any strings, it means copy the new strings in the right position to your language files, repeat for any string.
This means that it is a huge job as requires a lot of manual work, but it is something that can be programmed with a script to let the localizers…. just localize and doesn’t care about those things.
I talked with the dev and proposed my script (generated in this article) and published with a pull request in the repository so others can use it.
As the maintainer want to do it in a specific way but doesn’t have time right now, but the script resolve the problem right now.
The long version
Anyway some weeks ago I choose to finish the Italian localization of ProtonDB.com (that was localized by humans and reviewed) but I noticed that the strings where in different JSON files that needed to be updated manually with the full list of new strings (from the JSON reference).
This was something not acceptable, I am developer, there should be something that let me to fill automatically the JSON with all the missing strings with support for the sub items and so on.
After some trying with JS I said, well let’s try with an AI with my developer skills and knowledge to check what was doing it. After all I am looking for a very simple code.
This PR born with this new script, but I am attaching to you the whole ChatGPT 3.5 discussion.
Before to read my discussion with ChatGPT (that started in Italian but switched in English), you can see that I integrated the code generated with the scripts that the project already has.
I tested the code after reading and check it that make sense and got it something that I need: compare 2 different JSON and generate a new JSON that include on the first one the keys of the other file.
The lesson is that this tools can help you but as today they can’t replace a developer also for a simple task (or scripts) like this (and I ignored the latest suggestion as it was adding complexity).
Also don’t forget that the code requested was very simple and not complex and required an human overview, and developer knowledge.
Someone suggested to me that was better to use the version 4 that is better with code, but ehy it was just a test for a simple task.