Code Monkey home page Code Monkey logo

avzag's Introduction

Avzag

[Deprecation] The project's legacy continues at various other repos: https://github.com/raxysstudios.

Contacts

Magomed - technical issues.
Azamat - language contents.
Telegram channel with announcements.

Credits

Circassian

Kabardian voiceover by Azamat Birmamitov.

Dargin

Akusha voiceover by Sabina Halalmagomedova.
Kaitag voiceover by Magomed Magomedov.

Ossetian

Under the supervision of Roman Xugati.
Digor voiceover by Vadim Tsallati.
Iron voiceover by Zaurbek Tokati.

avzag's People

Contributors

abduraxhim avatar alkaitagi avatar birma1995 avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

avzag's Issues

Simplify Phrasebook Block transitions

Settings transitions seem to be a bottleneck when working with the tools. The null is essentially the best-of with no candidates. Also, most of the blocks have only 1 state. Therefore:

  • by default, with no transition, use the next transition mode;
  • for blocks with multiple states, convert all explicit null transitions into best-of transitions with 0 candidates.

PhrasebookEditor upgrade

  • ButtonDelete with confirmation & color highlight.
  • ToggleGroup with ability to set off completely.
  • StateTransitionEditor with empty, next & best-of options.
  • StateDisplayEditor with glossing & entity coloring.

Improved UI

Some people mostly use converter functionality. Develop new UI layout where the phonetical table doesn't stand in their way.

Multigrapheme samples

Add the ability to specify and highlight multiple graphical representations of the same phoneme in a single lect. For example, in Kaitag for phoneme /e/ there are 2 graphemes: ⟨э⟩, ⟨е⟩.

Lect Update

🔉 Phonology

  • Consider reorganizing ids to use properties instead of keys.
  • Populate phonetic IPA database.
  • Convert phonetic IPA database into object-array instead of key-value pairs.

🔃 Converter

  • Implement Dropdown component for mapping selection.
  • Implement Toggle component for bool toggling.
  • Fix defaults sample handling.

🏠 Home

  • Implement a new lect card with a new catalog structure.
  • Add map markers for selected lects.
  • Add lects search.

🛠 Editors

  • Phonology editor.
  • Converter editor.
  • Editors navigation.

Nord palette

Replace hard coded CSS color hexes with Nord palette references.

PhraseContext upgrade

  • Update color styling.
  • Create separate color palettes for dark & light modes with css variables.
  • Only give necessary info.

Explore VueX

In order to fascilitate state management (and for sake of learnin a new technology) explore how VueX can benefit the project.

Routing & address arguments

Implement proper routing, history and ability to refer to specific view & language by passing url arguments into the address bar.

PhraseBlockDisplay component

  • Display & color text, ipa & glossing segments.
  • Computed property for copying.
  • Unify 3 strings into one data structure.

Vue.js rewrite

Rewrite current vanilla-js implementation with Vue.js in order to set a solid foundation for the future progress.

Script converter

Implement script converter section for a language:

  • real-time textfield conversion
  • copy result to clipboard
  • choose from multiple mappings
  • upload .txt file
  • display mapping table

In-progress label

Add "Work In Progress" label at some home language cards to indicate their content status.

Unify editors

  • Header navigation.
  • File serialization & deserealization (keep separate record for each editor).
  • File actions (load least, load json, etc.).

Functional URL

Restore URL functionality after updating Lects architecture:

  • Home (selected lects, zoom, position);
  • Phonology (phoneme, lects filter);
  • Converter (lect, source mapping, destination mapping);
  • Phrasebook (phrase, section).

Dictionary Module

Develop a prototype dictionary module, allowing to directly map words between our languages based on their English translation. It is not perfect, but it should be good enough.

Use separate branch for linguistic data

Create db branch in the repository to hold all language data that is currently stored in public/lects. This should make it easier to contribute and allows for a cleaner project structure. Definitely would need the ability to still utilize local data for rapid development.

Editors documentation

Create wiki pages about, remove all panel captions from, and add the corresponding links for:

  • Phonology
  • Converter
  • Phrasebook

