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!

Hi @YellowAfterlife noticed that our developers added some changes and now the issue with the cache should be gone. Could you please double-check on your side?

also, could you please specify what do you mean by " * JSON-SE settings are shared between bundles", like when you create a separate bundle, it automatically copies settings from the previous bundle? could you please describe the steps to reproduce this?

I’m not sure if I can quickly reproduce the caching issue (we have since edited just about every file), but by “JSON-SE settings are shared between bundles” I mean that if I change the Export Pattern in JSON-SE settings in one bundle and go to JSON-SE settings in another bundle, the Export Pattern will be different there too. Like this:

crowdin-json-se

Hi @YellowAfterlife
thanks a lot!checking on our side

Hi @YellowAfterlife ! our team confirmed that this is expected behavior since the same exporter is used in the bundle