The Great Game: Kanhlengo Topic

About Webconlang

Keywords: about, webconlang

The Webconlang platform is the website you are on right now. It is designed as a relatively simple online blogging platform for creating conlangs. Multiple languages can be created and multiple users given editing permissions on specific, individual languages.

Because this is a home-rolled platform, if you come across a bug, or if there is a feature that you want or want to see changed, you can contact Stephen DeGrace about it and it is possible that something can be done. However, some things are harder than others and may not be able to be implemented readily.

Webconlang was designed specifically for the workflow I wanted for my Common project, which you can see on this platform.

Unlike some conlanging platforms out there that do a lot of the work for you, the goal of Webconlang is not that. The idea is that the author will do most of the work, including structuring things like phonology and so on by working freeform. Webconlang facilitates this by providing rich text editors 

General Interface

The intention around this platform was to get it working in a relatively expeditious manner so that I could get to work on my Common language project with the workflow that I wanted. Therefore, there was little investment put into the visual design (I might need a collaborator at some point to pretty it up) and the controls were designed to be simple to program.

I designed it to have only as many controls in any given area as would fit in a single-layered bar at the top of the desktop site or a single-level menu on the mobile site. Therefore, wherever you are, the controls are:

  • Located at the top for the most part, even if this would seem counter-intuitive in any normal HIG.
  • Context-dependent - you should only see controls related to the area you're in.
  • Limited in terms of options
  • At the higher levels, they tend to be links to areas instead of actions

If you don't see what you're looking for, like if you're in Lexemes and you want to make a Topic, the left-most control in any area is the one that gets you back to the next highest level where you should have more options as to where to go.

Content Types

You can make three diferent kinds of content in Webconlang, other than Languages:


Topics are free-form articles that can link to arbitrary numbers of other topics, literature and lexemes. Topics are for expounding on some area of your language or worldbuilding. Topics can be filtered and you can define keywords to link them together as well as directly linking them to each other.


Literature works exactly like Topics, it's just a separate category for doing creative work in the language as opposed to explaining the language. The only behaviour that Literature has that's different from Topics is that links between Literature and Lexemes are not shown on the Lexeme end.


Lexemes are dictionary entries. It's up to you what you want to use as a dictionary entry - you could keep it to roots, or you could branch into multi-word expressions. Lexemes have a number of predefinied fields that you as the author have to decide what you want to do with (consistency is recommended):

  • Keywords: Topic words that you can define to try and make it easier to search for related words later.
  • Lemma: The actual "dictionary form" of the lexeme, usually a single word that sums up the entry, for example, the nominative form of a noun or the infinitive of a verb.
  • Part of speech: List one or more things here, up to you what you want to define, but this is not a dropdown type of deal so you need to exercise consistency yourself if you want to be able to filter it consistently later.
  • Classification: A vague field that's there to do what you want with - for example, gender or declension could go here.
  • Forms: This field is for you to list off things like derived and inflected forms of the word - that way if you encounter something you think is an inflected form, you can filter on the Forms field to look for it.
  • Pronunciation: Put your IPA here. Note there is a convenient link to an online IPA typing application near the top of the form
  • Glosses: List off single-word or short phrase glosses of your word for ease in lookup.
  • Description: Free-form rich editing field to talk about the details of the way the word is used, cultural notes, etymology, anything you want.

You can link any Lexeme to any Lexeme from here. You can only link Topics to Lexemes from the Topic.

Versioning, Drafts and Public Status

Every time you save something in Webconlang, you create a completely new entry in the database. The old version is still there and can be retrieved by editors on the language and site admins. When you save a new version, you have to give a Version Comment - please give a comment that concisely but clearly explains what you were doing.

On any piece of content, you can click a View History link at the bottom to see a listing of the previous versions and version comments. You can review any of these in full. And you can revert the active version of the content to any prior version. This creates a new version that's a copy of the prior version.

The purpose of this is for safety if you want to go off in a different direction with a piece of the language. If you come to not like the direction you went in, you can revert to the last state you were reasonably satisfied with and branch off again from there, without losing your other work.

Public Status

If you have a work in progress that you don't want to put in front of the public, or if you have a live piece that has problems and you want to take it down for work, at any time you can uncheck the Public checkbox and save the content. Editors and Admins will still be able to see the item, but people without adequate credentials won't see anything.


For anything you are working on, you can put it in Draft mode by clicking the Save Draft button. Working in Draft, your saves don't go into the version history and don't change the viewable form of the content, you can only see the draft by entering Edit mode. It is recommended when making a new piece, to create a new, non-public stub, put it in draft mode, and do all your work in Draft. Then when you're ready to go live, change the status to Public and Publish.

Any time you click Publish, you take the content out of Draft mode if it's already in Draft, and create a new Version in the database.

Drafts can also be discarded.


The search feature in Webconlang is a simple filter. You can filter on all the defined fields. The filter is a case-insensitive Contains filter, so you don't have to (and can't) use wildcards. It considers characters with and without diacritics to be different characters, so you have to be sensitive to that. Because Webconlang doesn't force the form of any entries, it is important to try and be smart about your entries, expecially around keywords.

The filter function also works when you're in the interface to link content together.

There is a Goodle custom search feature you can try using as well if you're stuck.

Linking Content

You can only link content together when you're in Draft mode. This decision was made for technical reasons - it might be possible to revisit it, but not without doing significant surgery on the underlying platform, so this is a constraint you have to live with for now. That's another reason to do all work of any significant magnitude in Draft mode.

Recommended Workflow

Here is the workflow I recommend based on experience for the Great Game.

New Content

Once your proposed move is approved:

  1. Create a stub version of the thing you want to create and publish it with Public unchecked.
  2. Edit it and save it in Draft mode immediately.
  3. Make sure your Version Comment clearly explains what the move is.
  4. Do all your work in the draft, including linking anything you want to link.
  5. Alert the DM when the draft is ready for review
  6. On approval, Publish the draft with Public checked, then post the link to the finished move on Facebook.

Modified Content

Once your proposed move is approved:

  1. Put the content item you are changing into Edit.
  2. Immediately save as Draft.
  3. Make sure your Version Comment clearly explains what they move is.
  4. Do all your work in the draft, including linking anything you want to link.
  5. Alert the DM when the draft is ready for review
  6. On approval, Publish the draft then post the link to the finished move on Facebook. 

Tips and Tricks

I'll put anything I can think that might be helpful here of here.

  • A great way to coin vocabulary on a common topic is to create a Topic on that area, explain the broader principles around what the language is doing (e.g., you could have a topic on Colours and explain what primary colour terms the language has here), and create the lexemes right from the Topic. There is an Add New button. you don't have to make your Lexemes separately and add them later.
  • This can be easier than directly crosslinking lexemes, which can turn into a combinatoric nightmare.


Related Topics

Related Literature