SCSS migration

As the cost of maintaining custom CSS elements raises, migrate the project onto using scss preprocessor.

When two entities start with the same letter, one supercedes the other in phasebook editor

Steps to reproduce:

  1. Create two entities for a phrase, for example Plurality and Proximity.
  2. In the editor, when modifying a phrase, both will show the same tags as whichever is created first.
  3. Save the JSON, making sure to double check that the tag values are not overwritten. I noticed that once or twice when playing around with this issue, the actual tag values were being overwritten in the phrasebook.json file.
  4. Compare behavior in the normal interactive editor screen, where this tag overwritting does not occur.

Compare interactive mode:
Screen Shot 2021-01-01 at 18 34 05 PM

Versus editor mode:
Screen Shot 2021-01-01 at 18 35 43 PM

Example below:

{
    "id": "55fe6d97-c8ec-4637-9749-b8c4c85e5d7d",
    "name": "Test Section",
    "phrases": [
      {
        "id": "92a1654f-db81-4377-87a4-bd8ab2eb31fd",
        "preview": "Testing",
        "context": [
          {
            "entity": "plurality",
            "tags": "singular plural"
          },
          {
            "entity": "proximity",
            "tags": "near far"
          }
        ],
        "blocks": [
          {
            "states": [
              {
                "display": [
                  {
                    "text": "This"
                  }
                ],
                "transition": "next",
                "conditions": [
                  {
                    "entity": "plurality",
                    "tag": "singular"
                  },
                  {
                    "entity": "proximity",
                    "tag": "near"
                  }
                ]
              },
              {
                "display": [
                  {
                    "text": "That"
                  }
                ],
                "transition": "next",
                "conditions": [
                  {
                    "entity": "plurality",
                    "tag": "singular"
                  },
                  {
                    "entity": "proximity",
                    "tag": "far"
                  }
                ]
              },
              {
                "display": [
                  {
                    "text": "These"
                  }
                ],
                "transition": "next",
                "conditions": [
                  {
                    "entity": "plurality",
                    "tag": "plural"
                  },
                  {
                    "entity": "proximity",
                    "tag": "near"
                  }
                ]
              },
              {
                "display": [
                  {
                    "text": "Those"
                  }
                ],
                "transition": "next",
                "conditions": [
                  {
                    "entity": "proximity",
                    "tag": "far"
                  },
                  {
                    "entity": "plurality",
                    "tag": "plural"
                  }
                ]
              }
            ]
          },
          {
            "states": [
              {
                "display": [
                  {
                    "text": "is"
                  }
                ],
                "transition": "next",
                "conditions": [
                  {
                    "entity": "plurality",
                    "tag": "singular"
                  }
                ]
              },
              {
                "display": [
                  {
                    "text": "are"
                  }
                ],
                "transition": "next",
                "conditions": [
                  {
                    "entity": "plurality",
                    "tag": "plural"
                  }
                ]
              }
            ]
          },
          {
            "states": [
              {
                "display": [
                  {
                    "text": "a"
                  }
                ],
                "conditions": [
                  {
                    "entity": "plurality",
                    "tag": "singular"
                  }
                ]
              }
            ],
            "requirements": [
              {
                "entity": "plurality",
                "tag": "singular"
              }
            ]
          },
          {
            "states": [
              {
                "display": [
                  {
                    "text": "test"
                  }
                ],
                "transition": "next",
                "conditions": [
                  {
                    "entity": "plurality",
                    "tag": "singular"
                  }
                ]
              },
              {
                "display": [
                  {
                    "text": "tests"
                  }
                ],
                "transition": "next",
                "conditions": [
                  {
                    "entity": "plurality",
                    "tag": "plural"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }

Converter universal phonemic approximation

Using phoneme-grapheme pairs, try to approximate text from one language into another by utilizing phoneme approximation similar to how it work during language acquisition.

Vector tiles for map

Utilize vector tiles in Leaflet instead of raster tiles to increase loading speed & performance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.