Page 1 of 2

Do you know conlang software tools?

Posted: Sat Oct 13, 2018 6:31 am
by Xwtek
For saving grammar, vocabulary, etc.

Re: Do you know conlang software tools?

Posted: Sat Oct 13, 2018 7:18 am
by JT the Ninja
I just use Excel or Google Sheets, honestly.

Re: Do you know conlang software tools?

Posted: Sat Oct 13, 2018 1:12 pm
by mèþru
Google Docs and OpenOffice

Re: Do you know conlang software tools?

Posted: Sat Oct 13, 2018 1:51 pm
by Kuchigakatai
Grammar

For grammar, I just use plain .txt files, using a simple programming editor like gedit (Linux) or Notepad++ (Windows). (The default Notepad on Windows is bad for your health. It's very finicky with line-endings.)

Software like LibreOffice Writer (the true successor of OpenOffice), Microsoft Office Word and Google Docs provide you with things like tables and bolding and italics and can generate PDFs. But I don't care about any of that, so I just align things with spaces using a monospace font, and call it a day.


Dictionaries

Dictionaries are much trickier. You could write a print-like dictionary as a .txt file or in LibreOffice Writer, etc., but then searching a word can become difficult if the dictionary gets large. You can also try Microsoft Office Excel, LibreOffice Calc (even if it's disappointingly slow) or Google Sheets. This *is* good enough for many people because conlangers typically don't write detailed entries, preferring to half-remember in their mind how to use words.

The advantage of a spreadsheet over a text document is that, although you'll still need to scroll to find a specific word, you'll be able to get all words under a category (especially wordclass) by sorting the whole table by a column. Want all prepositions? Sort it by the wordclass column. However, if you have idioms, multiple definitions, syntactical information, and maybe examples or usage notes, the spreadsheets become quite ugly to work with. You either repeat a lot of data in cells, or structure it in an irregular way.

There are several applications in existence for managing dictionaries. Desktop applications like SIL's Fieldworks Language Explorer (FLEx) or DraqueT's PolyGlot, websites like ConWorkShop or Anthologica. I'm not that fond of them though. Last time I tried using SIL's FLEx (3 years ago), you had to make a lot of clicks to enter data. ConWorkShop is rather stringent with certain requirements, like linking your words to a database of meanings that they have, and also has a level of complexity I find annoying. Anthologica is much simpler, and I'd like it if only its code and server weren't soooo slowwww (it's common for a page to take 30 seconds to load). I haven't tried PolyGlot.

https://www.sil.org/dictionaries-lexico ... tion-tools
https://draquet.github.io/PolyGlot/
https://conworkshop.com/
http://anthologi.ca/

In the end I ended up writing my own little program for the command line.

Re: Do you know conlang software tools?

Posted: Sat Oct 13, 2018 2:05 pm
by Kuchigakatai
P.S. I should add that you can improve on searching a word in a document file by marking data with special symbols. Like this:

{braddu} $n. @oar
{bradgi} $vt. @confuse sb, @mislead; @mistake sth for sth

The trick is that you don't use {} $ @ for anything other than headwords, wordclasses and translation equivalents.

If you want to search for headwords that begin in brad-, you could type Ctrl+F in an editor and type {brad
If you want to search for headwords that end in -dgi, you could type Ctrl+F in an editor and type dgi}
If you want to search for all transitive verbs, you could type Ctrl+F in an editor and type $vt
Etc.

Re: Do you know conlang software tools?

Posted: Sat Oct 13, 2018 2:19 pm
by storyteller232
I havent gotten a conlang to the point yet where a software is needed. I have a little notebook i use to keep my notes and will plan to transfer them to the computer eventually. Though i am not nearly to that point yet, i am playing around with two softwares based on recommendations from a facebook group. Can't give my own review yet but here are the ones i am considering.

Polyglot - https://draquet.github.io/PolyGlot/ - offline program, kinda reminds me of Scrivener in that you build the different portions and then compiles it into a singlw .pdf generates quizes, declension/conjugation tables

Conworkshop - https://conworkshop.com/ - web-based, havent explored it much. Heard it is hard to figure out but has a ton of features once you learn your way around like the ability to create online courses for your language.

Re: Do you know conlang software tools?

Posted: Sat Oct 13, 2018 3:30 pm
by Curlyjimsam
JT the Ninja wrote: Sat Oct 13, 2018 7:18 am I just use Excel or Google Sheets, honestly.
Yeah, I used to use LexiquePro as dedicated dictionary software, but now I just do them in Excel. Grammars I do in Word.

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 2:20 am
by Xwtek
Curlyjimsam wrote: Sat Oct 13, 2018 3:30 pm
JT the Ninja wrote: Sat Oct 13, 2018 7:18 am I just use Excel or Google Sheets, honestly.
Yeah, I used to use LexiquePro as dedicated dictionary software, but now I just do them in Excel. Grammars I do in Word.
Why about LexiquePro?

Also do you know application to create a conmap?

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 3:02 am
by Xwtek
storyteller232 wrote: Sat Oct 13, 2018 2:19 pm Conworkshop - https://conworkshop.com/ - web-based, havent explored it much. Heard it is hard to figure out but has a ton of features once you learn your way around like the ability to create online courses for your language.
Do you know how to create more than one conlang there?

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 3:52 am
by Zju
Having gotten around to it yet, but this is the approximate structure I plan to use for most or all dictionaries in the future:

Code: Select all

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;


-- Dumping database structure for clgs
CREATE DATABASE IF NOT EXISTS `clgs` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;
USE `clgs`;

-- Dumping structure for table clgs.conlang
CREATE TABLE IF NOT EXISTS `conlang` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8_bin NOT NULL,
  `time` int(11) DEFAULT NULL,
  `precursor` int(11) DEFAULT NULL,
  `setting` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_conlang_setting` (`setting`),
  KEY `FK_conlang_conlang` (`precursor`),
  CONSTRAINT `FK_conlang_conlang` FOREIGN KEY (`precursor`) REFERENCES `conlang` (`id`) ON UPDATE CASCADE,
  CONSTRAINT `FK_conlang_setting` FOREIGN KEY (`setting`) REFERENCES `setting` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- Dumping data for table clgs.conlang: ~0 rows (approximately)
/*!40000 ALTER TABLE `conlang` DISABLE KEYS */;
/*!40000 ALTER TABLE `conlang` ENABLE KEYS */;

-- Dumping structure for table clgs.entry
CREATE TABLE IF NOT EXISTS `entry` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `conlang` int(11) NOT NULL,
  `entry` varchar(150) COLLATE utf8_bin NOT NULL,
  `ipa` varchar(150) COLLATE utf8_bin DEFAULT NULL,
  `meaning` varchar(150) COLLATE utf8_bin DEFAULT NULL,
  `pos` int(11) DEFAULT NULL,
  `inflection` int(11) DEFAULT NULL,
  `irregularities` json DEFAULT NULL,
  `more` json DEFAULT NULL,
  `etymology` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_entry_conlang` (`conlang`),
  KEY `FK_entry_entry` (`etymology`),
  CONSTRAINT `FK_entry_conlang` FOREIGN KEY (`conlang`) REFERENCES `conlang` (`id`) ON UPDATE CASCADE,
  CONSTRAINT `FK_entry_entry` FOREIGN KEY (`etymology`) REFERENCES `entry` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- Dumping data for table clgs.entry: ~0 rows (approximately)
/*!40000 ALTER TABLE `entry` DISABLE KEYS */;
/*!40000 ALTER TABLE `entry` ENABLE KEYS */;

-- Dumping structure for table clgs.setting
CREATE TABLE IF NOT EXISTS `setting` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- Dumping data for table clgs.setting: ~0 rows (approximately)
/*!40000 ALTER TABLE `setting` DISABLE KEYS */;
/*!40000 ALTER TABLE `setting` ENABLE KEYS */;

/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
Once you set up the DB properly, viewing any data and combination thereof is as easy as writing a request.

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 6:58 am
by storyteller232
Akangka wrote: Sun Oct 14, 2018 3:02 amDo you know how to create more than one conlang there?
You click on the profile menu and on the page that loads there is a new language link

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 7:36 am
by Frislander
I use TeX when it comes to conlangs I actually start documenting on m laptop because it means I can make everything look pretty.

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 8:02 am
by Xwtek
Zju wrote: Sun Oct 14, 2018 3:52 am Having gotten around to it yet, but this is the approximate structure I plan to use for most or all dictionaries in the future:

Code: Select all

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;


-- Dumping database structure for clgs
CREATE DATABASE IF NOT EXISTS `clgs` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;
USE `clgs`;

-- Dumping structure for table clgs.conlang
CREATE TABLE IF NOT EXISTS `conlang` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8_bin NOT NULL,
  `time` int(11) DEFAULT NULL,
  `precursor` int(11) DEFAULT NULL,
  `setting` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_conlang_setting` (`setting`),
  KEY `FK_conlang_conlang` (`precursor`),
  CONSTRAINT `FK_conlang_conlang` FOREIGN KEY (`precursor`) REFERENCES `conlang` (`id`) ON UPDATE CASCADE,
  CONSTRAINT `FK_conlang_setting` FOREIGN KEY (`setting`) REFERENCES `setting` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- Dumping data for table clgs.conlang: ~0 rows (approximately)
/*!40000 ALTER TABLE `conlang` DISABLE KEYS */;
/*!40000 ALTER TABLE `conlang` ENABLE KEYS */;

-- Dumping structure for table clgs.entry
CREATE TABLE IF NOT EXISTS `entry` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `conlang` int(11) NOT NULL,
  `entry` varchar(150) COLLATE utf8_bin NOT NULL,
  `ipa` varchar(150) COLLATE utf8_bin DEFAULT NULL,
  `meaning` varchar(150) COLLATE utf8_bin DEFAULT NULL,
  `pos` int(11) DEFAULT NULL,
  `inflection` int(11) DEFAULT NULL,
  `irregularities` json DEFAULT NULL,
  `more` json DEFAULT NULL,
  `etymology` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_entry_conlang` (`conlang`),
  KEY `FK_entry_entry` (`etymology`),
  CONSTRAINT `FK_entry_conlang` FOREIGN KEY (`conlang`) REFERENCES `conlang` (`id`) ON UPDATE CASCADE,
  CONSTRAINT `FK_entry_entry` FOREIGN KEY (`etymology`) REFERENCES `entry` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- Dumping data for table clgs.entry: ~0 rows (approximately)
/*!40000 ALTER TABLE `entry` DISABLE KEYS */;
/*!40000 ALTER TABLE `entry` ENABLE KEYS */;

-- Dumping structure for table clgs.setting
CREATE TABLE IF NOT EXISTS `setting` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8_bin NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

-- Dumping data for table clgs.setting: ~0 rows (approximately)
/*!40000 ALTER TABLE `setting` DISABLE KEYS */;
/*!40000 ALTER TABLE `setting` ENABLE KEYS */;

/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
Once you set up the DB properly, viewing any data and combination thereof is as easy as writing a request.
I know DB (I am currently enrolled at a university for Informatics Engineering), and I actually thought of that. But is that just overkill? First, to add example (especially relational one), you have to add to separate "example" table. It is practically impossible to read the example except if you do a query. You then basically creating your own conlanging software just to improve on that.

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 8:28 am
by Zju
Akangka wrote: Sun Oct 14, 2018 8:02 amFirst, to add example (especially relational one), you have to add to separate "example" table. It is practically impossible to read the example except if you do a query.
Over some certain lexicon size I'd prefer to type in select * from examples where word like 'lorem'; and have the DB do all the work for me rather than searching manually for all examples of that word's usage. And I can save the more frequently used queries as stored procedures.
Akangka wrote: Sun Oct 14, 2018 8:02 am You then basically creating your own conlanging software just to improve on that.
Maybe that's the goal.

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 8:51 am
by Xwtek
Zju wrote: Sun Oct 14, 2018 8:28 am
Akangka wrote: Sun Oct 14, 2018 8:02 am You then basically creating your own conlanging software just to improve on that.
Maybe that's the goal.
Then you won't bother creating a database for that. It is much harder to distribute a database. Instead, you use XML. You query it using XQuery.

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 11:04 am
by Curlyjimsam
Akangka wrote: Sun Oct 14, 2018 2:20 am
Curlyjimsam wrote: Sat Oct 13, 2018 3:30 pm
JT the Ninja wrote: Sat Oct 13, 2018 7:18 am I just use Excel or Google Sheets, honestly.
Yeah, I used to use LexiquePro as dedicated dictionary software, but now I just do them in Excel. Grammars I do in Word.
Why about LexiquePro?

Also do you know application to create a conmap?
LexiquePro was pretty good, but in the end I just found Excel more versatile.

You should be able to make maps on any good image-manipulation program; I use GIMP. Zompist, wbo is better at maps than I, has a tutorial on his website. There's something to be said for pencil and paper in mapmaking though. And doing it well always takes time.

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 11:49 am
by Kuchigakatai
Akangka wrote: Sun Oct 14, 2018 8:51 am
Zju wrote: Sun Oct 14, 2018 8:28 am
Akangka wrote: Sun Oct 14, 2018 8:02 am You then basically creating your own conlanging software just to improve on that.
Maybe that's the goal.
Then you won't bother creating a database for that. It is much harder to distribute a database. Instead, you use XML. You query it using XQuery.
I don't see how XML is much better. SQLite and Microsoft Access use a single file you can easily distribute. With MySQL, you can share the SQL dump.

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 11:54 am
by Zaarin
I use Word for both grammars and lexicons, but I'd like a better solution for lexicons. I'd love to have a program that supports metadata and makes it more convenient to list out all forms of a word (which quickly becomes too cumbersome in Word). Being able to sort words by etymology or semantic category would be a great boon.

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 11:59 am
by Kuchigakatai
Zaarin wrote: Sun Oct 14, 2018 11:54 amBeing able to sort words by etymology or semantic category would be a great boon.
What do you mean by "sort words by etymology"?

Re: Do you know conlang software tools?

Posted: Sun Oct 14, 2018 12:08 pm
by Zaarin
Ser wrote: Sun Oct 14, 2018 11:59 am
Zaarin wrote: Sun Oct 14, 2018 11:54 amBeing able to sort words by etymology or semantic category would be a great boon.
What do you mean by "sort words by etymology"?
I.e., sorting by source language, so native vocabulary versus loanwords from Language X, from Language Y, etc. Also versus neologisms. I color code my vocabulary, but if you have a lot of donor languages that becomes tedious...