convenient language learning web application for intermediate level learners. Expand your vocabulary and improve your reading comprehension in fun ways!
- Natural translation in 5 languages: English, Chinese (Simplified), French, German, Japanese, Spanish
- Upload files for translation
- Automatic language detection of files
- Generate texts for translation (NOTE: not available in English)
- Customize difficulty of generated text
- Quiz to practice vocabulary using words from the translated text
-
Node and npm are installed. Please note that Node v18+ and npm v10+ is required.
$ node --version vv18.18.0 $ npm --version 10.5.0
-
Git is installed.
$ git --version git version 2.43.0.windows.1
Enter the following commands on your terminal:
$ git clone https://github.com/Zanzigzan/CPSC-2350-group-project.git
$ cd fluentifyCreate a .env file on your preferred text - editing software (VS Code or Sublime Text) and configure the environment variables using the format: VITE_GOOGLE_KEY= AIzaSyxxxxxx...xxxxxx.
Refer to the table below:
| Environment Variable | Required | Description | Example |
|---|---|---|---|
VITE_GOOGLE_URL |
Yes | If you manually configure the Google interface proxy, you can use this configuration item to override the default Google API request base URL page | The default value ishttps://translation.googleapis.com/language/translate/v2 |
VITE_GOOGLE_KEY |
Yes | This is the API key you apply on the Google Cloud account | AIzaSyxxxxxx...xxxxxx |
VITE_OPENAI_URL |
Yes | If you manually configure the OpenAI interface proxy, you can use this configuration item to override the default OpenAI API request base URL | The default value ishttps://api.openai.com/v1/chat/completions |
VITE_OPENAI_KEY |
Yes | This is the API key you apply on the OpenAI account | sk-xxxxxx...xxxxxx |
VITE_OPENAI_GENERATE_TEXT_PROMPT_EASY |
Yes | This is the prompt used to generate text for easy level. | The default value isGenerate an easy-to-read text suitable for beginners learning a language. The text should be between 500-700 words. |
VITE_OPENAI_GENERATE_TEXT_PROMPT_MEDIUM |
Yes | This is the prompt used to generate text for medium level. | The default value isGenerate a text with medium difficulty, including a mix of simple and intermediate vocabulary and sentence structures. The text should be between 500-700 words, suitable for learners with some prior knowledge of a language. |
VITE_OPENAI_GENERATE_TEXT_PROMPT_HARD |
Yes | This is the prompt used to generate text for hard level. | The default value isGenerate a challenging text with advanced vocabulary and complex sentence structures. The text should be between 500-700 words, suitable for advanced learners of a language. |
VITE_OPENAI_GENERATE_QUIZ_PROMPT |
Yes | This is the prompt used to generate words for the vocabulary quiz. | The default value isExtract the four hardest words from the following text in the ["word1", "word2", "word3", "word4"] format, and replay with only those words. The text: |
$ npm install
$ npm run dev
> fluentify@0.0.0 dev
> vite
VITE v5.2.6 ready in 855 ms
➜ Local: http://localhost:xxxx/
➜ Network: use --host to expose
➜ press h + enter to show helpPress ctrl while clicking http://localhost:xxxx/.
Fluentify should start in your default browser.
$ npm run test$ npm run cypress:open- React
- Tailwind CSS
- Vite for Builds
- Vitest and Cypress for Testing
- Netlify
Demo Video Presentation Report AI Usage Forms
Fluentify is MIT licensed.