Susquehanna is a conlang manager to help manage constructed languages.

You can find the source code on Github!


Date Released Version Platform Download Link Documentation






Screenshot of 23w04a

Apologies about not posting about 0.0.2! I just completely forgot to make a devlog entry, at least I remembered this time! Here's what's new:

I don't really have much else interesting to share, I plan on making the lexicon tab have more fields that are editable, as right now the logs start yelling about every word. There's also currently a bug where homonyms and synonyms will be added to a word multiple times, so I'll have to fix that before adding more fields to display in the Lexicon. I plan on getting the Orthography tab up and running before I release 0.0.3, so stay tuned for that! Looking forwards, I plan on adding the Grammar tab to 0.0.4, and then after that just keep adding new features to each tab. I'm hoping that by the end of 2023, Susquehanna will be a fully functional, all-in-one conlang manager!


Screenshot of 0.0.1

That was quicker than expected! I am very pleased to announce the first public release of Susquehanna! Here's what's new:

First thing to get to: PHOSYS has changed quite a bit since I was talking about it back on Christmas. When I was working on encoding phonology to a file, I realized that the phonology system would somehow have to be attached to the file, as otherwise it wouldn't be able to display. As I started to get phonologies into PHOSYS files, I realized that the way I had planned for storing languages didn't quite make sense if I wanted them to be sharable. Why have 6 different files for one language, when they can be all combined into one? I didn't think the built-in Java Properties files would cut it, but I figured that PHOSYS files probably would. There were a few issues with this, mainly with unnamed data like the tabledata. These are now marked with a special blank tag, but they now need a : to work properly. As such, the PHOSYS file from the Christmas dev log will no longer parse correctly. Furthermore, phonology systems now need to be in a tablelist tag instead of just floating around, as otherwise there would be no way to tell what is supposed to be the name for the language and what is supposed to be the name for the phonology system. Attached is a new version of the IPA PHOSYS file.

  1. ===PHOSYS Start===
  2. ===Tablelist Start===
  3. tablelistName:IPA
  4. diacriticList:̥,̬,ʰ,̹,̜,̟,̠,̈,̽,̩,̯,˞,̤,̰,̼,ʷ,ʲ,ˠ,ˤ,̴,̝,̞,̘,̙,̪,̺,̻,̃,ⁿ,ˡ,̚,̋,́,̄,̀,̏,̌,̂,᷄,᷅,᷈,ˈ,ˌ,ː,ˑ,̆,|,‖,.,‿,͡
  5. ===PhonoTable Start===
  6. tableName:IPA Consonants
  7. columnNames:Bilabial,Labiodental,Dental,Alveolar,Postalveolar,Retroflex,Palatal,Velar,Uvular,Pharyngeal,Glottal
  8. soundsPerCell:2
  9. rowNames:Plosive,Nasal,Trill,Tap or Flap,Fricative,Lateral Fricative,Approximant,Lateral Approximant
  10. :pb****td**ʈɖcɟkɡqɢ*#ʔ#
  11. :*m*ɱ***n***ɳ*ɲ*ŋ*ɴ####
  12. :*ʙ*****r******##*ʀ**##
  13. :***ⱱ***ɾ***ɽ**##****##
  14. :ɸβfvθðszʃʒʂʐçʝxɣχʁħʕhɦ
  15. :####**ɬɮ**********####
  16. :***ʋ***ɹ***ɻ*j*ɰ****##
  17. :####***l***ɭ*ʎ*ʟ**####
  18. ===PhonoTable End===
  19. ===PhonoTable Start===
  20. tableName:IPA Vowels
  21. columnNames:Front,Central,Back
  22. soundsPerCell:2
  23. rowNames:Close,Near Close,Close Mid,Mid,Open Mid,Close Open,Other
  24. :iyɨʉɯu
  25. :ɪʏ***ʊ
  26. :eøɘɵɤo
  27. :**ə***
  28. :ɛœɜɞʌɔ
  29. :æ*ɐ***
  30. :aɶ**ɑɒ
  31. ===PhonoTable End===
  32. ===PhonoTable Start===
  33. tableName:IPA Non-Pulmonics
  34. columnNames:No column names
  35. soundsPerCell:1
  36. rowNames:Click,Implosive,Other,.encodingAnomoly
  37. :ʘǀǃǂǁ#####
  38. :ɓɗʄɠʛ#####
  39. :ʍwɥʜʢʡɕʑɺɧ
  40. :gɚ########
  41. ===PhonoTable End===
  42. ===Tablelist End===
  43. ===PHOSYS End===


