Do you know conlang software tools?
Do you know conlang software tools?
For saving grammar, vocabulary, etc.
IPA of my name: [xʷtɛ̀k]
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
- JT the Ninja
- Posts: 34
- Joined: Thu Oct 11, 2018 3:29 pm
- Contact:
Re: Do you know conlang software tools?
Google Docs and OpenOffice
ìtsanso, God In The Mountain, may our names inspire the deepest feelings of fear in urkos and all his ilk, for we have saved another man from his lies! I welcome back to the feast hall kal, who will never gamble again! May the eleven gods bless him!
kårroť
kårroť
-
- Posts: 1307
- Joined: Mon Jul 09, 2018 4:19 pm
Re: Do you know conlang software tools?
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.
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.
-
- Posts: 1307
- Joined: Mon Jul 09, 2018 4:19 pm
Re: Do you know conlang software tools?
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.
{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.
-
- Posts: 44
- Joined: Fri Jul 13, 2018 6:35 pm
- Location: Glastonbury, CT
- Contact:
Re: Do you know conlang software tools?
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.
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.
-
- Posts: 99
- Joined: Mon Jul 30, 2018 8:21 am
Re: Do you know conlang software tools?
Yeah, I used to use LexiquePro as dedicated dictionary software, but now I just do them in Excel. Grammars I do in Word.
The Man in the Blackened House, a conworld-based serialised web-novel.
Re: Do you know conlang software tools?
Why about LexiquePro?Curlyjimsam wrote: ↑Sat Oct 13, 2018 3:30 pmYeah, I used to use LexiquePro as dedicated dictionary software, but now I just do them in Excel. Grammars I do in Word.
Also do you know application to create a conmap?
IPA of my name: [xʷtɛ̀k]
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
Re: Do you know conlang software tools?
Do you know how to create more than one conlang there?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.
IPA of my name: [xʷtɛ̀k]
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
Re: Do you know conlang software tools?
Having gotten around to it yet, but this is the approximate structure I plan to use for most or all dictionaries in the future:
Once you set up the DB properly, viewing any data and combination thereof is as easy as writing a request.
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 */;
/j/ <j>
Ɂaləɂahina asəkipaɂə ileku omkiroro salka.
Loɂ ɂerleku asəɂulŋusikraɂə seləɂahina əɂətlahɂun əiŋɂiɂŋa.
Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ.
Ɂaləɂahina asəkipaɂə ileku omkiroro salka.
Loɂ ɂerleku asəɂulŋusikraɂə seləɂahina əɂətlahɂun əiŋɂiɂŋa.
Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ.
-
- Posts: 44
- Joined: Fri Jul 13, 2018 6:35 pm
- Location: Glastonbury, CT
- Contact:
-
- Posts: 431
- Joined: Fri Jul 13, 2018 8:40 am
Re: Do you know conlang software tools?
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?
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.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:
Once you set up the DB properly, viewing any data and combination thereof is as easy as writing a request.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 */;
IPA of my name: [xʷtɛ̀k]
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
Re: Do you know conlang software tools?
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.
Maybe that's the goal.
/j/ <j>
Ɂaləɂahina asəkipaɂə ileku omkiroro salka.
Loɂ ɂerleku asəɂulŋusikraɂə seləɂahina əɂətlahɂun əiŋɂiɂŋa.
Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ.
Ɂaləɂahina asəkipaɂə ileku omkiroro salka.
Loɂ ɂerleku asəɂulŋusikraɂə seləɂahina əɂətlahɂun əiŋɂiɂŋa.
Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ. Hərlaɂ.
Re: Do you know conlang software tools?
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.
IPA of my name: [xʷtɛ̀k]
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
Favourite morphology: Polysynthetic, Ablaut
Favourite character archetype: Shounen hero
-
- Posts: 99
- Joined: Mon Jul 30, 2018 8:21 am
Re: Do you know conlang software tools?
LexiquePro was pretty good, but in the end I just found Excel more versatile.Akangka wrote: ↑Sun Oct 14, 2018 2:20 amWhy about LexiquePro?Curlyjimsam wrote: ↑Sat Oct 13, 2018 3:30 pmYeah, I used to use LexiquePro as dedicated dictionary software, but now I just do them in Excel. Grammars I do in Word.
Also do you know application to create a conmap?
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.
The Man in the Blackened House, a conworld-based serialised web-novel.
-
- Posts: 1307
- Joined: Mon Jul 09, 2018 4:19 pm
Re: Do you know conlang software tools?
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?
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.
But if of ships I now should sing, what ship would come to me?
What ship would bear me ever back across so wide a Sea?
What ship would bear me ever back across so wide a Sea?
-
- Posts: 1307
- Joined: Mon Jul 09, 2018 4:19 pm
Re: Do you know conlang software tools?
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...
But if of ships I now should sing, what ship would come to me?
What ship would bear me ever back across so wide a Sea?
What ship would bear me ever back across so wide a Sea?