toJSON method
Serialize in JSON.
Implementation
String? toJSON(String lang, [bool isDefault = false]) {
final value = translations[lang];
if (value == null || value.isEmpty) return null;
final args = getArgs(value);
final hasMetadata = isDefault && (args.isNotEmpty || description != null);
final List<String> buf = [];
if (hasMetadata) {
buf.add(' "$text": "$value",');
buf.add(' "@$text": {');
if (args.isEmpty) {
if (description != null) {
buf.add(' "description": "$description"');
}
} else {
if (description != null) {
buf.add(' "description": "$description",');
}
buf.add(' "placeholders": {');
final List<String> group = [];
for (final arg in args) {
group.add(' "$arg": {"type": "String"}');
}
buf.add(group.join(',\n'));
buf.add(' }');
}
buf.add(' }');
} else {
buf.add(' "$text": "$value"');
}
return buf.join('\n');
}