Vulgar: Language generator

The Grammar Editor allows you to write free-form documentation on your language, as well as create grammatical affixes that can be used in the translator.

Affix tables

Using the Insert grammar table generator button, the following code generates a simple affix table:

AFFIX TABLE

axis 1 = Singular, Plural
pos = n
inflect = dog

NOUN.S = Random
NOUN.P = Random

Result:

axis 1 = indicates that the table has just 1 axis, and its column names are comma separated. pos means part-of-speech, and = n means that these affixes apply to nouns. inflect = dog pulls the conlang word for "dog" from the dictionary and applies the affixes to this word.

NOUN.S = Random creates a random affix for the "Singular" (S) cell, as does NOUN.P for "Plural".

These affixes can now be used in the translator. The affix tag names will be the abbreviated to whatever is capitalized in the code. In this case they are NOUN.S and NOUN.P. But if you wrote axis 1 = SinGular, PLural the affix tag names would be NOUN.SG and NOUN.PL. Numbers may also be a part of the abbreviation.

You can tell the program what the affix will actually be by calling these abbreviated names in the table.

AFFIX TABLE

axis 1 = SinGular, PLural
pos = n
inflect = dog

NOUN.SG = -
NOUN.PL = -s

This mimics English affixes by making the plural an -s suffix, and NOUN.SG = - actually indicates that the singular should be no affix at all. You may specify all or just some of the affixes. There is a lot that can be done with custom affixes - see complete guide here.

More axes can be added:

AFFIX TABLE

axis 1 = Masculine, Feminine
axis 2 = Singular, Plural
pos = n
inflect = dog

NOUN.M.S = Random
NOUN.M.P = Random
NOUN.F.S = Random
NOUN.F.P = Random

In the case you are creating multiple noun genders, you can choose to pull different words from the dictionary to match the genders, eg:

AFFIX TABLE

axis 1 = Masculine, Feminine
axis 2 = Singular, Plural
pos = n
inflect M = dog
inflect F = cat

NOUN.M.S = Random
NOUN.M.P = Random
NOUN.F.S = Random
NOUN.F.P = Random

This applies the Masculine Singular and Masculine Plural affix to "dog", and Feminine Singular and Feminine Plural affix to "cat". You will need to know the genders of these words beforehand to do this -- the program will not automatically make "dog" masculine.

You may also translate each cell writing > after the affix tag name and before the = sign. Eg:

AFFIX TABLE

axis 1 = Masculine, Feminine
axis 2 = Singular, Plural
pos = n
inflect M = dog
inflect F = cat

NOUN.M.S > dog = Random
NOUN.M.P > dogs = Random
NOUN.F.S > cat = Random
NOUN.F.P > cats = Random

Result:

Word tables

Words generated in Word Table automatically get pushed into the main dictionary.

Same as with affix tables, you can specify what the word will be using the equals sign:

WORD TABLE

axis 1 = Masculine, Feminine
axis 2 = SinGular, PLural
pos = article

M.SG = el
F.SG = la
M.PL = los
F.PL = las

And you can specify exactly what each word translates to in the dictionary using the > sign after the name:

WORD TABLE

axis 1 = Masculine, Feminine
axis 2 = SinGular, PLural
pos = article

M.SG > the (masculine singular definite article) = el
F.SG > the (masculine singular definite article) = la
M.PL > the (masculine singular definite article) = los
F.PL > the (masculine singular definite article) = las

Pronoun tables

Pronoun tables can be a little tricky because of the way English fuses gender into some pronouns but not all; there is only one 1st person singular pronoun, "I", but there are three 3rd person singular pronouns: "he", "she" and "it". And these genders don't carry over into the plural 3rd person, which is just "they".

To make an English pronoun table in Vulgar, you have to combine properties all onto one axis like this:

WORD TABLE

axis 1 = 1st person SinGular, 2nd person SinGular, 3rd person Masculine SinGular, 3rd person Feminie SinGular, 3rd person Neutral SinGular, 1st person PLural, 2nd person PLural, 3rd person PLural
pos = pron

1SG > I = Random
2SG > you = Random
3MSG > he = Random
3FSG > she = Random
3NSG > it = Random
1PL > we = Random
2PL > you = Random
3PL > they = Random

If you want to make a different system, you need to decide what properties you want to express in your pronouns, and decide if they neatly fit into a 2/3 dimensional table or if they need to be combined into one axis, like English. If it's the former, you will need to figure out what these words translate to. Here is one possibility:

WORD TABLE
axis 1 = Masculine, Feminine
axis 2 = 1st person, 2nd person, 3rd person
pos = pron

NOUN.M.1 > I/we (masculine) = Random
NOUN.M.2 > you (masculine) = Random
NOUN.M.3 > he/they (masculine) = Random
NOUN.F.1 > I/we (feminine) = Random
NOUN.F.2 > you (feminine) = Random
NOUN.F.3 > she/they (feminine) = Random

Getting words from the dictionary

In the body of the grammar editor, you may pull conlang words from the dictionary using double brackets around the English word, eg: ((man)) will be replaced with the conlang word for man. This is helpful if you don't know the word ahead of time. You can also apply affixes to this, eg: ((man-NOUN.PL)) will be replaced with the plural version of man.