linguil is the daily language guessing game.
- Next.js-based web application
- Frontend: Tailwind CSS (styling), Radix (UI) & Recharts (custom user leaderboards)
- Backend: Google Cloud (compute, TTS), Firebase (authentication, storage, hosting, performance monitoring, analytics) & Stripe (linguil+ payments)
-
Check the language wishlist for currently supported and unsupported languages (supported languages are
crossed outas well as listed inpublic/data/MultiLangFamilies.csv). -
Choose a language to add (languages need not be on the wishlist, but must be well-attested in academic literature; have some scholarly consensus around their top-level language family; and currently have speakers—no creoles, conlangs or dead languages).
-
Record its top-level language family at the bottom of
public/data/MultiLangFamilies.csvin the correct style:
[Language],[Family].
- Choose the most appropriate Google Text-to-Speech (TTS) voice name from this list (the most similar language if yours is unavailable) and record it at the bottom of
public/data/LanguageCodes.csvin the correct style (note the language code must match the TTS name code):
[Language],[LanguageCode],[TTSVoiceName].
- Record (i) the approx. total number of global speakers (L1 + L2); (ii) the country (and state/province(s) if the country is large) with the most speakers; and (iii) the approx. total number of speakers in that country (L1 + L2) at the bottom of
public/data/LangStats.csvin the correct style:
[Language],~[# GlobalSpeakers],[Country (State / Province),~[# CountrySpeakers].
- Record each word in the 100-word Swadesh list both in (i) the original native script (if available, or a standard alternative script if the dominant script is Latin-based) and (ii) transliterated into the Latin script (allowing novel letters, punctuation, and diacritics, but not tone numbers) at the end of each row of
public/data/MultiLangSwadesh.csvin the correct style:
,[Native/AlternativeScript] ([LatinScript]) or ,[LatinScript] (if no alternative scripts are available).
- Submit your changes to the
linguilrepo for approval.
Created by Charlie McCombie (@Papuang)