Check out our Trello board for upcoming changes!


6 April 2024

  • Added clear names button for Generate unique character/place name
  • Using +length is now an acceptable alternative of +long
  • Fixed issue when users accidentally put a space before a multiplier symbol


10 March 2024

  • Fixed: adding the same custom word more than once only created one entry


27 February 2024

  • Fixed: various sound change notation not working in IF statements and illegal rules
  • Fixed: Inserting sound at beginning of word, e.g.  > a / #_, caused sound to be insert at end of word
  • Fixed: Clear settings button not resetting Advanced Word Structure


30 January 2024

  • Added uw and ij as default Illegal Combinations as they are arguably not possible to pronounce (or they are simply the same as long vowels) and they can appear relatively frequently


28 January 2024

  • Fixed: [-nasal] not working in sound change environments
  • Fixed: sound change features with more than one diacritic can now be in any order. E.g. [+aspirated +long] will match both xʰː and xːʰ


19 January 2024

  • In the Grammar Editor, adding a 3rd table axis is now labelled “tables” instead of “blocks”. Old files labelled “blocks” will auto-update.
  • In the Grammar Editor, when a table has 3 axes, the order of the abbreviated cell name is now more logically ordered TABLE.ROW.COL instead of ROW.COL.TABLE. This means everything in the “table” (previously called the “block”) is more logically grouped together


7 January 2024

  • Fixed: subscript numbers not working before the underscore in sound changes


29 December 2023

  • Fixed: sound change rules not honouring the difference between phonemes with diacritics and without in environment, eg x > y / _z would incorrectly change xzʰ
  • Fixed: certain kinds of exceptions in sound changes not working, eg: / C_ !_x and / !x_z
  • Fixed: [+voice] not matching i and y
  • Fixed: some placement issues with combining diacritics and non-combining diacritics in sound change rules


24 December 2023

  • Fixed: [+nasal] not correctly matching long nasal vowels and nasal vowels with tones
  • Fixed: [+nasal] not matching vowels when combined with other distinctive features
  • Fixed: some issues with [+pharyngealized] feature


10 December 2023

  • Fixed: Stress symbols not being removed from spelling when Reflect sound changes in spelling and Show sound changes in square brackets options are both selected
  • Fixed: Some issues with stress symbol placement for antipenultimate stress


9 December 2023

  • Fixed: Reflect sound changes in spelling not working with Show sound changes in square brackets
  • Fixed: warning message for undefined prefix in derived words section


6 December 2023

  • Translator now highlights affixes with color in the gloss
  • Minor improvements to the Translator


3 December 2023

  • Fixed: square bracketed secondary articulation features not working in sound changes, those being [+aspirated], [+palatalized], [+velarized], [+labialized] and [+pharyngealized]


2 December 2023

  • Added floating menu bar at bottom of screen


1 December 2023

  • Fixed: Korean Hangul Jamo spelling not working due to invisible affix boundaries interfering with how the characters combine together. This also fixes affix boundaries preventing font ligatures rendering properly


26 November 2023

  • Generate unique character/place name now creates a list of names as you keep clicking it
  • Fixed: Save Manually Entered Settings not saving grammar editor information


25 November 2023

  • Fixed: some assimilation sound change rules not working at affix boundaries


21 November 2023

  • Fixed: some sound change issues caused by version 12.0.3 update


20 November 2023

  • Added: affixes now highlight in the spelling in grammar tables
  • Fixed: sound changes removing invisible affix boundary markers when changing the phoneme before the boundary


18 November 2023

  • Fixed: Ban same syllable twice in a row not working
  • Fixed: sound changes that use syllable boundary symbol not working in certain scenarios
  • Fixed: sound changes that use subscript numbers on distinctive features not working in certain scenarios


15 November 2023

  • Fixed: derived words not being able to be made up of words that capitalize the first letter


7 November 2023

This is a new major version number due to some small changes to Sound Change notation (see below):

  • Added ability to do sound and spelling change rules at affix boundaries using +, e.g. a > b / _+ changes a to b before an affix boundary only.
  • Sound change notation: Changed syllable boundary symbol from % to $ which aligns with what linguists usually use. Percent sign is still valid for old rules so as to not break compatibility
  • Sound change notation: Changed behaviour of asterisk * when not used after brackets: previously X* meant at least one X or more, and (X)* meant zero or more X. Now both X* and (X)* mean zero or more. This better aligns with what is used in linguistic literature where they write a subscript zero without brackets to mean zero or more X (e.g. Noam Chomsky used this notation). However subscript zero is difficult to type, so we stick with the asterisk (additionally Vulgarlang already uses subscript 1-9 for matching same-phoneme-in-class, so subscript zero would just be confusing). Furthermore, if you need 1-or-more you can make the star optional X(*) or simply XX*.
  • Fixed: sound change rules not honouring the difference between phonemes with diacritics and without in exceptions, eg a > b / !_c would correctly not change ac but would incorrectly not change acʰ


29 October 2023

  • Fixed: sound changes that use syllable boundary symbol % removing all spaces in a sentence or compound word


28 October 2023

  • Added warning message that you cannot re-upload the HTML, CSV and PDF file to the Vulgarlang app


22 October 2023

  • Added superscript long and half long symbols to IPA buttons
  • Fixed: new IPA symbols (from version 11.2) not appearing in IPA symbols scroll with screen
  • Fixed: retroflex affricates not showing up consonant chart


19 October 2023

Added support for extIPA symbols (for disordered speech) as well as support for superscript versions for all IPA letters. Superscript IPA was standardized in Unicode 14.0 and only very recently been added to the latest version of the Noto fonts. The International Phonetic Association proposed adding superscript versions of every single IPA symbol in 2020:

“A small set of superscript modifiers is already defined on the IPA Chart: ⟨ ʰ ʷ ʲ ˠ ˤ ⁿ ˡ ⟩. But as the work of Kirk Miller amply illustrates, a survey of the phonetic and linguistic literature reveals many more then 7 superscripts in actual use, for the most part with interpretations that are immediately obvious—and indeed natural—to the phonetically-aware reader, even though no official IPA meaning has been explicitly attached to them … In fact, however, the IPA has a principle—long in place and never revoked—which permits any IPA symbol to be superscripted with modifier status. This provision is not currently mentioned on the IPA Chart, but it is important to distinguish between the Chart and the Alphabet. The Chart is a convenient one-page summary of the main provisions, but not an exhaustive enumeration of the Alphabet. The IPA’s Handbook (1999) says (p.160, section 4 (c) (ii)) that one justifiable use of diacritics is ‘For representing minute shades of sounds’.”

The extIPA symbols are mainly used for documenting speech disorders, although some of them have been found to be normal (though rare) phonemes in languages too: ꞎ (voiceless retroflex lateral fricative), 𝼈 (voiced retroflex lateral flap), 𝼅 (voiced retroflex lateral fricative), 𝼄 (voiceless velar lateral fricative) and (voiceless palatal lateral fricative).

