Grammar Editor

This article tells you how to add grammatical features to your language in Vulgarlang. It does not teach you about grammar, per se. For that, see our learning about grammar article.

The Grammar Editor allows you to insert special grammar tables that randomly generate affixes and words. These affixes and words can also custom edited. Additionally, the grammar tables provide rules to the Translator for how to automatically apply your conlang’s grammar rules. For this reason, there are some formatting considerations if you want the automatic Translator to translate correctly (which is the purpose of this article).

Outside of the grammar tables, the Grammar Editor functions as normal text editor where you can simply write about your language in plain English, and create sections and headings for different topics in your language, e.g.:

Nothing that you write outside of the grammar tables will affect the Translator. It’s what’s inside the tables that matters.

Affix tables

The + Add Grammar Table button inserts a grammar table with the correct formatting needed for the table to properly generate. Adding a table with the following options selected

adds a table looks like this in the editor:

Verb affix table. Example: learn
Past Random
Present Random
Future Random

Then upon generating the language, the table will come out something like this:

Past Suffix -a
prena /prena/
learned
Present Suffix -e
prene /prene/
learn
Future Suffix -i
preni /preni/
will learn

In this language, the base word for “learn” is pren, and the generator randomly created suffixes −a, −e and −i for past, present and future tense respectively.

Code block information (pink text above the table) provides some important information for how the table will both display and function in the Translator. Verb affix table tells the Translator that these affixes apply to all verbs. Whereas, Example: learn gives the table an example word for the affixes to attach to for display purposes (it doesn’t mean these affixes only attach that word). If you want an affix table to only apply to a particular verb, see the irregular affixes section.

Defining affixes

Inside a table cell, Random tells the program to generate a random affix for that value. But you can custom define what the affixes are. Remember that each cell in an affix table should have a hyphen on whichever side the affix attaches to the word:

Past −ed
Present
Future will −

produces:

Past Suffix −ed
prened /prened/
learned
Present No affix
pren /pren/
learn
Future Prefix will −
will pren /will pren/
will learn

This example mimics English: −ed adds ed to the end of verbs (a suffix), a hyphen on its own makes “no affix”, and will − adds adds a prefix before the word (note that the space between will and the hyphen effectively creates a separate word that simply goes before the verb).

Not all grammar is expressed as affixes. Note that various irregular verbs in English express past tense via a sound change to the vowel, e.g. run → ran. Therefore, sound change notation can also be used in affix table cells. Additionally, multiple affixes and/or sound changes can be chained together using the semi-colon symbol ;

Past pre−; −ed
Present e > a
Future will−; e > a

produces:

Past Prefix pre−, Suffix −ed
preprened /preprened/
learned
Present Change all e to a
pran /pran/
learn
Future Prefix will−, Change all e to a
willpran /willpran/
will learn

Grammatical categories

Change the Categories and Values options to change which grammatical concepts (values) you want the table to generate affixs for:

Alternatively, clicking inside an already added table gives you options to add/remove rows and columns. If you add a row or column this way, you’ll have to manually type in the value in the appropriate cell, and it must start with a capital letter, e.g. Past not past.

Playing around with grammatical values is where you can start to get creative! Maybe you want your language to have both a past tense and a “remote past” tense for things that happened a long time ago (a feature in Italian). Perhaps your language has no future tense affix. Note that English has no future tense affix. It still has a way of expressing things that happen in the future using the word “will”, it just has no future tense affix. Whereas other languages, such as Spanish, have an affix for future tense.

Vulgarlang does not list all possible grammatical values that can be expressed in affixes. If you want to add something not in the default values, select the custom category and manually type in values, separating the values with forward slash (or comma):

Fusional vs agglutinative affixes

The examples we have looked at so far have just expressed a single grammatical category per affix: that being tense. But affixes may fuse multiple grammatical categories into one affix.

Clicking + fuse with another category adds another grammatical category into the same table, by adding multiple columns for each row. This means that each affix will express two grammatical categories. Affixes that express multiple grammatical categories are said to be “fusional”. In the below example, each affix expresses tense (either past, present or future), as well as person (whether the verb is being done by a 1st, 2nd or 3rd person):

