getLanguage method

String getLanguage()

Retrieves the current language based on URI, session, or settings.

Implementation

String getLanguage() {
  var segments = uri.safePathSegments;
  var ln = segments.isNotEmpty ? segments[0] : '';
  if (ln.isNotEmpty && FinchApp.config.languages.contains(ln)) {
    changeLanguege(ln);
  } else if (isApiEndpoint && hasData('lang')) {
    ln = data('lang', def: 'en');
  } else {
    ln = getCookie(
      'language',
      safe: false,
      def: getSession(
        'language',
        def: _setting['language'] ?? 'en',
      ).toString(),
    );
  }

  if (!FinchApp.config.languages.contains(ln)) {
    ln = 'en';
  }

  return ln.trim().toLowerCase();
}