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 | № of Downloads | 05/25/2025 | 0.2.2 | All-Platform | 13 | Windows | 13 | 0.2.1 | All-Platform | 16 | Windows | 14 | 0.2.0 | All-Platform | 12 | Windows | 10 | 12/31/2024 | 0.1.3 | All-Platform | 52 | Windows | 50 | 12/15/2024 | 0.1.2 | All-Platform | 42 | Windows | 39 | 12/08/2024 | 0.1.1 | All-Platform | 46 | Windows | 38 | 09/17/2024 | 0.1.0 | All-Platform | 42 | Windows | 41 | 01/24/2023 | 0.0.2 | All-Platform | 43 | 01/12/2023 | 0.0.1 | All-Platform | 44 |
---|
Cliffside's released early, yippee! However, the release was a bit rocky. The 0.2.0 version ran perfectly fine in my IDE, however crashed on startup when fully compiled. While this just happened to be caused by a quirk of File and jar resources, this has shown that there needs to be some sort of testing to make sure the .jar actually functions before release. Perhaps some sort of unit testing can be added soon, however I'm not sure how to go about making unit tests for a GUI application...
Anyways, Cliffside's essentially the localization update. Localization should be (mostly) functional now, so it should be possible to translate the program into any language (yippee!). I have more localization features planned that will be added over time, but for now I think I'm going to try to find a way to streamline these releases a bit more...
Looks like I wasn't quite able to get back onto the biweekly release schedule as quickly as I would've liked to. Without getting into too much detail, the family emergency specified earlier in the devlogs turned out to be the start of several related emergencies. Despite that, I've been able to get some work done on v0.2.0, and I expect it to be out on the 31st! The big feature of this release is going to be localization, I've made both English and German* localizations that are now built-in, and I'm hoping to add the ability to make a localization of one's conlang in as well. Furthermore, localizations can be created and edited in the new localizationPacks directory in the Susquehanna folder (the same folder the logs directory is in). This allows one to translate the application into their language quickly, being able to test it in the program without having to decompile anything. I hope in the future this allows for community translations of the program, so that more people are able to use it :) *Für die deutsche Leser hier: Deutsch ist nicht meine Muttersprache. Ich lerne Deutsch, und ich kann am eine A2 Niveau Deutsch sprechen. A2 ist kein Sprachkompetentz, also vielleicht die Übersetzung sind ein bisschen eigenartig. Wenn man findet ein Problem in die Übersetzung, man kann er am GitHub berichten. Dankeschön für Ihr Verständnis.
Once again, it appears that the expected release will need to be pushed back another week. I have had an incredibly busy month, however after this week I should be able to go back to the two week schedule.
Due to a family emergency, the release scheduled for tomorrow will be pushed back 2 weeks. Thank you for your understanding.
I used LaTeX to write something longer than a page for the first time today, and it was quite enjoyable. At first I was worried about things being more painful than they needed to be, but it worked out well. I think in the future, I'll make manuals for all software here aimed at an end-user. I think that javadocs would be more useful to a developer than a manual, so I'll refrain from making manuals for things like OLing (at least for the time being). I'm especially happy with how the figures turned out, as I personally think they make the text flow much better. I went ahead and printed out the manual, mainly because I think it's neat to have a physical thing from something I've been working on. I made the .tex file for it a part of the repo, so other people can add and change things to the manual as they see fit. I'm not sure how LaTeX handles other authors, but I hope that everyone who contributes can add their name as authors to the manual! The next thing I plan on doing is letting the manual display in the application itself. Susquehanna already has the UI of a book, so having each page of the PDF take up a page in the book UI would be ideal. I think that'll be for the next iteration though.
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!
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.
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 PHOSYSTableclass! 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!
Apologies about the lack of updates here! Unfortunately 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:
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!