LingoGO! is a desktop app for university students who use English as their first language and are trying to learn a new language, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). With digital flashcards, LingoGO! can make learning faster and more convenient compared to using than traditional flashcards.


Quick start

  1. Ensure you have Java 11 or above installed in your Computer.

  2. Download the latest lingogo.jar from here.

  3. Copy the file to the folder you want to use as the home folder for LingoGO!.

  4. Double-click the file to start the app. The GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.
    Ui

  5. Type the command in the command box and press Enter to execute it. e.g. typing help and pressing Enter will open the help window.
    Some example commands you can try:

    • list : Lists all flashcards.

    • adde/Good Morning f/早安 : Adds a flashcard with English phrase Good Morning and corresponding foreign phrase 早安 to LingoGO!.

    • delete3 : Deletes the 3rd flashcard shown in the current displayed list.

    • clear : Deletes all flashcards.

    • edit3f/Guten Morgen : Edits the foreign phrase of the 3rd flashcard shown in the current displayed list to Guten Morgen.

    • upload./dictionary.csv : Imports cards from a CSV file to LingoGO!.

    • downloadmyCards.csv : Exports cards from LingoGO! to a CSV file in a file name myCards.csv.

    • exit : Exits the app.

    • flip2: Toggles the 2nd flashcard to hide or show the correct English phrase.

    • test17hello: Checks flashcard 17’s English phrase against the word hello and then shows whether it is correct.

  6. Refer to the Features below for details of each command.


Features

:information_source: Notes about the command format:

  • Words in UPPER_CASE are the parameters to be supplied by the user.
    e.g. in add e/ENGLISH_PHRASE f/FOREIGN_PHRASE, ENGLISH_PHRASE and FOREIGN_PHRASE are parameters which can be used as add e/Good Morning f/早安.

  • Items in square brackets are optional.
    e.g. edit INDEX [e/ENGLISH_PHRASE] [f/FOREIGN_PHRASE] can be used as edit 1 e/Good Morning f/早安 or as edit 1 f/早安 or as edit 1 e/Good Morning

  • Parameters can be in any order.
    e.g. if the command specifies add e/ENGLISH_PHRASE f/FOREIGN_PHRASE, f/FOREIGN_PHRASE e/ENGLISH_PHRASE is also acceptable.

  • If a parameter is expected only once in the command, but you specified it multiple times, only the last occurrence of the parameter will be taken.
    e.g. if you specify edit 2 e/Hi e/Hello, only e/Hello will be taken.

  • Extraneous parameters for commands that do not take in parameters (such as help, list, exit and clear) will be ignored.
    e.g. if the command specifies help 123, it will be interpreted as help.

Viewing help : help

Shows a message explaining how to access the help page, as well as dropdowns with brief explanations for each command.

help message

Format: help

Adding a flashcard: add

Adds a flashcard to LingoGO!.

Format: add e/ENGLISH_PHRASE f/FOREIGN_PHRASE

Examples:

  • add e/Good Morning f/早安
  • add e/Hello f/你好

Listing all flashcards : list

Shows a list of all flashcards in LingoGO!.

Format: list

Editing a flashcard : edit

Edits an existing flashcard in LingoGO!.

Format: edit INDEX [e/ENGLISH_PHRASE] [f/FOREIGN_PHRASE]

  • Edits the flashcard at the specified INDEX. The index refers to the index number shown in the displayed flashcard list. The index must be a positive integer 1, 2, 3, …​
  • At least one of the optional fields must be provided.
  • Existing values will be updated to the input values.

Examples:

  • edit 1 e/Good Morning Edits the English phrase of the 1st flashcard to be Good Morning.
  • edit 2 f/Guten Morgen Edits the foreign phrase of the 2nd flashcard to be Guten Morgen.
  • edit 2 e/Good Morning f/Guten Morgen Edits the English phrase and foreign phrase of the 2nd flashcard to be Good Morning and Guten Morgen respectively.

Locating flashcards by keyword: find

Finds flashcards based on the keyword specified.

