Caching issues with JSON String Exporter

Here’s what happened:

I have a project that I’m preparing for public access and exploring how to make it more convenient to work with in Crowdin.

I replied to an onboarding email with a question on best-fitting format some weeks ago and did not get a response, but I kind of figured that a combination of Chrome JSON input and JSON String Exporter output offers the best results for what I’m doing (multi-line values, multi-line context, multiple input files for visual grouping).

So I’ve had a bundle where JSON-SE was set up with the following format:

{
	"%identifier%": "%translation%"
}

Thus producing one output JSON file for each group.

At some point I got curious about whether I could pack all groups for each language into a single two-level file, so I added a second bundle with the format being

{
	"%file_name%": {
		"%identifier%": "%translation%"
	}
}

In doing so, I have discovered that:

  • %file_name% is not supported inside format field
    (wasn’t promised, but would have been nice)
  • JSON-SE settings are shared between bundles
  • Per-file outputs are cached
  • Changing JSON-SE settings does not invalidate the said cache

I have deleted both bundles and created a new one with my original settings, but now the recently touched files look like this:

{
	"SoundVolume": "Гучність звуків: {0}",
	"MusicVolume": "Гучність музики: {0}",
	// ...
	"Credits": "Автори"
}

And the files that have not been touched continue to use the previous format:

{
	"%file_name%": {
		"Gamepad": "Геймпад {0}",
		"Keyboard": "Клавіатура",
		"Pair": "P{0}: {1}",
		"Reset": "Скинути керування"
	}
}

Sample bundle

I can post-fix the output to continue testing with my partial translations (and to combine the files after all), but perhaps this could be looked into.

Hello @YellowAfterlife,

Thank you for sharing this :wink:

Will pass it on to our devs to look into this and we’ll let you know once we get the news!