Also added support for retroflex affricates: ꭧ ꭦ


9 October 2023

  • Fixed: Remove forward slashes around IPA option causing saving/editing issues


2 October 2023

  • Fixed: affricates not appearing in consonant chart when using tiebar as opposed to single symbols, e.g. t͡ʃ as opposed to ʧ
  • Fixed: some space issues when adding IPA symbols with Alt keys


17 September 2023

  • Fixed: exceptions in sound changes not handling rules that go across word boundaries, eg: a > o / !_##C
  • Fixed: exceptions in sound changes not handling diacritics correctly


10 September 2023

  • Recover Unsaved Language now saves most text input fields


17 August 2023

  • Minor backend changes


22 July 2023

  • Fixed: saving issue related to Arrange Korean Jamo characters into syllables


26 June 2023

  • Fixed: comments not saving properly


24 June 2023

  • Added ability to do programming style comments in using double forward slashes in settings, eg // anything after the forward slashes (to the end of the line) gets ignored by the program. This works in all input boxes as well as inside grammar editor tables, but not outside of grammar tables in the Grammar Editor
  • Fixed: stress pattern not saved when using Save Manually Entered Settings Only
  • Fixed: saving issue when having postpositions selected


15 June 2023

  • Fixed: cancelling saving a file still downloading a settings file
  • Fixed: loading a language after already loading/editing another language throws an unnecessary error message


10 June 2023

  • Fixed sublists in Grammar Editor not indenting and having inconsistent numbering style in output
  • Fixed some automatic translation issues in Grammar Tables


4 June 2023

  • Fixed: changing the Example Word when using Add Grammar Table now auto-translates the example word into each cell
  • Fixed: Adding Affix Table for adjectives never adding the example word to the table
  • Fixes to some past tense verbs in Translator


24 May 2023

  • Fixed: issue when grammar table uses multiple parts-of-speech and only has columns (no rows)
  • Fixed: formatting for grammar table types is now case insensitive (easier for people who manually change this setting) e.g. TABLE TYPE = affix can now be written all in upper or lower case


7 May 2023

  • Fixed Load language from last session not working and renamed this button to Recover unsaved language


1 May 2023

  • Added a Don’t show again button for spelling/sound change rule order issues


26 April 2023

  • Added Hindi as a Word Structure option


20 April 2023

  • Fixed: Using a single affix table to apply to more than one part-of-speech not working


15 April 2023

  • Fixed: error when using Second Spelling in conjunction with Make spelling rules sensitive to stress symbol


22 March 2023

  • App now only warns you of capitalized custom word entries one time, then assumes you want words capitalized and doesn’t keep annoying you


25 February 2023

  • Added automatic spelling for some rarer phonemes: ʡ ʕ ʢ ɥ ɧ


8 February 2023

  • Added Override stress in saved vocabulary option. This allows you to change the stress pattern of your language, despite it already the stress already saved in Add and Remove Words


4 February 2023

  • Added Inuit (Inuktitut dialect) as a pre-set Word Structure language
  • Analyse word structure of your own language notifies you if you have non-IPA in your input


28 January 2023

  • Fixed: Irregular conjugations not working in Grammar Editor
  • Fixed: words with many syllables not getting secondary stress applied to all syllables


27 January 2023

  • Fixed: Sound changes involving a single vowel changing that vowel within a diphthong (when it’s the vowel that doesn’t have the diphthong symbol attached to it). Similarly, a single vowel in Illegal Combinations banned a diphthong with that vowel in it.


26 January 2023

  • Fixed: cursor placement issues when Add And Remove Words attempts to auto-fix the notation for the placement of the : and = symbols
  • Fixed: incorrect rule order warnings for sound change rules that change location of stress


23 January 2023

  • Fixed sound change rules with [V +stress] after forward slash not working


22 January 2023

  • Fixed sound change rules that change a stressed vowel (but don’t change the stress location) not working


19 January 2023

Version 11 introduces the ability to change stress location! For example V > [+stress] / #_ changes the stress to the vowel at the start of the word (if a vowel is at the start of a word). This was surprisingly difficult to implement due to the way Vulgar handles secondary stress patterns, which is why it had been put on the back burner for many years (far too long).

For this to work correctly, the rule must be seeking a vowel (not consonant or vowel-consonant combination) and must change only to [+stress]. In grammar tables a stress change rule could be implemented after an affix is added. For example AFFIX = -o; o > [+stress] / _#, this first adds the affix -o then adds the stress to it. The / _# is needed to specially target the final o. Otherwise o > [+stress] would stress the first o in the word (if there is another one).


13 January 2023

  • Sound change rules: writing +close and +open is now valid as distinctive features. This is the same as writing +high and +low respectively; the terms are interchangeable and official IPA actually uses close and open
  • Fixed: unexpected results in sound changes that have trailing commas inside curly brackets, e.g. {a,b,} > c


10 January 2023

  • Fixed: TeX file not exporting noun genders
  • Fixed: some issues with warnings about capitalizing English words in Add And Remove Words


4 January 2023

  • Fixed: alt keys for IPA not replacing highlighted text


31 December 2022

  • Vowel Tones option now becomes disabled when Advanced Word Structure is selected, as tones need to be done through the Advanced Word Structure itself
  • Fixed: words with IPA but no part of speech (no colon symbol) not added to dictionary
  • Fixed: Add And Remove Words no longer warns you that you should not capitalize your English words if you are adding the English word “I”


30 December 2022

  • In IF statements ELSE IF and ELSEIF are now valid syntax; the standard for Vulgarlang is, after the first IF, any subsequent IFs are what most other programming languages call ELSE IF. Because Vulgar is unusual in this regard, some users have assumed ELSE IF works. So now it does!
  • Improvements to default spelling: diacritics are no longer placed above letters that ascend, those being b d f h k l t


24 December 2022

  • Fixed: custom grammar tables values re-setting when changing suffix vs prefix setting
  • Fixed: grammar word table insert a double ~ symbol when the English translation is unable to be figured out automatically


17 December 2022

  • Fixed: Save derived words to Add/Remove Words field does not work if Edit This Language button has already been pressed
  • Fixed: added warning message when trying to save a language or download .csv file before any language has been generated


16 November 2022

  • Added warning message for when users create unnecessary IF statements: eg IF #x THEN #x > y could just be #x > y
  • Fixed: issue when Advanced Word Structure is either given no vowels or no consonants
  • Fixed: issue when Advanced Word Structure is given no phoneme classes at all


11 October 2022

  • Languages without nominative pronouns (I, you, he, she, we, they) now work in Translator. To create a language like this, simple have no nominative pronouns in grammar tables, and instead inflect the doer on of the verb in verb affixes.


