# getInstanceFromLocale static method

Currency getInstanceFromLocale(

1. Locale locale

)

Abstract base class for currency operations following ISO 4217 standards.

This class provides a common interface for all currency types and includes static methods to manage and retrieve currency instances according to ISO 4217 codes or locale information.

Use this class to:

- Retrieve currency instances by code or locale.
- Access currency metadata such as symbol, numeric code, or display name.
- Work with all available currencies in a consistent manner.

Example usage:

    // Get a currency by ISO code
    final usd = Currency.getInstance('USD');

    // Get a currency by locale
    final eur = Currency.getInstanceFromLocale(Locale('de', 'DE'));

    // List all available currencies
    final allCurrencies = Currency.getAllCurrencies();

    // Access currency properties
    print(usd.symbol); // $
    print(eur.displayName); // Euro

Returns a Currency instance for the given Locale.

Determines the currency using the country code from the locale. Throws UnsupportedOperationException if the locale has no associated currency.

Example:

    final usd = Currency.getInstanceFromLocale(Locale('en', 'US'));
    final eur = Currency.getInstanceFromLocale(Locale('de', 'DE'));

## Implementation

    static Currency getInstanceFromLocale(Locale locale) {
      if (locale.getCountry() == null) {
        throw UnsupportedOperationException('Locale must have a country code to determine currency');
      }

      final currencyCode = CurrencyDatabase.getCurrencyCodeForLocale(locale.getCountry()!);
      if (currencyCode == null) {
        throw UnsupportedOperationException('No currency found for locale: ${locale.getLanguageTag()}');
      }

      return getInstance(currencyCode);
    }