Susurrus-LLC / langua

A suite of language tools
https://susurrus-llc.github.io/langua/
GNU Affero General Public License v3.0
44 stars 3 forks source link
conlang conlanging conlangs derivation dictionary language languages lexicon lexicon-construction linguistics morphology sound-change soundchange syntax syntax-tree vocabulary words

Langua

Build Codacy Badge Codacy Coverage Badge js-standard-style

  1. Overview
  2. Deployment
  3. Versioning
  4. Development Roadmap
  5. Contributing
  6. Authors
  7. Acknowledgments
  8. License

Overview

Langua is a suite of language tools that can be used for testing, experimentation, learning, analysis, or creation. There are several main tools: Gen, Morph, Deriv, Frequen, Tree, and Lex.

Gen

LanguaGen is a tool for automatically building a set of words based on arbitrary rules of phonotactics. This can be used to create a dummy vocabulary for linguistic experimentation, to generate words or names for a naming language in a work of fantasy or science fiction, or as the basis for building the vocabulary of a constructed language.

Morph

LanguaMorph is a tool for modeling historical sound change according to arbitrary rules of phonetic change.

Deriv

LanguaDeriv is a tool for modeling word derivation based on a given list of lexemes and affixes.

Frequen

LanguaFrequen is a tool for analyzing phoneme frequencies in a given text.

Tree

LanguaTree is a tool for drawing and labeling syntax trees.

Lex

LanguaLex is a tool for building a lexicon or dictionary for a language and exporting it to various formats.

Deployment

Langua is a web-based tool built on JavaScript, and it does not use a database, so it can be installed almost anywhere without need for running a back-end server. You simply need to run the build command to build the files, then deploy to your site.

Deployment to Subfolder /langua

If you are installing Langua in the subfolder /langua (e.g. *.com/langua/), all you need to do is build and deploy:

  1. Download and unpack the latest release.
  2. Install the dependencies with yarn.
  3. Build the project with yarn build.
  4. Copy the contents of the resulting /build folder into the /langua subfolder on your server. You're done!

Deployment to Subfolder Other than /langua

If you are installing Langua in a subfolder (e.g. *.com/languages/), you will need to change the basename for the router before you build the project:

  1. Download and unpack the latest release.
  2. Install the dependencies with yarn.
  3. Open gatsby-config.js and change pathPrefix: `/langua`, to pathPrefix: `/yoursubfolder`,.
  4. Build the project with yarn build.
  5. Copy the contents of the resulting /build folder into the appropriate subfolder on your server. You're done!

Deployment to Root

If you are installing Langua in a website's root (e.g. a URL that ends in .com, .org, or similar):

  1. Download and unpack the latest release.
  2. Install the dependencies with yarn.
  3. Open gatsby-config.js and change pathPrefix: `/langua`, to pathPrefix: ``,, then remove the --prefix-paths option from the build and serve commands.
  4. Build the project with yarn build.
  5. Copy the contents of the resulting /build folder into the root of your server. You're done!

Versioning

Langua uses an unstable Master branch. The master branch is used for development, while stable versions are provided as releases. Version numbering is similar to Semantic Versioning; versions are listed as x.y.z., wherein z refers to bug fixes and very minor updates, y refers to minor additions and updates to functionality, and x refers to major updates or overhauls to the program that significantly impact workflow or the use of the program.

For a full list of all changes made in each version of Langua, see the Changelog.

Development Roadmap

Contributing

Please review the contributing guidelines and code of conduct before contributing.

Authors

See also the list of people who have contributed to this project.

Acknowledgments

Langua was inspired by several existing tools, including:

License

Langua is licensed under the GNU Affero General Public License v3.0.