8 October 2022

  • Sound changes: added ability to change add word boundaries through sound changes by using > ##. For example e > ## changes all e’s to a space; X* > _##_ reduplicates the whole word with a space between it.
  • Improvements to automatic translation of verb and noun affixes in Grammar Tables
  • Fixed: descriptions of some reduplication rules


5 October 2022

  • Grammar Editor: added ability to insert possessive determiner tables, with auto translation for each cell into English. After selecting Words generated are: possessives you will need to fuse it with other categories, such as person and number. You may also want to put the Possessive value on the cols for a better layout.
  • Fixed: some issues with displaying the Advanced Word Structure affix rules


3 October 2022

  • Grammar Tables: you are now able to manually swap around the values in cols = and rows = after having inserted the table. Previously, this caused errors: the order of the cell glosses below the headings needed to be re-ordered too, eg 1.SG = needed to change to SG.1 =
  • Fixed the default order of Grammar Table glosses to be more consistent with the rows/cols/blocks headings
  • Fixed: Translator failing to translate sentences with articles in them when the language is said to have no articles


1 October 2022

  • Added warning message that custom added words should not be capitalized: default words are not capitalized, and capitalization causes issues when trying to use these words in derived words. However, this message is just a suggestion and can be ignored.
  • Removed Apply as permanent sound changes feature. This feature never altered the Word Structure phonemes; it changed the hard coded IPA in Add and Remove Words and then deleted old sound changes rules (because applying them twice to words could cause unintentional double-ups). This meant any new words simply took on the old Word Structure without the sound changes. Furthermore, the same effect can be achieved by just leaving the sound change data in the settings!


28 September 2022

  • Articles now use the part-of-speech ART, instead of DET (determiner). As articles are a subclass of determiners, you still may use DET for articles.
  • Improved automatic translations for grammar tables for articles and determiners
  • Fixed: bug where the Delete Grammar Table button got stuck and you were unable to add new grammar tables


26 September 2022

  • Improvements to automatic pronoun translation in inserted grammar tables
  • Fixed: capitalization issues with custom values in inserted grammar tables


25 September 2022

  • Fixed: IPA alt keys broken in Grammar Editor
  • Fixed: grammar word glosses doubling up in dictionary if the gloss has no English translation
  • Fixed: Grammar Table errors on custom values that doesn’t have a standardized abbreviation when there is a space in the custom value name


24 September 2022

  • When clicking inside an existing grammar table, the Replace Table section now automatically changes the settings to the correct TABLE TYPE, and part-of-speech, so that you don’t accidentally replace an affix table with a word table, or vice versa
  • Changed Grammar Tables format to use forward slashes instead of commas, to make it easier to read. Eg rows = PaST / PReSent / FUTure instead of rows = PaST, PReSent, FUTure. Commas still work, which makes old settings forwards compatible
  • Changed possessive determiners to be glossed with POSS. Previously “my” (1st person singular possessive determiner) would have been glossed as 1.SG:DET. Now it is POSS.1.SG:DET. This was simply an oversight; the gloss was completely not clear that it was a possessive determiner


22 September 2022

  • Fixed: Load Settings From Previous Session not loading Grammar Editor information in certain circumstances
  • Fixed: some popup messages not working
  • Some loading improvements and backend changes


18 September 2022

  • Added partial support to reload unsaved language from the browser’s cache, in Saving Options > Load Language From Last Session. Currently only reloads data from Vocabulary and Grammar Editor. Planning to gradually add full support
  • Custom grammar tables: new “customize” buttons make it easier to edit custom grammar values


2 September 2022

  • Fixed: diacritic IPA letters sometimes breaking Grammar Table formatting
  • Fixed: letters with diacritics in Grammar Editor being automatically combined into their single Unicode equivalent letter


28 August 2022

  • Added ability to create custom number bases other than just base-10 and base-20


20 August 2022

  • Added ability to do sound changes that go over word boundaries. Cross-word boundaries are represented by ##, for example x > y / _##z means x at the end of a word changes to y when the following word begins with z
  • Fixed: sound changes in [square brackets] not appearing in the translator output
  • Fixed: lagging issues when using CTRL+F on Chrome-based browsers


17 August 2022

  • Fixed: settings files failing to load if the language has Arrange Korean Jamo characters into syllables selected


16 August 2022

  • Fixed: unable to apply custom genders
  • Backend fixes


6 August 2022

  • Fixed: [V +stress] and [V -stress] not working in sound changes


5 August 2022

  • Fixed: Grammar table example word not able to have affixes added to it
  • Fixed: Grammar table example word not able to hook the correct word if the English definition had parenthesis in it, eg: example-word = be (located)


31 July 2022

  • Fixed: Smart Translator not able to figure out the past tense of certain English words
  • Some performance improvements


21 July 2022

  • Fixed: sound changes with +stress not applying to letter-diacritic sequences, e.g. [a +stress] worked but [ã +stress] did not


7 June 2022

  • Fixed: Allow contrastive stress option not selectable when using No Fixed Stress


1 June 2022

  • Fixed: C and V symbols not working in Illegal Combinations
  • Fixed: Ban same syllable twice in a row not working


30 May 2022

  • Fixed: sound changes that use +/-voiced not working, because the standard is +/-voice. Now both voice and voiced work


24 May 2022

  • Fixed: removing words with minus sign (-) not working when colon has spaces between word and part-of-speech, eg -word : n vs -word:n


21 May 2022

  • Fixed: derivational rules using the wrong root word in very rare cases


10 May 2022

  • Fixed: sound changes with subscript numbers after [features] and {curly brackets} not working in some cases
  • Fixed: issue with IF/ELSE rules


8 May 2022

  • Fixed: Long vowels not getting correct spelling when randomly generated
  • Fixed: Analyze Your Own Word Structure adding mid-word consonant clusters to word initial clusters when non-IPA symbols are found in a word
  • Fixed: small fixes to Welsh phonology


2 May 2022

  • Fixed: subscript numbers unable to be used after the forward slash (“in environment of” part) of sound changes, as well as in IF conditions
  • Fixed: issues with negated sound changes (using ! symbol)


30 April 2022

  • Fixed: affix and sound change rules are not displaying properly if they have a semi-colon to chain multiple processes into the one rule
  • Fixed: example sentence for Locative case


28 April 2022

  • Fixed: issue with assimilation rules in Sound Changes
  • Fixed: some grammar table warnings triggering unnecessarily


24 April 2022

  • Fixed: Neuter, Animate and custom noun genders not working in Translator
  • Fixed: Korean Jamo characters not combining in Translator
  • Fixed: Issue with saving new random vocab to an already saved language
  • Fixed: Add Spelling Diacritics button not adding the correct position if not attached to another letter
  • Fixed: settings file name format for Firefox


16 April 2022

  • Changes to Finnish phonology (now excludes loan word phonemes)
  • Fixed crashing issue when Word Patterns don’t use any uppercase phoneme classes


