Vulgar: Language generator



12 October 2019

  • Advanced Word Structure classes can be multi-phoneme strings eg: A = ari los ma. Previously they could only be made up of single phonemes all separated by a space
  • Grammar editor: Using double brackets to pull word from dictionary now returns just the spelling of the word with no formatting
  • Fixed: Vowel Probabilities causing hanging issues
  • Fixed: Display issues with shorthand symbols in spelling rules & Apply default spelling rules as well as custom rules checked
  • Fixed: Issue with ALT keys sometimes not populating to Grammar Editor
  • Fixed: Advanced Word Structure showing incorrect syllable structure and phoneme frequency info in final output
  • Fixed: Advanced Word Structure not showing "Your Phonemes" list in Spelling section


2 October 2019

  • The new Advanced Word Structure: What was previously "Advanced Word Structure" is now called "Word Structure" and the new Advanced Word Structure is a whole new method of defining words, which enables you to define phoneme classes and how they pattern in words. This gives you even finer control over the formation of words, specifically of how syllables are formed.
  • Spelling rules: added Arrange Korean Jamo characters in syllables. For people using the Korean script, you can now map IPA symbols to Hangul Jamo letters and they will combine into correct Hangul syllables in the final output
  • Vocab: Added more random polysemy (where one conlang word translates to two or more different but related words in English)
  • Settings file: now saves with date and time in file name
  • Fixed: clicking "naturalistic ranking" or "natural with randomness" auto-checked "fast dropoff" even when "medium" was checked
  • Fixed: cursor placement of Your Phonemes buttons in custom spelling area
  • Fixed: Adding words with += method producing wrong word
  • Fixed: Save as Custom Words Format no longer uses += method, which means you don't have to check Remove all default words (although it's advisable)


8 September 2019

  • Phoneme frequencies changed to Dropoff rate, which is now a choice between a fast, medium and equiprobable dropoff. What was previously "Naturalistic" is now labelled "fast" and the default is "medium". Although "fast" uses formulas based on actual research on ranked phoneme frequency, I was finding it a little unsatisfying with long lists of consonants clusters, because the right-most entries were so rare that they never even appear in the dictionary.
  • Settings file saves with language name in filename
  • Fixed: Various styling problems with the final output of the Grammar Editor
  • Fixed: Custom words not overriding words that happen to be in the default derived word list
  • Fixed: Custom conlang word will not be randomly generated for another English word
  • Fixed: Derived word missing from vocab in evolved languages
  • Fixed: Issues with saving checkboxes to settings file
  • Fixed: Your Phonemes sometimes not behaving as expected
  • Fixed: Words appearing in sample sentence as "undefined"
  • Fixed: Minor styling problems with Save file as HTML


20 August 2019

  • Vocab: Added more random polysemy (where one conlang word translates to two or more different but related words in English)
  • Gramamr editor: Re-inserting default grammar sections now uses the black code block format instead of ((double brackets)) and there's buttons to insert them automatically.
  • Gramamr editor: Added ability to remove default Spelling and Phonology section. This allows for maximum customization of the documentation of your language; you are not longer restricted to the default way that Vulgar presents the information. Also added ability to re-insert Consoant table, Vowel table, Spelling table into your custom documentation.
  • Gramamr editor: You may add affixes in double brackets when pulling words from the dictionary, eg: ((dog-NOUN.PL)). This can be done so long as the affix has already been created in a table above it. Affixation can also be used in the 'inflect =' part of the affix table, eg: inflect = dog-NOUN.TO.ADJ. This feature has actually exited since 9.1 but was accidentally not advertised.
  • Affix tables: Added ability to inflect different word based on gender. Writting 'inflect M = dog' only applies to word 'dog' to masculine cells in the table. See guide for more.
  • Affix tables: Added ability to specify what the inflected example translate to inside the table using the same method as in Word tables, eg: 'NOUN.SG > dog' and 'NOUN.PL > dogs'
  • Affix tables: Randomly generated tables now automatically deduplicate words/affixes within in the table.
  • Gender: in a language with Masculine and/or Feminine gender, gendered words (such a man/woman, brother/sister, king/queen, etc) now automatically take the correct gender
  • Illegal Combinations: Adding a single phoneme to Illegal Combinations now removes it from vowel/consonant chart; acts as a blacklist for phonemes when letting the program decide
  • Custom vowels: Any consonant can be added to the edges of vowels to make a diphthong. Where previously only semivowels were valid, now something like 'ar' counts as a valid vowel
  • Removed Phoneme Frequencies "random" option because it performed basically the same function as Arrange Phonemes In "natural with randomness"
  • Fixed: Pronunciation and spelling being listed in wrong columns when using custom spelling
  • Fixed: question mark appearing in spelling rules table when tie bar is present anywhere in phonemes
  • Fixed: only first syllabic consonants in custom vowel input box showing up in word generation
  • Fixed: unable to control syllabic consonant frequencies
  • Fixed: syllabic consonants not populating to Your Phonemes section
  • Fixed: Ban same vowel twice in a row not working for syllabic consonants
  • Fixed: Ban same vowel twice in a row not working for 2nd vowel group
  • Fixed: Ban same vowel twice in a row not working for half long, extra short, double long, and in some diphthongs with length symbols
  • Fixed: Phonotactic Analyser not inserting phonemes in correct frequency from left to right
  • Fixed: Arrange phonemes in removing diphthongs with semivowels
  • Fixed: Certain combinations of consonant clusters at end of word being cut off in IPA
  • Fixed: Random grammar tables having underscores in the headings
  • Fixed: Noun section appearing even when it has no information
  • Fixed: Tone information not being documented in Vowel section of final output
  • Fixed: Shorthand symbol for stop (S) matching affricates with tie bar
  • Fixed: Shorthand symbol for diphthongs (M) not matching triphthongs and some diphthongs with length symbols
  • Fixed: Part-of-speech morphology sometimes not working


