I have my project localisations in .json files, here’s an english example:
{
"AreYouSure" : "Are you sure?",
"DescriptionText" : "This is a very long description text, used to aid the user.",
}
As shown in the example my source strings are merely IDs and not sentences on their own which gives me quite a few issues, for example:
My ideal solution would be to define English as a base language by which English translations would be treated as the source for checklist comparison, machine translations, etc.
My question then, is this possible at all? How should I proceed with this issue?
Yes, it's possible and covered in the Weblate documentation:
... monolingual formats identify the string by ID and each language file contains only mapping of those to given language (typically Android string resources). Some file formats are used in both variants, see detailed description below.
For correct use of monolingual files, Weblate requires access to file containing complete list of strings to translate with their source - this file is called "Monolingual base language file" within Weblate, though the naming might vary in your application.
So just set English file as "Monolingual base language file" and you're done.