Giter VIP home page Giter VIP logo

hebrewtransliteration's Introduction

header

       

Hey, I'm Charles

I'm a web developer with a background in Biblical Hebrew — which explains why my Github may seem a little strange to you.

I'll break it down a little more below but know that I love creating software, especially for the web that makes people's lives better.

Web Developer

I love working on the web. The whole stack is fun! From databases to servers to the frontend.

Some web things I'm proud of 🎉

  • The docs for the transliteration library; all the docs are written as doc comments and Typescript types, and the build pipeline converts it to an Astro site using Starlight.
  • A full stack, MVC app written from the ground up; I used some new tech like Drizzle and Hono and some old tech like Sqlite to build an MVC app from the ground up. It was a fun learning experience.
  • This blog post on using the new CSS :has() selector to create a modern hamburger menu.

Hebraist

My background is in historical linguistics, particularly Biblical Hebrew. I wrote a Master's thesis about two pronouns in Hebrew. This is why so many of my repo's are about Hebrew or some other ancient language.

Some Hebrew things I'm proud of 🎉

Problem Solver

What draws the two above together is my love of solving problems. Whether it is making a complex app or creating simple components, wherever there is a challenge, I want to solve it!

hebrewtransliteration's People

Contributors

charlesloder avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

hebrewtransliteration's Issues

Remove DS_Store

remove DS_Store from git; double check that it's in .gitignore

Divine name dropping latin char after

See here

The Latin character after the Divine Name is dropped

Hebrew

כִּי אִם בְּתוֹרַת יְהוָה, חֶפְצוֹ; וּבְתוֹרָתוֹ יֶהְגֶּה, יוֹמָם וָלָיְלָה

Transliteration

kî ʾim bǝtôrat yhwh ḥepṣô; ûbǝtôrātô yehgê, yômām wālāyǝlâ

Use list of schema json files to populate dropdown

Instead of hardcoding the list of transliteration schemas available, populate from the list of schema json files present in the directory.
And when a new schema is uploaded, place in the directory where it can be detected. Maybe add field in the json file for description of the schema.

Improve error handling

Maybe something like:

If there is an error, have a modal that pre-fills a form with browser, the error message, and the input text.

Possibly, not even have the modal, and use a Netlify function to send that data to a google form and then I can get alerted?

JSS schema

I was wondering if the following schema could be added. It approximates the guidelines in the Journal of Semitic Studies stylesheet as far as possible.

  • I don't think it's possible to recognize short/long vowels(?) to distinguish e.g. i and ī, so I used ī for hireq-yod and i for plain hireq, which may require some manual fixes from the user (what would be helpful for this is a separate field for hireq+meteg and qibbuts+meteg).
  • The style guide also prescribes that qamets before hatef qamets be transliterated as long qamets: בַּֽצָּהֳרָֽיִם should be baṣṣå̄hå̆rå̄yim, not baṣṣåhå̆rå̄yim. I am not sure if this can be specified in the current system.
  • Tsere-he is not recognized correctly, I'm not sure why: וְהִנֵּ֥ה should be wǝhinnē, not wǝhinnɛ.

Some characters are not displayed well on my system. Would you be opposed to adding the Brill font as an option after Charis SIL but before Times New Roman for the output text area? Here is what I see now (with Times New Roman) vs with Brill:

2023-06-13-102217_1260x102

2023-06-13-102200_1254x51