10 April 2022

  • You are now able to use [+plosive] as a feature in sound change rule. Previously this didn’t work because [+stop] was the standard. They are synonymous, and some people are more familiar with the term plosive, so now both are valid.
  • Fixed: applying feature changes to diphthongs caused unexpected error
  • Fixed: issues with assimilation sound change rules for vowels
  • Fixed: issue with putting uppercase letter inside the square brackets into the on the right side of the sound change rule, e.g. C > [C +voice]
  • Fixed: Advanced Affix Patterns that use IF/ELSE statements not displaying properly in the grammar


4 April 2022

  • Fixed: affixes that use the null sign (-∅) literally add the null sign to the word
  • Fixed: Grammar tables not always using the example word with the correct part-of-speech
  • Fixed: adding a new word with the equals sign right after the part-of-speech (with no space) removes the part-of-speech from the dictionary entry


26 March 2022

  • Added warning for when a word table has no word information in a cell
  • Added warning for when an affix rule is accidentally entered into a word table
  • Fixed: incorrect placement of tone diacritics on vowels with double long symbols


19 March 2022

  • Fixed: issue where the app falsely warned that sound change rules are in the wrong order


3 March 2022

  • Fixed issue where the app incorrectly warned user that their Derivational Affix name was incorrectly formatted


2 March 2022

  • Added warnings when Derivational Affix names aren’t formatted properly (must only contain uppercase letters, numbers, and full stops)
  • Part-of-Speech Morphology now checks if the part-of-speech actually exists in the language. This helps pick up on possible misspellings of the rule
  • Added some automatic formatting help for Part-of-Speech Morphology; POSs should be in lower case, eg n = and not N =


20 February 2022

  • Added warning that syllabic consonants need to go in vowel fields


12 February 2022

  • Fixed: some issues with IF THEN statements in Advanced Word Structure Affix patterns
  • Fixed: missing warning message that Part-of-speech Morphology settings cannot be edited after the language has been saved
  • Fixed: Custom added Derivational affixes sometimes not autocapitalizing if you write them in as lower case


22 January 2022

  • Added warning messages when spelling or sound change rules have potential order issues. For example, a > b being applied before ac > d is an order issue; the second rule will never apply because all a‘s have already been changed to b.
  • Fixed: some spelling rule ordering issues for presets for Dutch, German, Irish and Mandarin


15 January 2022

  • Fixed: When using Vowel Harmony (Word Structure option), randomly generated affixes did not produce consistent consonants across the IF and ELSE conditions. For example, you might have ended up with affix rules such as IF {a,e,o} THEN ma- ELSE ʃi-, which basically says “if the word has one set of vowels, then add a certain affix, else add a totally unrelated affix”. Something like IF {a,e,o} THEN ma- ELSE mi- is more desirable, because m is in both conditions.


12 January 2022

  • Added Delete table button for Grammar Editor (appears when you click anywhere inside a grammar table)


5 January 2022

  • It is now valid to create circumfixes by writing a space between hypen (eg pre- -suff) or an underscore between hyphens (pre-_-suff) due to users assuming this is the way to do it. The old way (pre-, -suf) is still valid
  • Added warning for when user assume the way to do infixes is -infix- (see sound change guide chapter on Insertion)


1 January 2022

  • Custom added Derivational affixes now autocapitalize if you write them in as lower case, in order to correct formatting. E.g. writing newaffix = converts to NEWAFFIX =
  • Custom added Derivational affixes now get their own button so that they can be easily inserted into the Derived words field


26 December 2021

  • Added: when typing custom words, Vulgar now automatically adds the part-of-speech for the English word when you press the colon key (:) or equals sign. This only works if the words is in the default vocab list. If it adds the wrong part-of-speech, it can be manually corrected
  • Fixed: sound change rule that targeted a specific stressed vowel would also change that vowel with diacritics, eg [i +stress] matched i and iː
  • Other minor fixes to sound changes


24 December 2021

  • Fixed: [+stress] and [-stress] not working in affix rules
  • Fixed: Adding C or V inside assimilation rule square brackets broke the rule, eg [@place] was valid but [C @place] was not
  • Fixed: CSV download has the conlang column named “Untitled”


20 December 2021

  • Fixed: some freezing issues with Translator
  • Fixed: changing the custom font size no longer also changes Second Spelling size
  • Minor fixes to distinctive feature sound changes


17 December 2021

  • Fixed: no distinctive features matching ɫ
  • Fixed: [+lateral] not matching ɭ
  • Fixed: [+fricative] not matching ɮ, ɬ, ɧ and ʍ
  • Fixed: [+voice] not matching w
  • Fixed: subscript numbers don’t work in Illegal Combinations


12 December 2021

  • Added generic warning message when app freezes
  • Fixed: screen sometimes scrolling too high when clicking Edit This Language


4 December 2021

  • Generate unique name button changed to Generate place/character names to clear up confusion; some users thought it changed the language name
  • Pressing Edit this language takes you to the Vocabulary settings in order to make it slightly more obvious what the button does; there has also been some confusion from users not understanding what the point of the button is
  • Fixed: grammar tables that apply to multiple parts of speech cause wrong information to be populated to subsequent tables


30 November 2021

  • Fixed: Irregular spelling of a word no longer applies to homophones of that word
  • Simplified numbers section information to fix inconsistencies in the output, due to not having settings controls for how higher numbers are formed, eg: no ability to control whether 21 should be formed as “twenty one” or “twenty and one” or “one and twenty”, etc. If you want to document this kind of information for your conlang, you should simply write about it the Grammar Editor.


25 November 2021

  • Added ability to make grammar tables apply to more than one part of speech by commas separating them in the table’s code, eg part-of-speech = n, adj applies the same affixes to nouns and adjectives. Note that this does not create two tables (nor should it, since the example word would be a noun in this scenario) it just creates the affixes for adjectives in the backend, ready to used in the Translator. But don’t forget that you can always simply write about your language outside of the grammar tables and mention that “affixes for adjectives pattern the same as nouns”.
  • Fixed English Word Structure incorrectly containing r and ɾ (should only include ɹ)
  • Fixed some issues caused by tabs being used in input


21 November 2021

  • Fixed: Reflect sound changes in spelling not reflected in Second Spelling
  • Translator: fixed “you are” conjugating are 3rd person instead of 2nd person
  • Translator: fixed issue where “:ADJ” is found in current dictionary
  • Translator: fixed compound words being comma separated in the gloss
  • Fixed another derivational word issue


18 November 2021

  • Fixed a derivational word issue


13 November 2021

  • Added option to Reflect sound changes in spelling. Previously, sound changes were always reflected in spelling. Now, by default they are not, which makes it easier to simulate sound changes over time that retain the original spelling, e.g. what happened to English over a few hundred years!
  • Changed the naming of IPA “ALT” keys to “keyboard shortcuts” to avoid connotations of Numpad ALT key codes