By contrast, “agglutinative” affixes express just one grammatical category, however multiple affixes may be added strung together. To create agglutinative affixes, you effectively need to create two separate tables: one for tense and another for person.

Editing the English translation

In the event that the generator doesn’t translate the example words correctly for any cell, or you want to change the translation for any reason, you can put your own translation after the affix in italic format.

Verb affix table. Example: learn
Past −ed learnt
Present learns
Future will − is going to learn

Example words for genders

If your language has noun genders, you will probably want to use a different example word for each gender. You can do this in the code block like this:

Verb affix table. Masculine example: dog. Feminine example: cat

This code block is case insensitive, but you do have to spelling “masculine”, “feminine” and “example” exactly right! Note that you need to know the genders of these words beforehand to do this; the program will not automatically make “dog” masculine just because your table says it’s masculine.

Irregular affixes

If you want affixes that only apply to a particular word, write the conlang word (in IPA) after a colon, like this:

Verb affix table: pren. Example: learn
.

This effectively makes the conlang word pren an “irregular” verb. The table can be for multiple conlang words by listing them like this Verb affix table: list, other, words, in, ipa, separated, by, commas

Plain English explanations for rules

Some people may not understand sound change notation, or you just might not like the way it looks. Because of this, you have the option of explaining your affix and/or sound change rules in plain English by writing them inside double quotation marks. See the explanation for the plural sound change below:

Singular −s
Plural p > t /_# “p changes to t at end of word”

Result:

Singular Suffix -s
vulps /vulps/
Plural p changes to t at end of word
vult /vult/

Word tables

Word tables work very similar, but the code block only requires it to say what part of speech this table of words is:

Pronoun table

Words generated in word tables automatically get pushed into the main dictionary. Same as with affix tables, if the generator gets the translation of the word wrong, you can write the correct translation in the table cell after the conlang word in italic format.

Understanding English pronouns

Some confusion can arise with English pronouns, due to the fact that gender is only expressed in some of its pronouns. English’s 3rd person has three genders: “he”, “she” and “it”. However, all other pronouns are gender neutral: “I”, “we”, “you”, and “they”. Furthermore, English doesn’t have a singular/plural distinction in the 2nd person “you”, whereas it does for 1st person (“I” vs “we”) and 3rd person (“he/she/it” vs “they”).

You may find yourself scratching your head as to how to replicate this exact table format in Vulgarlang’s system. For instance, Vulgarlang will add gender to all your pronouns if you choose to add the gender category. Remember though: your conlang doesn’t need to operate the same way as English pronouns do!

This inconsistency makes it difficult to divide English pronouns neatly into Vulgarlang’s rows and columns. The simplest thing may be to select the “custom” category and put every pronoun own its own row.

If you want to make a different pronoun system to English, you need to decide if you want your conlang’s pronouns to fit neatly into the rows and columns of a table, or if there will be some level of irregularity, like the English system.

Other features

Getting words from the dictionary

In the body of the grammar editor, you may pull conlang words from the dictionary using double curly 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-PL:N}} will add the plural form for nouns (assuming your language has this affix).

Be aware that although the affix abbreviation would have been PL in the table, its part-of-speech is added to the end so that it becomes -PL:N when it’s attached to the word. This is because there could be a plural affix for a different part-of-speech which differs from the noun affix.

{{Langname}} can be used to pull the language’s name.

Gloss translations

Code blocks also allow you to create gloss translations (word-for-word and morpheme-to-morpheme translations):

Example:

te wunua molengo-su
CASE house old-1SG.POSS
my old house

Result:

The 1st line is the of the code is the conlang translation, the 2nd line is the gloss, and the last line (optional) is the plain English translation. The 1st and 2nd line should have the exact same number of spaces in order for the word-for-word translation. You can optionally put intermediary translations before the last line.

Note: even though this uses affix tags in a similar fashion to other areas in Vulgarlang, this section does not do the translation for you. Why? Because Vulgarlang’s affix tag system only partially replicates a proper linguistic gloss. For instance, you can encode an circumfix into a single affix tag. However the glossing convention is to show a morpheme-to-morpheme correlation, which means the circumfix tag should be shown at the beginning at the end of the word:

Manual translations also allow you to mark the morpheme boundaries in the conlang word, and follow other glossing conventions.