{
  "VOCAL_SHEVA": "ǝ",
  "HATAF_SEGOL": "ɛ̆",
  "HATAF_PATAH": "ă",
  "HATAF_QAMATS": "å̆",
  "HIRIQ": "i",
  "TSERE": "ē",
  "SEGOL": "ɛ",
  "PATAH": "a",
  "QAMATS": "å̄",
  "HOLAM": "ō",
  "QUBUTS": "u",
  "DAGESH": "",
  "DAGESH_CHAZAQ": true,
  "MAQAF": " ",
  "PASEQ": "",
  "SOF_PASUQ": "",
  "QAMATS_QATAN": "å",
  "FURTIVE_PATAH": "a",
  "HIRIQ_YOD": "ī",
  "TSERE_YOD": "ē",
  "SEGOL_YOD": "ɛ",
  "SHUREQ": "ū",
  "HOLAM_VAV": "ō",
  "QAMATS_HE": "å̄",
  "SEGOL_HE": "ɛ",
  "TSERE_HE": "ē",
  "MS_SUFX": "å̄yw",
  "ALEF": "ʾ",
  "BET_DAGESH": "b",
  "BET": "",
  "GIMEL": "",
  "GIMEL_DAGESH": "g",
  "DALET": "",
  "DALET_DAGESH": "d",
  "HE": "h",
  "VAV": "w",
  "ZAYIN": "z",
  "HET": "",
  "TET": "",
  "YOD": "y",
  "FINAL_KAF": "",
  "KAF": "",
  "KAF_DAGESH": "k",
  "LAMED": "l",
  "FINAL_MEM": "m",
  "MEM": "m",
  "FINAL_NUN": "n",
  "NUN": "n",
  "SAMEKH": "s",
  "AYIN": "ʿ",
  "FINAL_PE": "",
  "PE": "",
  "PE_DAGESH": "p",
  "FINAL_TSADI": "",
  "TSADI": "",
  "QOF": "q",
  "RESH": "r",
  "SHIN": "š",
  "SIN": "ś",
  "TAV": "",
  "TAV_DAGESH": "t",
  "DIVINE_NAME": "yhwh",
  "SYLLABLE_SEPARATOR": "",
  "ADDITIONAL_FEATURES": [],
  "STRESS_MARKER": {
    "location": "",
    "mark": ""
  },
  "longVowels": true,
  "qametsQatan": true,
  "sqnmlvy": true,
  "wawShureq": true,
  "article": true
}

Sequence issue

In cases of more then one vowel on a letter the sequence messes it up
eg: יְרְוּשָׁלִָֽם
is sequeced as יְרְוּשָׁלִָֽם
which is a mistake.
this is the two words in hex
יְרְוּשָׁלִָֽם
יְרְוּשָׁלִָֽם

Add session storage check to spin up functions

If the user does not support the necessary regex, add a call to server less function to spin it up. Add something into session storage so they don’t make unnecessary calls on every page load

Accent marks in Hebrew - example Goliath variations in text

Goliath transliteration for example - my understanding as per SIL transliteration should be Ḡolyāṯ. Is there a way to handle the accents?
גָּלְיָ֥ת
גָּלְיָת
גָּלְיָת֩
גָּלְיָ֨ת
גָּלְיָ֥ת

Update social icons

In the card footer, add social media icons for myself:

  • github
  • twitter
  • academia
  • linkedin
  • dev.to

Rewrite in Fresh or Astro

There is a lot of user interactivity on this site. It would be better to use components.

I could rewrite this in Astro and host on Netlify. Or, Deno Fresh and host on Deno Deploy

Divine Name transliteration has yǝ- prefix

I found that in general "yǝ-" prefix is added to the tetragrammaton, regardless of what settings. Not sure if I am missing a setting.
For example:
כִּי אִם בְּתוֹרַת יְהוָה, חֶפְצוֹ; וּבְתוֹרָתוֹ יֶהְגֶּה, יוֹמָם וָלָיְלָה.
transliterates to:
kî ʾim bǝtôrat yǝ-adonai ḥepṣô; ûbǝtôrātô yehgê, yômām wālāyǝlâ.
compared to other program
kî ʾim bət̲ôrat̲ ʾăd̲ōnāi, ḥep̲ṣô; ûb̲ət̲ôrāt̲ô yehgeh, yômām wālāyəlāh.

Not recognizing meteg or sof pasup and tammim

See issue here

I thought that by including the sof pasuq mark I would have given it enough informatio to realize that at least one of those two Unicode METEG code points represented silluq rather than gaʿya.

The presence of these should not trigger the notification. I'll fix that (along with toast not dismissing quickly).

Update package.json

Change some dependencies to devDependencies

Add:

  • description
  • author
  • License
  • keywords

at minimal

Feedback button

Maybe once a user makes N number of transliteration (~15–20), have a modal for feedback. Capture:

  • level of satisfaction
  • feedback
  • email?

If dismissed, capture dismissed data like user agent, location, etc.

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.