10 November 2021

  • Fixed: Sound Changes being applied twice to derived words and words inflected by grammatical affixes/sound changes
  • Fixed: some issues with sound changes and spelling changes involving environments left of the underscore symbol
  • Derived words: added more warning messages for incorrectly formatted derived word formulas
  • Custom Phonemes: tie-bars no longer automatically applied consonant clusters
  • Fixed: error when adding AWS Affix Patterns that don’t have any phoneme classes
  • AWS Affix Patterns can now be left bank; no longer forces you to have any affix patterns


5 November 2021

  • CSV export: when a single conlang words can be translated to multiple English words, the English words are no longer split onto multiple lines/multiple entries


1 November 2021

  • Fixed: adposition feature being blocked by Ad Blockers that interpreted it to mean “ad position”


28 October 2021

  • Added ability to choose adposition
  • Fixed adposition not working in translator


26 October 2021

  • Fixed: Irregular spelling not saved properly when used in combination with Second Spelling
  • Fixed: Vowel Tones feature adding diacritic tones after long vowel symbols


22 October 2021

  • Fixed vowels with relative diacritics not appearing in vowel chart. The following centralized vowels now appear: ä ɒ̈ ɪ̈ ʊ̈; the following lowered: e̞ ø̞ œ̞ ɯ̞, ɤ̞ o̞; and the following raised: ɑ̝ ɒ̝
  • Fixed various less common affricates not appearing the consonant chart
  • Consonant chart: merged epiglottal stop into pharyngeal column
  • No Spelling no longer displays the Numbers section, since the Numbers section only uses the spelling


19 October 2021

  • Grammar Editor: when you click on a grammar table you now have to the option to Replace This Table
  • Fixed some legacy issues with old formatting of Grammar Tables
  • Fixed: unable to expand Add And Remove Words and Derived Words input boxes horizontally
  • Fixed: some layout issues with smaller mobile screens


17 October 2021

  • Advanced Word Structure: If you need more than 26 classes, the following Greek letters can be used: ΓΔΘΛΞΠΣΦΨΩ
  • Fixed: some instances of derived words not working


16 October 2021

  • Added warnings for when derived words cannot find the root word
  • Fixed: default derived words sometimes using wrong part-of-speech of a word
  • Fixed: Custom noun genders with spaces in the name put a space in the abbreviation, eg Non Binary resulted in nn b.; now results in nnb.


11 October 2021

  • Fixed: Number base not saving to settings
  • Fixed: Font issues with HTML file download


10 October 2021

  • Grammar tables: deleting the entire information for a cell (eg, the AFFIX.TAG = part) now creates a totally blank cell. Previously it assumed the user must have accidentally deleted the cell and re-inserted it. This now allows users to deliberately have blank spaces in their grammar tables.
  • Fixed: Reduplication affixes sometimes created even when AWS Affix Patterns don’t allow them
  • Fixed: Phonemes that appear in Word Patterns (and not Phoneme Classes) not added to the phoneme charts
  • Fixed: some incorrect phonemes appearing in “Your Phonemes” buttons when using Advanced Word Structure


9 October 2021

  • Derived words: affix tags with bar symbols (|) would re-randomize which affix the derived word got each time the language was loaded. This resulted in a different word each time. These words will now be hardcoded into the Add And Remove Words section when saved, instead of being left as a derivational formula in the Derived Words section. Same with single use -AFFIX, -SUFFIX and -PREFIX tags.


7 October 2021

  • Added Disable Alt Keys button. Alt Keys are sometimes needed for non-English keyboards
  • Added Alt Key for syllable symbol σ to S key
  • Fixed: Second Spelling not showing up in Translator
  • Fixed: issues with exclamation marks and question marks in Translator
  • Fixed: Translator unable to translate English word “an”
  • Because Smart Translator can only translate one sentence at a time, it now deletes secondary sentences from the input box so that it is more obvious what the output translates to.
  • Fixed: issue where some totally unrelated English definitions were combined into one entry


27 September 2021

  • Add Grammar Tables now automatically inserts a heading for the table (which can be edited after the fact!)
  • Fixed: words with root part-of-speech getting incorrectly saved with the old br part-of-speech
  • Fixed: Max consonants before/after vowel options not working unless Custom Phonemes are being used


23 September 2021

  • Sound changes: added ability to do assimilation rules. For example, n > [@place] / _[@place] means “change n to the place of articulation of the following consonant”. This would change “inpossible” to “impossible” and “inkomplete” to “iŋkomplete”. See sound change page for longer explanation. This feature is experimental, so please point out any bugs you find with it!
  • Noting that the @ symbol used to be used for reduplication (version 10.5.2 and earlier), if you have any old rules that used @ this now needs to be updated to the underscore _. We decided not to make the app update this automatically as we don’t think it’s a very common scenario and should be easy to update manually.
  • Changed some spellings of some words from British to US spelling


21 September 2021

  • Number section is no longer listed in the Grammar Editor, since it’s always been something that’s controlled within the Vocabulary settings and merely reflected in the Grammar Editor. A new List numbers in grammar section checkbox can be toggled on and off.
  • Added warnings that changing phonology settings don’t affect anything after a vocabulary is fully loaded into Add And Remove Words
  • If you check off Add And Remove Words after a language has been loaded, the app assumes you also want Remove All Default Words checked off, and does so automatically
  • Fixed some instances of default vocab words not always appearing the dictionary


18 September 2021

  • Added reduplication rules for certain grammar values. E.g. the way to form a plural noun may be to reduplicate the whole word (if fiz means “dog” then fizifz means “dogs”) or part of the word (fifiz to mean “dogs”)
  • Fixed: unable to enter a tone in the Tones section using an alt key shortcut
  • If a user adds only a single Noun Gender they are warned that this is same as a having no gender at all.
  • Temporarily removed certain words that aren’t polysemized with other words. The plan is to re-add these words when they can be polysemized with other words. Eg it doesn’t make sense to have a words for “stunning” that is totally unrelated to “amazing” or some similar synonym


13 September 2021

  • Sound changes: whole match reduplication has been changed from the @ symbol to the underscore _ symbol. The @ symbol was an arbitrary choice which is not used anywhere else in the linguistic world, whereas the underscore conceptually similar to how it’s used after the forward slash. No idea what any of this means? Check out the sound change guide. (Additionally, we are planning to use the @ symbol for something else in an upcoming update.)
  • Sound changes: there is now a difference between using the asterisks with or without round bracket: eg (X)* still matches zero or more “X” in a row, however X* has been changed to match one or more X in a row.
  • Fixed: some warning messages for incorrectly formatted spelling rules
  • Fixed: some Grammar Editor stuff using old ((double brackets)) instead of {{double curly brackets}}
  • Fixed: some incorrect spelling rules for natural language presets