Format: find KEYWORD [MORE_KEYWORDS]

  • The search is case-insensitive. e.g HELLO will match Hello
  • The order of the keywords does not matter. e.g. Good morning will match Morning good
  • Only full words will be matched e.g. Hello will not match Helloooo
  • Flashcard matching at least one keyword will be returned (i.e. OR search). e.g. Good Hello will return e/Good Morning f/早安, e/Good Morning f/Guten Morgen and e/Hello f/你好

Examples:

  • find Good returns e/Good Morning f/早安 and e/Good Morning f/Guten Morgen
  • find Good Hello returns e/Good Morning f/早安, e/Good Morning f/Guten Morgen and e/Hello f/你好

Deleting a flashcard : delete

Deletes the specified flashcard from LingoGO!.

Format: delete INDEX

  • Deletes the flashcard at the specified INDEX.
  • The index refers to the index number shown in the current displayed list.
  • The index must be a positive integer 1, 2, 3, …

Examples:

  • list followed by delete 2 deletes the 2nd flashcard in LingoGO!.
  • find Hello followed by delete 1 deletes the 1st flashcard in the results of the find command.

Clearing all entries : clear

Clears all flashcards from LingoGO!.

Format: clear

Uploading cards : upload

Imports cards to LingoGO! using a CSV file.

Format: upload CSV_FILE_PATH

  • The file path can be absolute or relative to the location of the LingoGO! file.
  • The CSV file must have 2 columns. The first column is for the English phrase, and the second column is for the foreign phrase. sample CSV file

Examples:

  • upload ./dictionary.csv will load all cards stored in the dictionary.csv to LingoGO!.

Downloading cards : download

Exports cards from LingoGO! to a CSV file.

Format: download FILE_NAME

  • Provides a file name with .csv extension in which the flash cards will be stored and exported.
  • The exported file will be added to data folder in a CSV format.
  • The CSV file will have 2 columns. The first column is for the English phrase, and the second column is for the foreign phrase.

Examples:

  • download myCards.csv will save all cards in LingoGO! to a CSV file named myCards.csv.

Exiting the program : exit

Exits the program.

Format: exit

Flipping a flashcard : flip

Toggles the flashcard to either show or hide its English phrase.

Format: flip INDEX

  • Toggles the flashcard at the specified INDEX.
  • The index refers to the index number shown in the current displayed list.
  • The index must be a positive integer 1, 2, 3, …

Examples:

  • flip 3 followed by flip 3 shows and then hides the English phrase for the 3rd flashcard in the current displayed list.

Testing with a flashcard : test

Checks whether the English phrase of a flashcard matches a given phrase.

Format: test INDEX ENGLISH_PHRASE

  • Checks the English phrase of the flashcard at the specified INDEX with the given ENGLISH_PHRASE.
  • The app will then show user the correct English phrase and tell the user whether he got it right.
  • The index refers to the index number shown in the current displayed list.
  • The index must be a positive integer 1, 2, 3, …
  • Testing is only allowed for flashcards that are flipped down (i.e. the English phrase is hidden).
  • ENGLISH_PHRASE is not case-sensitive (e.g. “HeLLo” matches “hello”).

Examples:

  • test 4 hello checks the 4th card on display to see if hello matches the English phrase of the flashcard.

Saving the data

LingoGO! data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.

Editing the data file

LingoGO! data are saved as a JSON file [JAR file location]/data/lingogo.json. Advanced users are welcome to update data directly by editing that data file.

:exclamation: Caution: If your changes to the data file makes its format invalid, LingoGO! will discard all data and start with an empty data file at the next run.

FAQ

Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous LingoGO! home folder.


Command summary

Action Format, Examples
Add add e/ENGLISH_PHRASE f/FOREIGN_PHRASE
e.g., add e/Good Morning f/早安
Clear clear
Delete delete INDEX
e.g., delete 3
Edit edit INDEX [e/ENGLISH_PHRASE] [f/FOREIGN_PHRASE]
e.g.,edit 2 f/Guten Morgen
Find find KEYWORD [MORE_KEYWORDS]
e.g., find Hello
List list
Upload upload CSV_FILE_PATH
e.g., upload ./dictionary.csv
Download download FILE_NAME
e.g., download myCards.csv
Help help
Flip flip INDEX
e.g., flip 2
Test test INDEX ENGLISH_PHRASE
e.g., test 17 hello
Exit exit