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:
- Nalo uses the most common sounds across all human languages:
vowels (aeiou), consonants (mnptkfsx1lr2wy). - Many core words are formed via onomatopeoia. For example, la (water) mimics dripping water, while sa (fire) imitates the hiss of a campfire.
- Other core words are formed by mapping pairs of natural phenomena onto arbitrary pairs of syllables. For example, toward and from are opposite ideas, so they are represented by syllables articulated at opposite ends of the mouth (ka and pa respectively).
- Complex words are formed by compounding or metaphorizing core words. For example, nalo (words) is a compound of na (desire) and lo (tongue).
- Grammar is largely regular. Core grammatical words include o to mark subject,
a to mark location, and ka/pa to mark movement.
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.