12 September 2021

  • Moved Number base option to below Add And Remove Words and added warning that it can’t be changed after having saved a language
  • Added warning for when custom spelling rule are missing the > symbol
  • Fixed: Advanced Word Structure (AWS) patterns for nouns not being applied to gendered nouns
  • Fixed: AWS Affix Patterns not able to do affixes with a space between the hyphen and the phonemes
  • Fixed: AWS Affix Patterns issue when TABLE TYPE = suffix or TABLE TYPE = prefix, generator was unable to recognise AWS affix patterns that have IF/ELSE statements in them as being prefixes or suffixes, which resulted in incorrect affixes being used


10 September 2021

  • Stress Pattern option changed to drop down menu and moved to bottom of Phonology settings tab
  • Stress Pattern “Random” label changed to blank, so as not to be confused with “No Fixed Stress”
  • Derived words: underscores are now automatically inserted in formulas where it’s obvious that it’s not meant to be a compound word. Background: In formulas for derived words, a space creates a compound word of two different entries, eg newword : n = war god takes the entry for “war” and then the one for “god”. Issues arise when the single entry has a space in it “shut up” (as in ‘to be quite’), in which case the spaces must be replaced by underscores to signify its a single entry newword : n = shut_up. Some users have been observed making this mistake when the entry has comma separated words eg, “able, capable” should be written as able,_capable. The program will now auto correct able, capable to able,_capable.
  • Changed probability of randomly assigning noun gender to the language (previous probability made gender too common)
  • Fixed: animate/inanimate nouns still having old abbreviations applied to them in the dictionary entries (before version 10.5.1 they were ANI/INA, and are now AN/IN)
  • Fixed: some animate nouns not getting animate class applied to them
  • Fixed: Randomly generated animate/inanimate noun tables having no example words
  • Removed Remove Diphthong Symbols checkbox. This option also removed diphthong symbols from IPA, which should technically never happen. For spelling, it is easy enough to create rules to remove the diphthong symbol.

6 September 2021

  • In an effort to simplify the somewhat-overwhelming amount of information presented to users, information about the Word Initial/Mid/Final consonants is no longer displayed in the final output of the language. This information is still easily accessible if you press Edit This Language and go back to the Word Structure option
  • Added warning message for when users accidentally think /y/ is a consonant

5 September 2021

  • Fixed issue where word tables were sometimes treated like affix tables
  • WorldAnvil BBCode: fixed [br] tags not being added, causing some text to be all on one line
  • WorldAnvil BBCode: fixed [alt] tags left in code
  • WorldAnvil BBCode: fixed Second Spelling causing [s2] tags to be left the code

3 September 2021

  • Advanced Word Structure: fixed inability to make word patterns for bound roots using root =
  • Advanced Word Structure: fixed inability to attach diacritics to uppercase phoneme classes in word patterns
  • Advanced Word Structure: fixed Affix Pattern input box not handling precomposed IPA symbols correctly
  • Grammar Editor: fixed randomly generated affix/word in tables a not deduplicating with custom added ones

31 August 2021

  • Fixed: unable to make derived compound words out of three words in a row, eg: new word = one-two-three
  • Fixed: unable to make derived compound words one of the target English definitions has a parenthesis in it, eg: mortgage = life_(lifetime)-debt
  • Fixed: exceptions to rules not working when there is a something on both sides of the underscore eg, a > b / !c_d

29 August 2021

  • Fixed +/-stress feature not working in sound change rules

25 August 2021

  • Added warning that custom Advanced Word Structure phoneme classes cannot be used in Sound Changes
  • Added warning for when a Sound Change rule is missing the forward slash /
  • Fixed: various Sound Change issues involving diacritics
  • Fixed: HTML download having garbled output

24 August 2021

  • Added some common words that were somehow left out of the default vocab
  • Fixed: issue where sound changes could place phonemes in wrong position in IPA chart


21 August 2021

  • Changes to abbreviations: “neuter” gender was N, is now NT (so that it is different to N for “noun”); “animate” was ANI, is now AN; “inanimate” was INA, is now IN.
  • Going through default dictionary to better clarify senses of words, eg “thin (narrow)” vs “thin (slim, slender)”. Also added more random polysemy (both of these tasks are ongoing).
  • Fixed: Basic version Translation accidentally being labelled “Smart” Translator
  • Backend changes


14 August 2021

  • New interface for Insert Grammar Tables
  • Fixed: capitalization issues when inserting custom values into Grammar Tables
  • Fixed: automatic spelling rules not created for Vowel Harmony
  • Fixed: minor spelling mistakes in default vocabulary

11 August 2021

  • Regenerate Language button renamed to Apply New Changes (old label seemed to have caused some confusion with users)
  • Fixed: spelling rules that have multiple replacement possibilities (using bar | symbol) selecting the same replacement for entire word

7 August 2021

  • Sound changes: fixed various issues where “except for” environments had more than one phoneme, e.g. the Vz part not working in the rule x > y / _V !_Vz
  • Added ability to remove custom uploaded font

24 July 2021

  • Fixed some “in environment of” style rules not working
  • Fixed Grammar Tables that have just a single block value not generating properly


22 July 2021

  • Format change: Bound roots now use the part-of-speech root (old files convert br to root). Reason for this change is that some users used root as a placeholder without realising br is a thing, and root is the more obvious choice anyway.
  • We are going through default dictionary to better clarify senses of words, eg “thin (narrow)” vs “thin (slim, slender)”. Also added more random polysemy (both of these tasks are ongoing).
  • Fixed: derived words that have parenthesis in their definition not overriding the default non-derived word.


10 July 2021

  • Sound changes: fixed “last match” >> style changes not working in some specific scenarios
  • Sound changes: fixed “except” ! style changes not working in some specific scenarios
  • Translator: fixed affix buttons disappearing after Re-Generating a language
  • Translator: fixed unable to handle certain English contractions, eg I’ve, he’s, it’s, she’s
  • Custom Noun Genders option: fixed multipliers not working, eg Masculine *2 makes the masculine gender twice as likely to be assigned to a noun as writing it without the multiplier
  • Spelling Rules: fixed app crashing when users incorrectly use = sign instead of > sign, eg x = h instead of x > h
  • Removed broken LaTeX PDF options


4 July 2021

  • Fixed: IF/ELSE style rules now work in global sound changes, as do last match >> and first match << style arrows. Previously these features only worked in affix rules (although they still don’t work in spelling rules)
  • Fixed: edits to language not saved if the language hasn’t been re-generated. We assume that all edits are intended to be saved, even if the user forgets to re-generate before saving!


