Nalo Generator

Generator

Click 'Generate' to render a new sentence in Nalo.

Purpose

This tool generates random sentences in Nalo that are grammatically correct and semantically logical (i.e. "not nonsense"). Sentences are built using Nalo from the ground up, so English translations are currently unavailable. Short of learning Nalo, you'll have to take on faith that the generator is working as prescribed.

Though not immediately useful to visitors, this tool is useful for enhancing my own Nalo comprehension: it generates sentences that I wouldn't have crafted on my own, and since I have few real-life interlocutors, all fresh content is helpful. Moreover, the fleshing out of a constructed language dovetails nicely with future fiction-writing aspirations.

Most practically, this tool exemplifies a functional JavaScript program that has been integrated with a webpage. Even if you don't understand the sentences, you'll notice (hopefully!) that each sentence is novel and that the user experience is clean.

About Nalo

Nalo is a constructed language that I started building in 2023. Nalo simply means "words." Here are some fast facts:

1 pronounced "ch" or "sh", interchangeably
2 trilled or tapped, interchangeably

Program Details

As mentioned above, this tool generates semantically logical sentences. Ergo, something without eyes will never "see," and subjects without agency will not use the active voice.

To accomplish this, all Nalo words are grouped by meaning into arrays, and these arrays live inside JavaScript Objects. Each Object oversees a specific class of verbs (the root) and determines which actors (sources) and recipients (goals) are logically appropriate for its verbs.

let ActionLand = {
  root: [verbsLand],
  sources: [wordPronounAll, wordAnimalLand],
  goals: [wordObjectNatureLand, wordObjectNatureWater,
    wordTool, wordAnimalLand, wordAnimalSky, wordAnimalWater]
}

When run, the program selects an Object at random. It asks the Object for a verb, an actor, and a recipient. Depending on the class of verb, the program may also ask for additional sentence parts (adjectives, adverbs, etc.). If allowed, the Object returns valid options for these as well.