i18nMiddleware function

Middleware i18nMiddleware({
  1. String defaultLocale = 'en',
})

Middleware for internationalization

Implementation

Middleware i18nMiddleware({String defaultLocale = 'en'}) {
  return (Handler handler) {
    return (Request request) async {
      // Initialize i18n if not already done
      i18n.init(defaultLocale: defaultLocale);

      // Detect locale from Accept-Language header
      final acceptLanguage = request.headers['Accept-Language'];
      final detectedLocale = I18nUtils.detectFromHeader(acceptLanguage);

      if (detectedLocale != null) {
        i18n.setLocale(detectedLocale);
      }

      // Call next handler
      return await handler(request);
    };
  };
}