This is a clone project of the popular word guessing game we all know and love. Made using React, Typescript, and Tailwind.
Clone the repository and perform the following command line actions:
$> cd react-wordle
$> npm install
$> npm run start
$> docker build -t game:dev .
$> docker run -d -p 3000:3000 game:dev
Open http://localhost:3000 in browser.
$> docker build --target=prod -t game:prod .
$> docker run -d -p 80:80 game:prod
Open http://localhost in browser.
- Wortel: Afrikaans
- Latindictionary.io: Latin
- Kelmaly: Arabic
- Arwordle: Arabic
- Wörtchen: German
- Vārdulis: Latvian
- 꼬들 - 한국어: Korean
- 한글 풀어쓰기 5자: Korean
- Urdle: Urdu
- சொல்லாடல் Soladle: Tamil
- Szózat: Hungarian
- Pashtoodle: Pashto
- Malay: Bahasa Malaysia
- ਪੰਜਾਬੀ: Punjabi
- Слівце: Ukrainian
- Rudle: Russian
- Keclap: Sundanese
- kelma.mt: Maltese
- Wordle (BOS): Bosnian
- Murdle: Spooky hangman mashup
- Taylordle: Taylor Swift
- Dundle: The Office
- Weedel: Video game characters
- JoJodle: JoJo’s Bizarre Adventure
- Airportle: Airport Codes
- Mahjong Handle: Mahjong Hands
- 'en si lì'ur: Na'vi, the constructed language from James Cameron's AVATAR (2009)
- Wordle.cl: Chilean modisms, cities, places
- Anidal: Animals
- FFXIVrdle: Final Fantasy XIV
- Harry Potter: Harry Potter
- Primel: Prime numbers
- Syscordle: SYSCALL
- Mathler: Find the solution that equals X
- Stockle: Guess the stock or ETF
- AI-powered: Includes an AI component
- Passwordle: Passwords
- Genel: Gene symbols
- Numble: Maths
Want to add one to the list? Just make a pull request or let us know via a comment here
- Update the
MAX_WORD_LENGTH
variable in src/constants/settings.ts to the desired length. - Update the
WORDS
array in src/constants/wordlist.ts to only include words of the new length. - Update the
VALID_GUESSES
array in src/constants/validGuesses.ts arrays to only include words of the new length.
- In .env:
- Update the title and the description
- In public/index.html:
- Update the "You need to enable JavaScript" message
- Update the language attribute in the HTML tag
- If the language is written right-to-left, add
dir="rtl"
to the HTML tag
- Update the name and short name in public/manifest.json
- Update the strings in src/constants/strings.ts
- Add all of the five letter words in the language to src/constants/validGuesses.ts, replacing the English words
- Add a list of goal words in the language to src/constants/wordlist.ts, replacing the English words
- Update the "Settings" modal in src/components/modals/SettingsModal.tsx
- Update the "About" modal in src/components/modals/AboutModal.tsx
- Update the "Info" modal in src/components/modals/InfoModal.tsx
- If the language has letters that are not present in English update the keyboard in src/components/keyboard/Keyboard.tsx
- If the language's letters are made of multiple unicode characters, use a grapheme splitter at various points throughout the app or normalize the input so that all of the letters are made of a single character
- If the language is written right-to-left, prepend
\u202E
(the unicode right-to-left override character) to the return statement of the inner function ingenerateEmojiGrid
in src/lib/share.ts
This repository includes support for Google Analytics, but, by default, this is disabled. To enable Google Analytics:
- Create a Google Analytics 4 property and obtain the measurement ID (of the format
G-XXXXXXXXXX
) - In .env, add
REACT_APP_GOOGLE_MEASUREMENT_ID=G-XXXXXXXXXX
Keep in mind that your region might have legislation about obtaining a user's consent before enabling trackers. This is up to downstream repos to implement.