Translating a plugin is really like how you translate TheoTown. The difference here is you will not use .XML for the values but you will used JSON instead. an exact example of these is how DSA translation are made here See here. Look up for available translation that the game supports here so that your translation would appear if you changed the language in in-game settings.
Each <aos-values-xx.json> contains: Array, Objects & Values in the form of:
[
{
"id": "hdst:aos-translation-X",
"type": "translation",
"X": {
"IDS": "localized value"
}
}
]id is a unique identifier for this draft, you may use the format: "id": "hdst:aos-translation-X" while X is the ISO 639-1 language code. example: "id": "hdst:aos-translation-fil" as identifier for Filipino language.
type the type of the draft, values should always be: "translation"
X the ISO 639-1 code of your language, (e.g. "fil": {})for Filipino language.
IDS are the translation value of each drafts inside the plugin, These are all constant. kindly check "aos-values-en.json" for id's value.
localized value the corresponding translation of your language.
Please check out "aos-values-en.json" as reference. and also don't forget JSON syntax
Special characters like \n might be used to indicate a new line. Also \ to escape characters specially a qoute("") inside the string
If you see any characters like ${$aos-planks} it is a variable for integers so leave it as it is. Values: English(default language) is always up to date.
When your translation is done, make sure to create a 'pull request' so it can be merged to main branch. If you forget to do that step your translation won't be added to the main branch.