initialize method

Future<void> initialize(
  1. TranslateHubConfig config
)

Implementation

Future<void> initialize(TranslateHubConfig config) async {
  if (config.fallbackFile != null) {
    _fallbackFileName = config.fallbackFile;
  }

  if (config.offline) {
    _translation = await _loadFallbackTranslation();
    await _resolveLanguage();
    return;
  }

  final prefs = await SharedPreferences.getInstance();
  final lastSync = prefs.getInt(_lastSyncKey) ?? 0;
  final now = DateTime.now().millisecondsSinceEpoch;
  final isCacheFresh = lastSync > 0 &&
      now - lastSync < _cacheLifetimeMillis &&
      prefs.containsKey(_storageKey);

  if (isCacheFresh) {
    await _extractTranslation();
    await _resolveLanguage();
    return;
  }

  await _checkIn(config, prefs);
  await _resolveLanguage();
}