I plan to support:
- List countries (historical and current) - maybe also some historical data like unions
- List languages used in specified country (official, local, historical, etc.)
- List currencies used in specified country (current and historical)
- List coding systems for specified country / language
- List keyboard layouts for specified country / language
- Try to fetch language data from
wiktionary
- Try to fetch currency cost (don’t know if there is any service to calculate historical values, but it’s not most important)
and therefore provide:
- Ability to suggest a keyboard layout, language and country based on input (at least by language code like
en_US
and user agent - maybe more) - Ability to convert from one currency into another and calculate specified percent of transfer cost.
- Ability to suggest correct by: any character (correct own names), any letter, similar letter (for problems with OCR) and keyboard typos (i.e. nearest keys for specified keyboard layout) for
n
number of max letters to correct (biggestn
=> more hints). - Ability to suggest a word based on rule (starts with, contains and ends with) with optional correct (like in 3rd point).
- Ability to list antonyms, example sentences, synonyms, translations (and more) for specified word.
- Convert coding systems (for example converts between:
cp1250
,iso8859-2
andutf-8
for Polish language text) - External links to
wiktionary
source - Other features related to countries, currencies, keyboard layouts and languages
- Maybe detect language based on input text
- Your suggestions - always welcome!
Of course I will look at similar libraries trying to find all that could be used in my library without any limitations.
Example language struct:
%Countriex.Language{
base_code: :en, # English language
country_code: :us, # USA variant
# + additional function that joins them to format like: `:en_US`
country_origin: :usa, # firstly used in
extra_code: :ny, # New York local variant code
# here local language variant should extend global (country) language variant
# I mean slang that could be used interchangeably with standard variant
}
I have lots of ideas for libraries and only two hands, so I can’t say when exactly I plan this one.