Custom JSON Language How-To

Much of the Waxwing interface is text based instead of icons. In order to permit localization - a Waxwing in one's own language - most of the UI text is contained with a JSON file. These text based files have become one of the main ways data is shared on the internet. JSON files are just made up of key value pairs. Wikipedia has a nice overview of these file types.

What you need to do:

1) To import a new JSON file, you can start with one of these following files:

https://parksaudiollc.com/en.json
https://parksaudiollc.com/de.json
https://parksaudiollc.com/sv.json
https://parksaudiollc.com/nl.json
https://parksaudiollc.com/no.json
https://parksaudiollc.com/es.json
https://parksaudiollc.com/it.json
https://parksaudiollc.com/fr.json
https://parksaudiollc.com/pl.json
https://parksaudiollc.com/fi.json
https://parksaudiollc.com/hu.json

Note: These are not default translations and not suited for implementation in the Waxwing as-is but are possible "head starts" from Google Translate for native speakers to use to create a useful translation. Only community sourced and community vetted translations will be used in the Waxwing. The Custom feature permits someone to experiment and tweak a language pack on their own.

2) Currently, you'll want a JSON formatted to the latest app: 1.0.6. You'll see this version at the top of the JSON file that you start to edit. This means the number of key value pairs matches up and is correct.

3) Change:
"languageName": "Custom",
to:
"languageName": "MyLanguage",

With "MyLanguage" your actual language, like "Français"

4) Then edit any value you want. A partial translation is fine to use, and permits periodic checks on your JSON for formatting. You could just start by renaming all the menu functions (all the values within "menuItemName"). You can change the value (on the right) to whatever text you want. But leave the key name (on the left) alone. Keep all the syntax the same. Leave the number of values in arrays the same. Tip: don't delete the "\n" text. These are the new lines needed for formatting.

5) Android and iOS don't have a system file explorer, so cut-n-paste is used (as elsewhere in the Waxwing file backup). You can export the current Custom JSON to the clipboard, and you can also import a new Custom JSON from the clipboard. For example, you can directly go to one of the JSON files in #1 with your browser, tap to Select All, then Copy. You can then paste the clipboard copy into "Paste New Custom Here".

6) Once the your JSON has been pasted, the Import Custom button will become highlighted. Press it, and it will either confirm a successful import or let you know that there is a problem with your JSON. For a new import, the JSON file must be the same version as the app (i.e. it will have the same number of key value pairs as the compiled en.json file).

TIP: I use email as the easiest way to transfer these JSON files around from my desktop PC/MAC to phone and back again. So do the editting on a desktop and then mail the JSON to yourself. Then cut-n-paste from phone email into app.

If you have issues with importing, just email me - parksaudio@outlook.com - your JSON text and I will fix any syntax or missing keys.