- Basics of country, currency, and language
- ISO 3166-1 countries with alpha2/alpha3/num codes and basic names
- ISO 4217 currencies with alpha3/num codes, names, and decimal places
- ISO 639-1 languages with alpha2/num codes and names
- Relationships between countries, currencies, and languages, according to
ISO and Wikipedia
- Which countries officially use which currencies
- Which currencies and languages are officially used by which countries
- Which countries officially use which languages
- Basic trait implementations
-
AsStr
-
Clone
-
Copy
-
Debug
-
Deserialize
-
Display
-
Eq
-
From
-
FromStr
-
Hash
-
PartialEq
-
Serialize
-
ToSchema
-
TryFrom
-
- Basic methods for accessing, checking, and converting
- Property getters
-
CountryCode.country()
-
CurrencyCode.currency()
-
LanguageCode.language()
-
::all()
-
CountryCode.is_alpha2()
and.is_alpha3()
-
CountryCode.to_alpha2()
and.to_alpha3()
- Tests
- Documentation
- Maintenance release
- Additional basic properties
- Country
- Independent
- Disputed
- Currency
- Symbol
- Category: currency or fund
- Pegged to another currency
- Language
- Macrolanguage
- Country
- Additional basic methods
-
Currency.is_used_officially()
to denote whether it's (officially) used by any country -
Currency.is_pegged()
and/orCurrency.pegged_to()
/pegged_by()
-
Language.is_used_officially()
to denote whether it's (officially) used by any country
-
- Reduce lines of boilerplate code
- Extended country information
- ISO 3166-2 subdivisions
- Regions
- Additional names — full name vs short name
- Extended language information
- ISO 639-2/T and 639-2/B codes
- ISO 639-3 and 639-5 codes
- Extended language-related country information
- Regional languages for countries
- Minority languages for countries
- Extended currency information
- Non-fiat, e.g. blockchain
- Extended currency-related country information
- Differentiation between official ISO-recognised currencies and those that are widely used/accepted/circulated, but not ISO
- Methods
-
Country.iso_currencies()
-
Currency.is_fiat()
-
- Timezones
- Timezone list
-
Timezones.countries
- Telephone calling codes
- ITU-T E.164 calling code list
-
CallingCode.country
- Internet TLDs
- TLD list
-
TLD.country
- Additional country information
-
Country.capital
-
Country.timezones
-
Country.calling_code
-
Country.tld
-
- Historic information
- Countries — ISO 3166-3 historic list
- Currencies — historic list from ISO 4217
- Methods
-
Currency.is_active()
/.is_historic()
-
- Translations
- Translations of names into other languages
- Feature flags
-
country
: Basic country information -
currency
: Basic currency information -
language
: Basic language information -
tlds
: Internet TLD information -
timezones
: Timezone information -
calling-codes
: Telephone calling code information -
country-iso3166-2
: Subdivision information -
language-iso639-2
: Extended language information -
historic
: Historic information for countries/currencies/languages -
lang-X
: Translations for language code
-
- Performance
- Examine crate dependency tree
- Assess possibility of adopting
no-std