Screenshot of 23w01b

Happy New Years y'all! Displaying PHOSYS files was a bit of a pain, but I finally got it to work! Here's what's new:

You may be wondering, what the hell is a .gitignore? The .gitignore file specifies which files/directories Git will ignore when uploading files. For the longest time, I was manually preventing anything in the /target directory from uploading, as all of the files there should be exactly the same as the ones in /src. However, because I was doing this manually instead of just using the tool that Git gives for this, there were some files that just didn't get uploaded to the Github repo, and others that did that shouldn't of. That's fixed now! The attached photo is of the brand new PHOSYSTable class! This allows the PHOSYS files mentioned last devlog entry to be displayed in the UI! Right now, I'm aiming for the first public releases to begin sometime in February, however it looks like it might happen later this month!


Screenshot of 22w51a

Apologies about the lack of updates here! Unfortunatly I got rather sick, so I wasn't able to update here... However, there's been quite a bit added to Susquehanna recently, so here's a list:

The thing I'm most excited about is PHOSYS files. PHOSYS is a markup language designed for Susquehanna specifically for phonology systems! This might not sound all that exciting at first, but let's get into the details!

PHOSYS allows the very easy sharing of phonology systems, along with a theoretically infinite amount of tables. That means that if you have, say, an alien species that doesn't really have vowels, but has two other things that aren't consonants either, PHOSYS can support it! As long as each symbol stays at 1 character, there shouldn't be any problems with the arrangement of any vocal tract when creating a PHOSYS file. The structure of the document is a bit rigid, but despite that it's quite flexible! Here is an example PHOSYS file for IPA:

  1. ===PHOSYS Start===
  2. name:IPA
  3. ===PhonoTable Start===
  4. tableName:IPA Consonants
  5. columnNames:Bilabial,Labiodental,Dental,Alveolar,Postalveolar,Retroflex,Palatal,Velar,Uvular,Pharyngeal,Glottal
  6. soundsPerCell:2
  7. rowNames:Plosive,Nasal,Trill,Tap or Flap,Fricative,Lateral Fricative,Approximant,Lateral Approximant
  8. pb****td**ʈɖcɟkɡqɢ*#ʔ#
  9. *m*ɱ***n***ɳ*ɲ*ŋ*ɴ####
  10. *ʙ*****r******##*ʀ**##
  11. ***ⱱ***ɾ***ɽ**##****##
  12. ɸβfvθðszʃʒʂʐçʝxɣχʁħʕhɦ
  13. ####**ɬɮ**********####
  14. ***ʋ***ɹ***ɻ*j*ɰ****##
  15. ####***l***ɭ*ʎ*ʟ**####
  16. ===PhonoTable End===
  17. ===PhonoTable Start===
  18. tableName:IPA Vowels
  19. columnNames:Front,Central,Back
  20. soundsPerCell:2
  21. rowNames:Close,Near Close,Close Mid,Mid,Open Mid,Close Open,Other
  22. iyɨʉɯu
  23. ɪʏ***ʊ
  24. eøɘɵɤo
  25. **ə***
  26. ɛœɜɞʌɔ
  27. æ*ɐ***
  28. aɶ**ɑɒ
  29. ===PhonoTable End===
  30. ===PhonoTable Start===
  31. tableName:IPA Non-Pulmonics
  32. columnNames:No column names
  33. soundsPerCell:1
  34. rowNames:Click,Implosive,Other
  35. ʘǀǃǂǁ#####
  36. ɓɗʄɠʛ#####
  37. ʍwɥʜʢʡɕʑɺɧ
  38. ===PhonoTable End===
  39. ===PHOSYS End===

Now, lets go through that line-by-line, to see what each part does:

So that's why I'm so excited about PHOSYS files, once I get the Phonology tab done I'll start making public releases!


Screenshot of 22w33a

Here's a sneak peak at what the UI will look like! I spent the last few weeks learning how to make glossy, frutigier aero-esque textures. I also got the structure of the files down, which should allow easy sharing in the future! It should be at a useable state soon!