24 June 2021

  • Sound Change Applier now adds in subscript numbers if they are accidentally omitted, for example: VV > VxV converts to V₁V₂ > V₁xV₂ so that ao will change to axo. Previously, the rule would replace ao with literally VxV. Another example: V > VV converts to V₁ > V₁V₁, so that a changes to aa
  • Spelling rules with a random choice of spelling trigger Edit This Language to hard code irregular spelling into Add And Remove Words
  • Accidental uppercase IPA is converted to correct lowercase in Add and Remove Words, word tables and Language Name (does not work for affixes yet)
  • Fixed: Irregular spelling causing grammar words to enter dictionary twice
  • Fixed: Irregular spelling not working when incorrect IPA is used, eg colon symbol instead of long symbol


21 June 2021

  • Added ability to do irregular spelling for particular words in Add and Remove Words option by putting the spelling in angled brackets <> at the end, eg: english : POS : pronunciation <irregular spelling>. Note that there are a few small issues with this feature at the moment: as soon as you add an affix or sound change to the word it defaults back to the regular spelling rules; irregular spelling will also change the spelling of any homophones
  • Fixed: clicking Edit This Language with Sound Changes checked deleting the entire vocabulary from Add and Remove Words


15 June 2021

  • The app now generates a language even if there aren’t enough phonemes to generate 4000 unique words. Will simply warn you there weren’t enough phonemes and potentially give you lots of homophones. This allows users to experiment with small inventories
  • Add Grammar Table automatically translates cells to English (some gaps exists)
  • Add Grammar Table automatically makes certain affixes null, such as Singular, Present, Nominative, etc (this can still be edited after inserting the table)
  • Fixed derived words that use other derived words as the root not working when the root has a part-of-speech added to it
  • No fixed stress is no longer a randomly chosen option (although it can still be manually selected). This is because there are a few unresolved issues with No fixed stress: the stress location on Derived Words re-randomized each time you generate the language, and there is no standardized way to apply stress to inflected words, which means it re-randomizes each time in the translator. For these reasons, you may want to avoid the No Fixed Stress option.


6 June 2021

  • Revamped Add Grammar Table settings
  • Removed Anglicize randomly generated language names option. This option is on by default, and the English name of the language can be edited after generating if needed
  • Fixed: Translator broken in Basic version
  • Fixed: Translator not recognizing new changes to vocab without re-loading the settings file
  • Fixed: Unable to save Derivational Morphology rules
  • Fixed: saving language not suggesting language name as file name (Chrome and Edge only)


1 June 2021

  • Fixed TABLE TYPE = suffix and TABLE TYPE = prefix not working
  • Fixed Advanced Word Structure not creating automatic spelling rules for consonants
  • Fixed affix tag names unable to have IF, ELSE or THEN anywhere inside the name, e.g. “SHIFT” was an invalid name
  • Fixed warnings sometimes not thrown for invalid IF/ELSE syntax in affix rules


24 May 2021

  • Added ability to create irregular affix tables for specific words. See guide here.


21 May 2021

This is a minor version number update due to a revamp of the Sound Changes feature (in the Phonology tab):

  • Sound Changes with Show Changes in [Square Brackets] and Apply As Permanent Changes checked off allows you to save the pre-changed word forms to the Add And Remove Words section (when you press Edit Language). In the past, having Show Changes in [Square Brackets] and Apply As Permanent Changes checked off did absolutely nothing besides list your theoretical changes in the final output. (This was sort of meant to represent theoretical allomorphy without ever applying it). The new feature gives you yet another avenue to tweak the phonotactics of your language, especially after affixes have been added to derived words.
  • Another big change is that Vulgar no longer selects random sound changes for languages. We know this may upset some people, however these random sound changes were never actually based on good data about likely sound changes from real-world languages. Even how many random changes each language should have was a bit of a wild guess. At best, this was slightly misleading, and at worst it sometimes generated poor sound changes.
  • Fixed: Settings file now saves as .txt instead of .vulgar in order to fix .vulgar files being unrecognized on iPhone devices.


4 May 2021


  • Word Patterns can be multiplied to make them more probable, just like how phonemes can be multiplied, e.g. SSS*3 is a shorthand way of writing out SSS three times
  • Ability to write = -Random to make a random suffix vs = Random- to make a random prefix


  • Hanging issues when custom Derived Words are missing the equals sign
  • Sound change rules adding diacritics to phonemes that already have that diacritic, e.g. V > [+long] adding long symbol to vowels that already have the long symbol
  • Sound changes to something that takes away a diacritic not working, e.g. > [-long]
  • Unable to make a word in word table or affix literally be “random” without it randomizing the output. Note that the correct way to randomize the output it capitalize it as = Random
  • Some issues with Second Spelling Rules with “in environment of” conditions
  • Some issues with file names of HTML/PDF download
  • Removed small caps ᴅ from alt keys (no longer used)
  • Spaces written inside square brackets in Illegal Combinations no longer behave as a separator for a new rule. Eg you can write C[V +high] and program won’t think its two patterns of C[V and then +high]


15 April 2021


  • Bound Roots now use the br for the part-of-speech instead of r, eg water : br, since not all roots are bound roots.
  • Add Grammar Table button now automatically changes “command” to “imperative”, and “distant past/future” changes to “remote past/future”. These are the terms that linguists use


  • Bound Roots not being saved into settings files
  • Ban same syllable twice in a row not working
  • Advanced Word structure: unable to add segments that don’t make up a complete phoneme (eg tone symbols by themselves) to an uppercase class
  • Tone buttons and Alt Keys not working when tone is represented as superscript numbers or diacritics
  • Load Language: .text files not discoverable in input dialogue screen
  • Some heading size issues in grammar section
  • Uppercase C not matching pre-nasalized stops and affricates with tie-bar
  • Arrange Phonemes In Naturalistic Ranking not arranging diphthongs correctly


30 March 2021

  • Fixed: issue where some permissible consonant-vowel combinations are never generated in words
  • Fixed: word for “male” being given neuter gender by default (whoops)


13 March 2021

  • Remove Diphthong Symbols option is now checked off by default. This highlights the importance of using the diphthong symbol when using Advanced Word Structure — two vowels next to each other are not automatically converted into a diphthong in AWS!
  • Stand alone combining diacritics in spelling rules can be attached to the dotted circle symbol (◌) so that the symbol is not floating mid-air, eg: ◌̃ > n
  • Added generic rising and falling buttons to Vowel Tones, and ability to use corresponding diacritic symbols: ◌̌ ◌̂
  • Fixed: automatic spelling rule issues with tie-bar affricates and long vowels
  • Fixed: spelling rules sometimes ordered differently between randomly generating them and pressing Edit This Language
  • Fixed: /ẙ/ not recognized as a valid vowel
  • Fixed: Advanced Word Structure unable to make word patterns for numerals (as a part-of-speech pattern)
  • Fixed: sound changes for final match “>>” not matching diphthongs correctly