23 July 2019

  • Added new Rich Text Editor for Free Form Grammar (renamed to "Grammar editor"). Note that this may make previous settings files incompatible with 9.1
  • Added more random polysemy (where one conlang word translates to two or more different but related words in English)
  • Added ability to click into input boxes without having to manually click the on/off slider
  • Added ability to pull dictionary words into anywhere in the Grammar Editor using ((double brackets)). EG: Writing ((dog)) anywhere in a paragraph pulls the word for dog from the dictionary.
  • Phonological changes: Added Show changed form separately [between square brackets] option, which is now unchecked by default. When unchecked, the phonological changes get applied to the IPA between the forward slashes, and no sqaure bracket version is shown. Additionally, the final spelling works from the changed form of the word, so the spelling rules may need to account for those changes. However, when checked, it works exactly the same as it used to be.
  • Removed Illegal combinations are sensitive to stress symbol. It now automatically checks each rule for stress symbols, and adjusts accordingly.
  • Change alphabet order can be used without having to select Custom spelling
  • Added more phoneme arrangement options
  • Added support for all non-standard secondary articulation IPA symbols, now that the new Noto font has fixed the sizing for them. They won't get their own buttons, but they can always be copy-pasted in.
  • Added support for superscript symbols to be pre-articulation, such as ᵐb ʰt
  • Added stress symbol buttons in Extra articulation symbols
  • Tweaks to various consonant probabilities to be better reflect real world data
  • Adding a diphthong diacritic or tie bar diacritic to custom phonemes automatically unchecks Remove diphthong and tie bar diacritics
  • Changed "affricate tie" symbol to "tie bar" (it's not always used with affricates)
  • Insert new grammar table has suffix and prefix checkbox
  • Changes to automatic spelling choices: retroflex consonants spelled with underdot
  • Added Show frequency stats options. This will allow you to tweak the frequencies on some phonemes while still keeping the naturalistic dropoff rate mostly in tact
  • Fixed: default spelling incorrectly putting diacritic markers on short vowels when there is a long-vowel equivalent
  • Fixed affricate shorthand symbol (A) matching non-affricates that have a tie bar
  • Fixed affricates that use tie bar not showing up in consonant chart
  • Fixed double-up affricate tie bars when they have been added manually
  • Fixed issues caused by trying to remove words that aren't in the default dictionary
  • Fixed issues with long symbols (ː) being removed from output
  • Fixed Evolve button changing alphabet order and not obeying custom alphabet order
  • Fixed issues with semivowels in diphthongs, which could cause incorrect affixes and double up words.
  • Fixed vowel tone buttons adding contour lines when superscript number option is selected
  • Fixed some hanging issues relating to Phonological Rules
  • Fixed curved apostrophe symbol being confused with ejective symbol. Curved apostrophe symbol is now automatically converted to ejective symbol.
  • Fixed Ban same vowel twice in a row not banning double-up diphthongs
  • Fixed bug where using $& in affix rules causing display issues in the affix tables
  • Fixed PDF subtitle resetting to "A definitive dictionary" after each new language
  • Fixed Change alphabet order sometimes making minor ordering errors
  • Fixed randomly generated affixes not accounting for vowel harmony
  • Fixed bug when removing words: some words could not be removed if they always appear with another word (eg: "buy, purchase")
  • Fixed being unable to put shorthand (uppercase) symbols inside RegEx square brackets
  • Changed to US spelling for default dictionary (the Oxford style spelling seemed to be satisfying no one, since its kind of a mix of British and US spelling)


29 May 2019

  • Format change: WORD TABLE's default definition is now All abbreviations translate to, and it comes out in the code a little different.
  • Format change: In order to weight the probability of phonemes, you now have write p=3, instead of p3 (to make /p/ three times more probable, for example). This is to improve readability. Writing the phonemes out multiple times is still an option.
  • More work on derived words. Trying to move away from always doing things how English does things. For one of many examples: "beautiful" may be derived from the base word "beauty", as English does, or the other way around where the base word is "beautiful", as Spanish does. This is an ongoing thing!
  • Removed various unintentional double-up words in default dictionary (note: some double up words are intentional! English may have two words for the exact same concept "woods" and "forest". Vulgar sometimes simulates this phenomenon)
  • Fixed word final consonants not working
  • Fixed Vowel Probabilities at end of word not working
  • Fixed bug where grammar changed when adding new words to existing language
  • Fixed issue where custom added conlang words could not be two words
  • Fixed bug where various default words may not end up in the final dictionary
  • Fixed Free-Form-Grammar underscores appearing in table headings
  • Fixed bug where some diacritics could end up in dictionary even when not supposed to
  • Fixed some diacritic placement issues. Some diacritic buttons populate above or to the side of phonemes with descenders: eg m̥ vs ŋ̊, and b̟ vs β˖
  • Fixed Free-Form-Grammar spacing issues between headings and paragraphs
  • Fixed minor typos in grammar section
  • Removed pop-up questions marks from HTML output file


12 May 2019

  • Free Form Grammar changes: you now have to write axis 1 = instead of just 1 = (and same for axis 2 and 3). This is so that 1 = can be reserved for when an affix abbreviates to just the number 1, like for '1st_person'. Additionally, labels can have an underscore, which will be replaced with a space in the table column/row.
  • Free Form Grammar: added ability to individually re-insert randomly generated sections into the free form grammar by writing ((Nouns)), ((Verbs)), etc. This allows you to pick and choose which sections you want to customise, without having to re-write the whole grammar.
  • Free Form Grammar: Writing ((Langname)) will be replaced with the anglicized language name (useful if you don't know what the language name will be ahead of time).
  • Free Form Grammar: You can now write SUFFIX TABLE and PREFIX TABLE (in place of AFFIX TABLE) to specify which -fix the whole table should be. Force all affixes to be... option will only apply when not using Free Form Grammar, or to AFFIX TABLE.
  • Added Ergative/Absolutive cases to randomly generated grammar
  • Added more polysemy possibilities to vocabulary
  • Added ability for tone to be represented with superscript numbers ¹²³⁴⁵ (1 being extra low, 5 being extra high). Although this is not standard IPA, it seems to be what conlangers use more often, since very few fonts support the contour lines. It's probably less ugly too. Also removed contour line buttons, as these were not an exhaustive list (pretty much any combination of tones is possible). But you can easily create the contours by adding them together.
  • Changed singular affixes to generate as "no affix" in most instances
  • Added various options to remove elements from the final display: Remove all translations (still generates conlang words), No spelling and Remove forward slashes around IPA
  • Improved dictionary alphabetization: dictionary no longer sorted by Unicode order. Unicode does dumb things like puts capital Z before lower case a. Vulgar now uses the browser's language settings to alphabetize; capitals will be correctly ordered, and it even puts most of the IPA in more intuitive orders, like æ comes in between a and b.
  • Fixed Change alphabet order producing ordering errors when not all letters are specified. You can now enter a partial letter list: letters given will be ordered first, letter not given will be ordered based on browser's language settings
  • Fixed Noun Case input box not working
  • Fixed Noun Cases and Noun Genders not saving to settings file
  • Fixed not being able to specify no noun genders
  • Fixed Illegal Combinations not applying to the language name and free form grammar words
  • Fixed input box height issue with Firefox
  • Fixed warning error message sometimes popping up for no reason
  • Fixed Vowel Probabilities resetting to default values when toggling on and off
  • Fixed languages with no word initial consonants throwing errors
  • Fixed "Your Phonemes" buttons not populating to second spelling input box
  • Fixed not able to use | symbol in Evolve Language rules, and fixed rules from always having to account for stress symbols
  • Fixed nasal release diacritic not displaying
  • Fixed 2nd vowel harmony group not able to handle syllabic consonants
  • Fixed bugs related to IF statements not applying correctly without ELSE condition
  • Fixed custom words not overriding the default word in some rare cases
  • Fixed single geminate (long) consonants from being permissible consonant clusters (if a language has geminates, they typically appear in more than one consonant).


6 April 2019

  • Added Free Form Grammar, which allows you to create any kind of grammatical property. Also allows you to use all affixes in the Translator.
  • Added custom Noun genders
  • Added ability to force all affixes to be prefixes or suffixes
  • Added ability to apply tones to all vowels, instead of applying tone to single vowels (see Advanced Phonology section)
  • Shorten average word length option has been removed, as this is now the default option and it only had a minor effect anyway
  • Algorithm tweaked to better select a balanced vowel inventory when using **Add random phonemes to the custom selection (upon generation)**
  • Uppercase shorthand symbols can now be used in spelling rules and illegal combinations. This is to create uniformity so that anywhere RegEx can be used, shorthand symbols can be used too.
  • When deriving words, if the word root word you're looking for has two possible parts-of-speech, there is now ability to (optionally) specify which part of speech you want. Eg "laughing:v = laugh:v-PROGRESSIVE" takes the verb form of "laugh", if there was also a noun form.
  • Added No stress at all option
  • Phonological rules that have a stress symbol will automatically be sensitive to the stress symbol, and thus Make phonological rules sensitive to stress symbol has been removed. This means that you can make rules that deal with stress without having to make every rule account for the stress symbol.
  • Don't allow words to differ only by stress location changed to Allow contrastive stress
  • If you add a custom word and specify its stress, the stress is no longer deleted in favour of the "correct" stress. If you don't specify the stress, then the correct stress will be applied.
  • Fixed bug where No Fixed Stress option was causing double up words
  • Fixed Change alphabet order sometimes causing hanging issues
  • Change alphabet order can now properly alphabetize letters with diacritics as well as digraphs (double letters)
  • Fixed spelling diacritic buttons not populating to Change alphabet order and Second spelling fields
  • Fixed derivational sound changes with shorthand symbols not working
  • Fixed θ and β not appearing in consonant chart
  • Fixed stress and capitalization issues when making custom language names that are two or more words
  • Fixed custom morphological rules that only consist of sound changes throwing errors
  • Fixed custom morphological rules with | symbol not displaying in grammar section
  • Fixed spelling rules doubling up in some scenarios


17 February 2019

  • In an ongoing attempt to try to make seed numbers less confusing... Added Save this language's settings which automatically saves the seed number and Save settings only which does not save the seed. Additionally, upon loading settings, if a seed number was saved the language will generate as soon as it's loaded. Also removed Modify this language button since it was a redundant feature and was often misleading (since so many settings change the entire language).
  • Added IPA symbols scroll with screen, and IPA symbols will populate to any clicked-on input box.
  • Automatic compound word creation: Vulgar now randomly creates compound words for various entries, drawing on examples of compound words from real world languages. For instance, the word for "volcano" may be a combination of "fire" and "mountain", "astronomy" maybe "star" and "science", etc. There are about 150 possible compound words for nouns right now. There are plans to add more for adjectives and verbs in future updates.
  • Added ability to choose whether adjectives go before or after the noun, as this has implications for the automatic compound word feature.
  • Added ability to stack affixes when creating derived words. This means you can create words like "antiestablishment : n = establish-V.TO.N-OPPOSITE", in one line of code. Previously you would have had to first make "establishment : n = establish-V.TO.N", then "antiestablishment : n = establishment-OPPOSITE". Suffixes can also be attached to compound words, and both + and & symbols can be used in the one line of code. Finally, making a word equal a single word is now valid. Example: writing "house : n = home" will make "house" the same word as "home".
  • When adding new words and derived words, writing += instead of just = ensures the default word will not be overwritten. Thus, "fox : n += red & dog" creates two entries for "fox", one being the default single word, and the other being the custom compound word. Whereas simply writing "fox : n = red & dog" automatically overwrites the default single word.
  • Added ability to download your language's vocab in the Add Words format so that your entire vocab can be regenerate in future versions of Vulgar without having to worry about seed numbers.
  • Added ability to create triphthongs where the vowel nucleus is not the first vowel, eg: /u̯ai̯/. This does happen in quite a few languages. Note that if you don't specify the diphthong symbols, merely adding uai will come out as ua̯i̯ by default.
  • Improvements to randomly generated derivational rules: now more realistic in that it doesn't create totally unrelated affixes in IF/ELSE conditions
  • Fixed evolve function being totally non-functional (apologies for that one. I'm trying to be a big more methodical with checking features for new bugs in each update now)
  • Fixed evolve function doubling the words after more than two evolves (bug from version 8.3.2)
  • Fixed phonological rules crashing when using shorthand symbols
  • Fixed lookbehinds in Phonological rules in FireFox not working
  • Fixed semi-vowels (j, w, ɥ, ɰ) in diphthongs not being generated in words
  • Fixed triphthongs not being applied correct stress
  • Fixed bug where default spelling rules doubled diacritics on long vowels, instead of doubling the vowel itself. Default spelling rules may alternatively use macrons for long vowel now too.
  • Fixed consonants and vowels with diacritics not showing up in the phoneme tables
  • Fixed custom added words not removing trailing whitespace
  • Disabled mobile autocorrect and spellcheck on all input boxes
  • Spelling bugs: fixed spelling rule table sometimes displaying incorrect info; fixed /ð/ sometimes not being assigned spelling rule
  • Some default affix tags have been changed to be a bit more explicit, eg: -N.TO.V is now -NOUN.TO.VERB


18 January 2019

  • Changes to Add and Remove Words: When adding new words, instead of using the bar symbol | to separate the word from the part-of-speech, use a colon instead: ethereal:adj. This may be separated by spaces for visual clarity: ethereal : adj. This change was made because the bar symbol already has another function in RegEx syntax.
  • You can now use OR in morphology rules to create a random choices between rules. E.g., n = -o OR -n. Additionally, you can now use the bar symbol | instead of OR. This brings the syntax more aligned with RegEx syntax: n = -o|-n and n = V$ > a|o.
  • Dervational & part-of-speech morphology rules no longer require an ELSE statement when using IF statements
  • Arrange in naturalistic ranking (with randomness) now has a much larger element of randomness, which I think simulates real world distributions quite a bit better. Previously, it would make the most common consonant "m" most of the time. Now the most common phoneme is a lot more varied.
  • Default spelling now varies the diacritic choices more, where previously it always chose the grave accent first
  • Illegal rules no longer significantly slow down generation time and **Make same vowel twice in a row illegal** is now selected by default
  • Added ability to use [+long] and V[+nasal] properties in phonological rules
  • Fixed part-of-speech morphology applying to wrong parts-of-speech when adding custom words
  • Removed around 150 words that were double-ups of a noun and verb version (example: "amateur" being both a noun and verb but being generated as two unrelated conlang words). Thus, 150 new words have been added.
  • Fixed custom compound words not automatically applying gender
  • Fixed minus symbol in Add and Remove words not removing derived words
  • Fixed custom derived words not replacing defaults words -- no longer creates two entries
  • Fixed Second Spelling rules re-randomising language
  • Fixed illegal patterns appearing in summary of the initial/mid/final consonants in grammar section
  • Fixed Tumblr Dictionary Theme hyperlinks not working when the word has diacritic symbols
  • The languages under Advanced Word Structure now arrange in naturalistic ranking if Naturalistic frequency is checked
  • Spelling changes to Oxford spelling, which means -ise words are now -ize, eg "organize"


26 December 2018

  • Added ability to create affixes/sound changes based on parts-of-speech. See Part-of-speech morphology
  • Added ability to remove regular (non-derived) words from the default dictionary using minus symbol in Add More Words EG -woman and Remove default derived words -- gives users significantly more control over how you want to shape your vocabulary, without having to remove the entire dictionary and start from scratch.
  • Added ability to create stems for words that don't get populated to dictionary as stand entries, but can be used in derived words. See instructions on how to do this on the Custom Words guide, under the Stem Words subheading.
  • Smarter spelling: generator automatically comes up with a unique spelling for each vowel and (most) consonants, using diacritics where necessary. Spelling rules are now also listed in the phonology section.
  • More realistic phoneme inventory created when adding clicks and checking Add random phonemes to the custom selection
  • Fixed automatic creation of new affixes not working
  • Fixed derived words not working with trailing whitespace
  • Fixed consonants not appearing in consonant table when they only appear in clusters
  • Fixed bug where seed number sometimes produced different language (if anyone notices this still happening, please tell me!)
  • Fixed custom words not clearing from dictionary after manually removing them
  • Fixed words producing "undefined" error when making languages with no consonant onsets
  • Minor improvements to distribution of phonemes when letting the generator decide phoneme inventory
  • Removed some double up words
  • Second orthography hidden to avoid visual clutter and renamed to Second spelling


8 December 2018

  • Tweaks to random phoneme inventory algorithm to bring it more in line with real world probabilities: made ʃ, tʃ, ts and nasal vowels less frequent; made aspirated consonants more frequent
  • Choosing a partial phoneme inventory (using Add random phonemes to the custom selection) now attempts to obey phonological language universals. More work will be done on this in future updates
  • Fixed derivational morphology causing some garbled text in dictionary and some crashing issues
  • Fixed randomly generated derivational morphology not generating ELSE conditions
  • Fixed compound words not working
  • Fixed mid-word diacritics not appearing
  • Fixed shorthand V symbol not matching diphthongs in certain scenarios
  • Fixed some diacritic placement. Some diacritic buttons now populate above or to the side of phonemes with descenders: eg but m̥ vs ŋ̊, and b̟ vs β˖ (Note: only some IPA diacritics have officially approved alternate Unicode characters for descenders)
  • Make same vowel twice in a row illegal no longer shows you the rules explicitly, but just silently applies them at generation time. This means the rules will apply even if you let the generator decide what vowels to use. The new algorithm also solves a design flaw where diphthongs actually need the diphthong diacritic symbol for them to be matched as illegal (Vulgar adds the diphthong symbol to user entered diphthongs so that the syllable stress algorithm doesn't treat diphthong as two separate syllables, then deletes unless the you uncheck Remove diphthong and affricate diacritics. Thus, if you need to enter any rules that involve diphthongs, be sure to add this symbol.)
  • Added diphthong diacritic button to aid with above issue. Also added "more round" and "less round" buttons, and removed some of non-standard diacritics (although they can still be used by copy-pasting)
  • Fixed some non-diphthongs being listed as diphthongs
  • Fixed rare issue where custom added words were assigned wrong meaning


11 November 2018

  • Created new system for doing derivational morphology. This is capable of doing circumfixes, complex sound changes, and can also apply affixes based on conditions, such as whether a words begins or ends in a vowel or consonant. See new guide here.
  • New algorithm for randomly choosing the phoneme inventory which obeys phonological "universals" more closely
  • Naturalistic phoneme frequency is now default setting
  • Added ability to specify the Language name and Anglicised name
  • Added Arrange in naturalistic ranking option, which automatically arranges your phonemes from most common to least common, based on real-world data. This is to be used with the naturalistic distribution setting to simulate a probable spread of phonemes that you would expect to see in real languages. The randomness factor accounts for the fact that not all languages will rank every phoneme in the same frequency, just that there are tenancies for certain phonemes to be more common.
  • Having naturalistic phoneme frequencies checked when using Phonotactic analyser will order phonemes by frequency
  • Added support for negative lookbehinds in Chrome
  • Fixed RegEx lookbehinds being rejected as invalid in Firefox and Safari
  • Fixed issue where round brackets inside lookbehind patterns were not matching properly
  • Fixed phonological rule issue with brackets before the underscore
  • Fixed RegEx phonological rules not being listed with standard phonological notation rules in grammar section
  • Fixed articles not populating to dictionary in some scenarios
  • Fixed articles and pronouns still populating to the dictionary when Remove default word list is checked
  • Fixed cursor moving to front of input fields when selecting phonemes on mobile browsers and Safari desktop. However, now you can only add phonemes/diacritics to the very end of the line on these browsers. Recommend using Chrome on desktop devices, where possible.
  • Fixed issue where adding the same English word twice in Add More Words field caused other custom words to be assigned to wrong conlang word
  • Fixed dental column in consonant chart being in the wrong position
  • Fixed tab character causing settings file to become corrupted
  • Finnish and Turkish buttons now populate correct vowel harmony
  • One Who Xs affix changed from -ER to -DOER


12 October 2018

  • Added secondary stress symbols and ability to create advanced stress patterns
  • Added Naturalistic phoneme frequency option, which ranks phonemes from left (most frequent) to right (least frequent) and calculated frequencies based on a Yule distribution, which mimics ranked distribution of phonemes in real languages.
  • Added support for syllabic consonants (must be used in vowel fields because the program analyses them as the syllable nucleus)
  • Added word wrapping for phoneme input boxes and ability to expand the input area. Phonemes and illegal combinations may now optionally be separated by new lines.
  • Improvements to phonological rule notation: added support for more shorthand symbols (see new guide here) and fixed shorthand symbols not capturing diacritics.
  • Changed affricates to be the single Unicode character versions by default (ʧ, ʤ, ʦ, ʣ, ʨ and ʥ) instead of double characters (tʃ, dʒ, ts, dz, etc) to circumvent some issues with Advanced Word Structure thinking affricates are two separate phonemes. Double characters can still be used in Advanced Word Structure but you must use the affricate tie-bar between them. Also added affricate tie-bar to diacritic buttons.
  • Fixed syllable boundary symbol (%) not applying to beginnings and ends of words
  • Fixed a bug that caused pronouns and articles to sometimes have incorrect word structure
  • Fixed settings file not saving various checkboxes and PDF settings
  • Fixed diphthong symbol (ia̯) not appearing in cases where diphthong has other diacritics
  • Fixed triphthongs being truncated and interpreted as diphthongs
  • Fixed Tumblr Dictionary Theme not working for full version only
  • Fixed issues with Tumblr Dictionary Theme's custom HTML formatting tags


13 September 2018

  • Fixed Illegal Combinations not applying correctly
  • Fixed broken Tumblr Dictionary Theme
  • Fixed broken Jump To Orthography link


8 September 2018

  • Added Vowel harmony to Advanced Word Structure
  • Added support for more IPA diacritics: geminate (long) symbol for consonants, laminal, extra short symbol for vowels, more rounded less rounded symbols for vowels, voiceless symbols that goes above the IPA letter, voiced symbol for consonants
  • Syllable boundary can now be represented in phonological rules using % symbol
  • Added Hebrew to Advanced Word Structure
  • Fixed Illegal combinations not applying to affixes, pronouns, articles and particles. Additionally, illegal combinations can match on affix boundaries using ‘-’. Example: you don't want suffixes to be able to start with /a/, write -a as an illegal rule.
  • Fixed semi-vowels (j, w, ɥ, ɰ) being interpreted as consonants only. They can now be used in diphthongs in vowel input fields
  • Improvements to HTML output: now sorts English to Conlang. Also added style sheet to make it look like the online site.
  • Removed words from having two part of speech separated by a semi-colon. Eg: v. laugh; n. laugh, as this was causing issues for users trying to overwrite either of the words
  • Removed other various double-up English words
  • Vulgar now alerts you if your RegEx/phonological rules are invalid
  • Fixed compound word syntax not allowing white space before and after + and & symbols
  • More changes to LaTeX formatting: it is now easier to upload a conlang font by having different font styles for English-to-Conlang entry, English-to-Conlang definition, Conlang-to-English entry and Conlang-to-English definition
  • Very minor improvements to translator: typing the exact wording of articles as they appear in the dictionary will translate them. Example: if it's in the dictionary as "the (n. nominative)" you can type that and it will translate, where previously it would fail to find it.
  • Modify this language button auto-populates the seed number for last language generated; Generate new language now automatically clears the seed number field; and Using custom seed number uses whatever seed was manually entered to seed field. Also added these buttons to the bottom of the settings.
  • Fixed custom spelling helper not removing multiplication numbers from end of vowels
  • Fixed grammar tables using wrong word for ‘man’
  • Fixed issues with Phonotactic Analyser failing to include some mid-word consonants


28 July 2018

  • Launched the new online platform of Vuglar
  • Tumblr Dictionary Theme builder now comes with Full and Pro version
  • Added Change alphabet order
  • Added CSV export
  • Added ability to download PDF output as .tex file
  • Changes made to LaTeX code to make it less bloated
  • Added option to download HTML as a file
  • Added Make illegal combinations sensitive to stress symbol
  • Illegal combinations now works with Custom Phonemes instead of just Advanced Word Structure
  • Added ability to control phoneme frequencies by adding a number immediately after the phoneme/consonant cluster
  • Added Hawaiian to Advanced Word Structure
  • Changes made to saved settings file to be more forwards-compatible with future versions of Vulgar
  • Fixed some settings not saving to settings file: Articles and Make phonological rules sensitive to stress symbol
  • Fixed Add More Words causing the conjugation rules to change, all other settings and seed number being the same
  • Fixed some crashing issues with Phonological Rules field
  • Fixed Make same vowel twice in a row illegal not properly deduplicating rules in some scenarios


28 May 2018

  • Created Pro version
  • Added Translator
  • Articles and pronouns populate to the dictionary
  • Added ability to specify whether or not the language has articles
  • Added Antepenult stress
  • Added Don't allow words to only differ by stress location
  • Added more spelling diacritic "quick pick" buttons
  • Added Swedish and Turkish to Advanced Word Structure


7 May 2018

  • Added ability to specify what the derivational affixes are (the conlang part)
  • Changed some of the format for Add more words. Info on new format here
  • Added Make spelling rules sensitive to stress symbol and Make phonological rules sensitive to stress symbol
  • Added ability to use RegEx in Phonological rules section
  • Added shortcut buttons to easily populate your phonemes into Custom Spelling rules
  • Added Spelling diacritic helper buttons for the following diacritics
  • IPA buttons populate to mouse position, instead of end of line
  • Typing a colon automatically gets converted to vowel length symbol upon generation
  • Fixed Second Orthography causing spinning wheel of death
  • Fixed RegEx Lookbehind syntax not working
  • Fixed No Fixed Stress option re-randomising the stress location in the narrow IPA
  • Fixed Add custom words not de-duplicating words already in the default dictionary
  • Fixed custom derived words duplicating after every new generation
  • Fixed various bugs that caused 'undefined' to sometimes appear in output
  • Choosing phonological rules with a seed number no longer produces an entirely different language
  • Re-added ability to put voiceless diacritic symbols on vowels after fixing a bug where voiceless symbol attached itself to the stress symbol
  • Fixed not appearing in output
  • Fixed vowels ɞ and ɶ not appearing in evolved languages
  • Fixed seed number not following through to evolved languages
  • Fixes to IPA symbols in Manuale font: ʁ being designed wrong (glyph was mirror imaged) and fixes to positioning of various diacritic symbols
  • Added ʊ to English phonology


16 April 2018

  • Add more words overrides the randomly generated word when you specify what the conlang side of the word is (where previously it would create two entries for the one word)
  • Seed number system changed to circumvent bug where the alphanumeric seed would sometimes produce different results within the same version
  • Clicking seed number populates it to the settings
  • Altering the spelling rules no longer changes the whole language (provided all other settings are the same)
  • Added option to make PDF output 3 or 2 columns
  • In PDF output, new sections page-break if there is not much space left at the end of the page
  • In PDF output, entries with multiple parts-of-speech are semi-colon separated
  • Fixed bug that caused scrambled code to be added to PDF output and Tumblr Dictionary theme
  • Fixed phoneme /ɶ/ not appearing in final output and Phonotactic Analyser
  • Fixed phoneme /ʍ/ not appearing in consonant table
  • Fixed some contour tone buttons giving wrong contours
  • Clicking Make same vowel twice in a row illegal twice does not add the rules twice


7 April 2018

  • Added ability to save and load settings to .txt files
  • Added Make same vowel twice in a row illegal, which auto-populates illegal rules to stop two of the same vowel in a row
  • Custom affixes get spelled out in grammar section
  • Added Latin and Dothraki as an option for the Advanced Word Structure. Also made changes to some of the existing languages to remove allophones and/or regional dialects
  • Added extended IPA support for Manuale font
  • Fixed /ɞ/ and ejective symbols not appearing in final output
  • Fixed occasional crashing issue with entering non-IPA symbols into phoneme fields
  • Disabled ability to add IPA diacritics to don't connect to any main IPA symbol
  • Fixed issue where custom spelling rules were not be able to find and replace diphthong and affricate diacritics
  • Fixed crashing issue with seed numbers
  • Fixed issue that caused PDF output to not render in some scenarios
  • Fixed issue that caused Add randomly chosen phonemes to the custom selection option to not appear
  • Click symbols to add section now re-focuses on the phoneme field after populating an IPA symbol into it
  • Fixed vowel table alignment


21 February 2018

  • Font changed from Charis SIL to Noto Serif and Manuale
  • Added ability to specify what the English word will translate to in Add more words option
  • Added Shorten average word length feature
  • Added hover effect on word entries
  • Fixed bug that caused seed number to sometimes produce different results, even when all custom settings were correct
  • Disabled ability to manually enter seed numbers that are over 12 characters (this caused crashes)
  • Illegal combinations rules can now be separated with a space or comma + space
  • Fixed issue with semi-colons in Add new words field causing PDF output to not render
  • Fixed Remove default word list causing crashes in some scenarios
  • Minor bug fixes to Analyse word structure of your own language
  • Disabled Add randomly chosen phonemes to the custom selection option from appearing when choosing Advanced Word Structure (this feature only applies to "Custom Phoneme" settings)


27 January 2018

  • Redesigned code that applies phonological rules to fix various instances of rules not applying correctly
  • Add more words de-duplicates words that were already in the default list (provided you use the exact same part-of-speech tag)
  • HTML output sorts English to Conlang. The is output also a bit more readable, and includes a basic internal style sheet.
  • Create daughter language button named changed to be called "Evolve language"
  • Added jump to orthography link in the Evolve section
  • Fixed bug where articles sometimes had mid-word consonant clusters at the beginning or end of the word
  • Fixes to the LaTeX code when using Second Orthography option (removed HTML tags around the second orthography, primary and secondary orthography are now separated by a comma)
  • Various minor bug fixes to Analyse word structure of your own language
  • Fixed "undefined" appearing before some part-of-speech markers after Evolving the language


31 December 2017

  • Added Create daughter language (beta) (changed to "Evolve language" in v 7.2.1)
  • Added Vowel probability (specify probability that words begin or end in a vowel)
  • Added Add randomly chosen phonemes to the custom selection
  • RegEx supports Lookbehind matching
  • Clicking IPA symbols automatically checks the Custom Phonemes or Advanced Word Structure button
  • Fixed pop-out info boxes redirecting to top of page when exiting
  • Fixed audio for /ʊ/ linked to wrong audio file


26 November 2017

  • Added ability to choose syllable structure
  • Added ability to apply default orthography rules with custom orthography rules
  • Added bility to apply custom phonological rules with randomly chosen rules
  • Applying of phonological rules is turned off by default (for the purposes of speeding up generation time)
  • Re-added HTML output button
  • (C)V(C) syllable structures allow consonant clusters mid-word, so words can have a CVCCVC structure
  • Fixed ticking Remove default word list causing crashes
  • Fixed separating custom phonemes with commas instead of spaces creating problems
  • Fixed issues with /g/ and /ɡ/ being confused with each other (Vulgar now converts ɡ to g automatically)
  • Fixed stress symbols in Phonotactic analyzer was causing incorrect analysis


22 October 2017

  • Added IPA support for tonal languages
  • Added IPA consonant diacritic support for: advanced, apical, breathy voice, dental fricative release, linguolabial, labio-palatized, lateral release, nasal release, no audible release, pharyngealized, retracted, velar fricative release, vocal fry
  • Added IPA vowel diacritic support for: advanced, advanced tongue root, breathy voice, centralized, mid-centralized, retracted, retracted tongue root, rhotacized, vocal fry
  • Language names now get anglicised by default
  • Added ability to choose Word order
  • Added possibilities that plurals are not used for inanimate or non-human nouns
  • Added various pre-settings for LaTeX PDF output
  • Fixed capitalised words not sorting alphabetically in the LaTeX PDF output
  • Fixed long dictionary definitions cutting off when column is not wide enough
  • Screen no longer auto-scrolls to newly generated language.


27 September 2017

  • Added Editable PDF function
  • Outputs information on how articles ('the' and 'a') are used differently to English
  • Added ALT + L shortcut to generate new language
  • Illegal combinations now supports RegEx
  • Fixed Illegal combinations feature being applied to orthography as well as phonology. Now only applies to phonology
  • Remove default word list no longer forces example words used in grammar section (i.e. "study") to the dictionary
  • Using Add more words with seed no longer alters the language (provided all other custom settings are the same)
  • Fixed verb to adjective (v>adj) derivation rule not working
  • Fixed phoneme /dʒ/ sometimes not showing up in orthography
  • Fixed Tumblr dictionary JSON file causing errors where more than two words have the same spelling
  • Removed some duplicate dictionary words
  • Faster generation time on average


17 September 2017

  • Added custom affixes function
  • Clickable IPA symbols go to Advanced Word Structure after selecting Advanced Word Structure, or clicking into a field
  • Added the word "zero" to default word list
  • Fixed audio for IPA symbols: /ɛ ɫ ɳ ʕ ħ/
  • Fixed compound words not applying noun gender
  • Fixed English-to-Conlang data for Tumblr Dictionary Theme not sorting in alphabetical order


3 September 2017

  • Added Illegal combinations function
  • Tumblr export returns JSON file for use with Tumblr Dictionary Theme
  • Fixed verb affix for 2nd person singular past tense always being the same as present
  • Fixed audio for IPA symbol /ʟ/
  • Fixed white spaces issues (accidental white spaces in custom input are now ignored by the program)
  • Derive words feature no longer morphs roots to "irregular" forms (was producing unsatisfying results)


26 August 2017

  • Added Control phoneme frequencies function
  • Added compound words ability to Derived words feature
  • Seed numbers changed to shorter alphanumeric
  • Fixed stress pattern always being ultimate syllable
  • Fixed Add more words feature not resetting upon each new generation
  • Changed Second orthography colour
  • Minor spelling mistakes in default dictionary words


12 August 2017

  • Added Second orthography function
  • Fixed audio for IPA symbols /w l ɬ ɮ ɭ ɾ ɽ ʀ ɱ ʎ ʋ ⱱ ʄ ɠ ʛ ʘ/
  • Fixed polysemy feature for default dictionary


2 August 2017

  • Added OR function in Custom orthography to create irregular spellings
  • Added Remove default word list in Add more words feature
  • Added original IPA recordings to IPA charts


17 July 2017

  • Added Add extra words and Derived words function