SwayConfig.load constructor
SwayConfig.load([
- String path = 'lib/i18n/sway.config.json'
Loads config from path, or returns defaults if missing.
Implementation
factory SwayConfig.load([String path = 'lib/i18n/sway.config.json']) {
final file = File(path);
if (!file.existsSync()) return defaults;
final raw = json.decode(file.readAsStringSync()) as Map<String, dynamic>;
final strategy = raw['fallbackStrategy'] as String? ?? 'baseLocale';
if (strategy != 'baseLocale' && strategy != 'key') {
throw FormatException(
'fallbackStrategy must be "baseLocale" or "key", got "$strategy"',
);
}
return SwayConfig(
baseLocale: raw['baseLocale'] as String? ?? defaults.baseLocale,
localeDir: raw['localeDir'] as String? ?? defaults.localeDir,
outputFile: raw['outputFile'] as String? ?? defaults.outputFile,
fallbackStrategy: strategy,
);
}