19 February 2021

  • Changed default font so that it matches the IPA fallback font a lot better. Also fixes some very minor rendering problems in Firefox.
  • Grammar Editor: formatting for grammar tables has changed, however the old formatting still works (no need to update your old settings files!). AFFIX TABLE is now TABLE TYPE = affix, WORD TABLE is TABLE TYPE = word, etc.
  • Grammar Editor: {{double curly brackets}} now also pull conlang words from the dictionary. Curly brackets find single entries, eg: if there is a single word for 2nd person plural pronoun, {{you all}} would pull it, whereas round bracket method treats each word as separate, so ((you all)) would pull the single word for “you” then “all”.
  • Grammar Editor: fixed empty code blocks displaying incorrect error message
  • Word Structure Analyser converts uppercase letters to lowercase. Since you should be using IPA anyway, uppercase letters can be assumed to be indented as lowercase IPA.
  • Added more random polysemy
  • Fixed: Polysemized words may end up with wrong part-of-speech
  • Fixed: contour tones not combining properly in Vowel Tones field
  • Fixed: some mobile browsers auto-converting regular keyboard spaces to non-line-breaking spaces, which ruins some of the custom code for Grammar Editor, Add/Remove words, etc.


9 February 2021

  • Added border color change around the app for when a language is in edit mode or has been loaded vs. a language that has not in edit mode or has not been saved in any way
  • Custom words can be added without a part-of-speech. The generator still warns you that the POS is missing, however this can be useful for users who are experimenting with a word list and haven’t had time to add part-of-speech information
  • Improvements to derived word function: in cases where the conlang word has polysemy, a derived word formula now always pulls the conlang word that uses the target English word as the first definition (where previously it was possible to pull a conlang word that has the English word not the first definition)
  • Added more random polysemy
  • Fixed: Grammar Tables unable to display χ properly


19 January 2021

  • Sound Changes: backtick (`) has been replaced by using curly brackets to capture multi symbol patterns that have subscript numbers after them. For example: what was previously `CV`₁`CV`₂ > `CV`₂`CV`₁ is now {CV}₁{CV}₂ > {CV}₂{CV}₁. This is because we wanted subscript numbers to be able to be used with curly bracket sets, eg: {t,l}₁ > {t,l}₁{t,l}₁
  • Sound Changes: added ability to use subscript numbers after distinctive features, which means that something like this is now possible to do: [C +stop]₁[C -stop]₂ > [C -stop]₂[C +stop]₁ / V_
  • Smart Translator now only translates the first sentences given to it (where previously it would simply fail to translate at all)
  • Added warnings for when cell information for Grammar Tables are missing or not formatted properly
  • Fixed: σ* not working in Sound Changes
  • Fixed: clicking Edit This Language or saving a language with Remove Translations selected causes HTML to populate into Add And Remove Words
  • Fixed: clicking Edit This Language with Equiprobable frequency selected does not make phonemes populate to Word Structure
  • Fixed: unable to re-loading a settings file after it’s already been loaded into the program
  • Fixed: custom font not being used in double brackets and Numbers section
  • Fixed: some issues with sound change rules with word boundaries inside curly brackets
  • Fixed: syllabic consonants not working in Advanced Word Structure


9 January 2021

  • Legacy uppercase shorthand phoneme classes are no longer supported as they are non-standard in linguistic literature. Use distinctive feature notation instead. Only valid classes are C for consonant, V for vowel, and X for any phoneme
  • Sound changes: added ability to target particular [+/- stress] vowels, eg [i +stress] targets a stressed /i/
  • Added information about the uses of articles
  • Added more random polysemy
  • Sound changes: -> now equivalent to > (which is also equivalent to writing )
  • Fixed: Illegal combinations not warning you about invalid patterns
  • Fixed: alt key for secondary stress not working
  • Removed Show Frequency Stats option for consonants and vowels. This was mostly needed in older versions of the program just to have the frequency order of randomly generated inventories so that the same word structure could be reproduced later. Edit This Language now covers this function.


28 December 2020

  • Sound changes: Added stress as a distinctive feature, eg: [V +stress] or [V -stress]. This enables you to make changes such as turning unstressed vowels in schwas: [V -stress] > ə. Note that this feature works in Sound Changes but not in affix rules (known bug).
  • New option to chose whether derived words are saved to the derived words field or mixed in with Add/Remove words
  • Fixed: no spelling rules generated for long consonants
  • Fixed: cursor placement issues in Grammar Editor using IPA buttons
  • Fixed: some issues when using semi-colons in affix rules
  • Fixed: LaTeX file not creating dictionary subheadings for digraphs


12 December 2020

  • Added Upload custom font feature
  • Added support for sound changes to change to multiple features, eg: C > [-voice +nasal]. Learn more on the sound change guide
  • Vulgar has reverted back to using keyboard g instead of the special IPA symbol ɡ because we realized that the International Phonetic Association considers them both to be valid. Although the use of ɡ is somewhat common, it can cause unnecessary confusion given that most people aren’t aware it’s different to the keyboard g. Old settings files will be automatically converted.
  • Fixed: sound changes in grammar tables unable to do any featural changes


25 November 2020

We’re doing a new major version because of a few changes to Sound Change notation (which includes spelling rules). The changes are being made to in order to use the same notation that linguists use for optional patterns (round brackets). This means we’ve had to shift around how some other notation works to make things work. Although small changes, if you used any of the following, you will need to update your rules, or continue using version 9.

  • As mentioned, optional patterns will now be in round brackets instead of using the question mark: what was a > e / _C?# is now a > e / _(C)#.
  • Star symbol * still makes an optional pattern mean zero or more of that pattern. Although this is not the convention used in linguistic literature, it is extremely useful, as the alternative is to define the maximum number manually, e.g. (C)(C)(C)
  • You can now use subscript numbers (₁₂₃₄₅₆₇₈₉) after an uppercase shorthand letter to mean the same phoneme as the other one, eg: b > p / V₁_V₁ means change b to p between two of the same vowels. Compare with V_V which means between any vowels, same or different. For ease of typing, regular numbers also work e.g. V1_V1.
  • This new subscript number method was previously achieved in Vulgar with what is called “backferences”, which used numbers to refer back to what was captured in round brackets, eg: (V)(V) > 21 swaps the first and second captured vowel in a row around. Under the new system, this would be V₁V₂ > V₂V₁. You may also subscript a whole pattern by enclosing it in backtick (`) quotes: `CV`₁`CV`₂ > `CV`₂`CV`₁
  • Additionally, previously the number zero 0 replaced the whole match with itself. This is now the at symbol @ on its own.
  • Advanced Word Structure: To change probability of optional pattern, write a(S)50% makes the S pattern appear 50% of the time.

Other new features:

  • Fixed: Sound Change Notation not working in Second Spelling option
  • Improved slow generation time when using Second Spelling option
  • Null symbol is now the correct ∅ symbol, instead of the Scandinavian letter Ø. Legacy settings files will be auto converted.
  • New Alt keys: added null symbol ∅ to “O” key, and subscript numbers ₁₂₃₄₅₆₇₈₉ to number keys