/interkonekto

defini e tradukuri di vortari en Ido

Primary LanguageGoGNU General Public License v3.0GPL-3.0

interkonekto

The API at https://api.linguo.io returns (in the JSON format) data of words in the Ido language.

Warning
This project is very unstable and will change frequently until it has time to mature. If you experience issues, please notify the administrator at kontakto@linguo.io.

A simple front end is being co-developed here: https://github.com/linguo-io/vortaro

format

Requests are constructed in the following manner:

query

Preceding the query with an ISO language code, followed by a colon, will treat the query as being written in that language.

Warning
The following feature is not currently available:

If the query is preceded by a tilde, it is interpreted as a regular expression.

data

The data options are:

semantiko

definitions

exemplaro

a few examples of usage

sinonimo

words with similar meanings

kompundi

compound forms

kategorio

associated categories

an ISO language code

en,es,zh,…​

Note
The special request https://api.linguo.io/* will return a list of the available data options.

Multiple selections are made by delimiting options with a coma. If no data options are requested, all of them are returned (for matched queries).

action

The usual HTTP methods will not surprise you.

  • GET: lektar

Warning
The following are not yet implemented:
  • PUT: skribar nova informeso

PUT https://api.linguo.io/linguo semantiko='something or another about language.'
{
  "lingu.o": {
    "semantiko": "something or another about language."
  }
}
  • POST: krear

  • DELETE: efacar

examples

To return the definition of linguo, with example usage:

{
  "lingu.o": {
    "exemplaro": [
      "matrala linguo"
      "intermixo di lingui",
    ],
    "semantiko": "Vortaro e sintaxo propra a komuneso."
  }
}

To return matches of the Russian word язык:

{
  "lingu.o": {
    ...
    "io": "linguo",
    ...
    "ru": "язык",
    ...
  }
}

To return the English translation of every word that begins with vort:

{
  "vortala": {
    "en": "verbal"
  },
  "vortifo": {
    "en": "word formation"
  },
  "vortope": {
    "en": "literally, word for word"
  }
  ...
}

database

The ido table in the SQLite database, ido.db, has the following general format:

Table 1. Column names correspond to data options and each row represents a word.
en io semantiko exemplaro

language

lingu.o

Vortaro e sintaxo propra a komuneso.

matrala linguo
intermixo di lingui

morphology

morfologi.o

(biol., filoz.) Cienco di la diversa formi di materio.
(gram.) Cienco di la diversa formi gramatikala di la vorti.

Note that the io column encodes the morphology of a word by delimiting its segments with the full stop character (or, "period": .); multiple definitions, examples, synonyms, etc., should be separated by a newline.

contributing

If you have any thoughts on the project or want to get involved in any way, reach out to us! We’re social animals, we promise.

pri

The initial data set has been scraped from an Ido Wiktionary data dump. However, due to Wikimedia’s format prioritizing human legibility over machine parsability, much of the data was either completely dropped or just plain corrupted by the parsing process; it is for this reason that we believe Wiktionary to be a poor choice for data storage and retrieval.

Ido will never grow as a language if we cannot write decent programs for it. That is what this repo is all about: a unified resource for universal access.