globalbibletools / lexicon-translation

1 stars 0 forks source link

prototype vscode editor for lexicon files #1

Closed arrocke closed 3 months ago

arrocke commented 4 months ago

We want to build a prototype editor view as a vscode extension for editing lexicon entry xml files. The extension should load a custom editor to edit XML files in the globalbibletools/semantic-dictionary repository.

Pertempto commented 4 months ago

Questions to clarify my understanding...

Pertempto commented 4 months ago

@arrocke can you initialize the git repo for this one with at least something? GitHub doesn't seem to allow me to push a branch.

Pertempto commented 4 months ago

Or maybe it is an access rights problem.

git push --set-upstream origin prototype-addison
remote: Permission to globalbibletools/lexicon-translation.git denied to Pertempto.
fatal: unable to access 'https://github.com/globalbibletools/lexicon-translation.git/': The requested URL returned error: 403
arrocke commented 4 months ago

Ok, I think I fixed the permission issue

Pertempto commented 4 months ago

The idea is to allow the user to edit any of the fields in the XML file, correct?

Still very early, but I've made a bit of progress.

image

arrocke commented 4 months ago

Probably not every field needs to be editable. Only things that would be rendered in a UI in a given language need to be translated. So things like IDs, contributor names, URLs, strongs numbers, etc would not be editable. If somebody wants to do an analysis of the schema and make a recommendation for which fields should be translated, that would be a great starting point

Pertempto commented 4 months ago

I added comments with the fields I thought might need translating.

JSON version of `000001.xml` ```js { "Lexicon_Entry": { "StrongCodes": { "Strong": [ "H0003", "A0004" ] }, "Authors": { "Author": "Reinier de Blois" }, "Contributors": "", "AlternateLemmas": "", "MainLinks": "", "Notes": "", // Translate "ContributorNote": "", // Translate "BaseForms": { "BaseForm": { "PartsOfSpeech": { "PartOfSpeech": "nsm" }, "RelatedLemmas": { "RelatedLemma": { "Word": "" // Not sure } }, "BaseFormLinks": "", "LEXMeanings": { "LEXMeaning": [ { "LEXDomains": { "LEXDomain": "Vegetation" // Translate }, "LEXSenses": { "LEXSense": { "DefinitionLong": "", // Translate "DefinitionShort": "= part of a plant or tree that is typically surrounded by brightly colored petals and will eventually develop into a fruit", // Translate "Glosses": { "Gloss": [ // Translate "blossom", "flower" ] }, "Comments": "" // Translate } }, "LEXReferences": { "LEXReference": 2200601100016 }, "LEXVideos": "", "LEXCoreDomains": { "LEXCoreDomain": "Plant" // Translate } }, { "LEXDomains": { "LEXDomain": "Stage" // Translate }, "LEXCollocations": { "LEXCollocation": "בְּאֵב" } } ], "LEXSenses": { "LEXSense": { "DefinitionLong": "", // Translate "DefinitionShort": "= state in which a plant or tree has developed blossoms", // Translate "Glosses": { "Gloss": "blossom" // Translate }, "Comments": "" // Translate } }, "LEXReferences": { "LEXReference": 1800801200006 }, "LEXVideos": "", "LEXCoreDomains": { "LEXCoreDomain": "Plant" // Translate } }, "LEXMeaning": { "LEXDomains": { "LEXDomain": "Fruits" // Translate }, "LEXSenses": { "LEXSense": { "DefinitionLong": "", // Translate "DefinitionShort": "= part of a plant or tree that carries the seed and is often edible", // Translate "Glosses": { "Gloss": "fruit" // Translate }, "Comments": "" // Translate } }, "LEXReferences": { "LEXReference": [ 2700400900008, 2700401100032, 2700401800010 ] }, "LEXVideos": "", "LEXCoreDomains": { "LEXCoreDomain": "Plant" // Translate } } } } } } ```

It seems like these are the keys to look out for, no matter where they appear nested

Pertempto commented 3 months ago

Useful document - https://docs.google.com/document/d/1K1KATgH7Dn5whr3tLBSR4Y0NIqUbw9nWUt9jpYGVgF0/

arrocke commented 3 months ago

I took a look at the fields you identified, and it seems like LEXCoreDomain and LEXDomain come from this XML file, that we will translate as well. My guess is that we can translate that file and then use that data to replace them where they are used in every word.

I'm going to suggest that for the prototype, especially while we are trying to figure out this vscode stuff, we focus on the definitions and the glosses. We'll need to figure out how to connect to the lexical domain data set next, but one thing at a time

arrocke commented 3 months ago

Here is what I'm thinking we need to demonstrate in this prototype. I'm curious what others think.

It may also be useful to see how we can integrate with work that others are doing in vscode:

arrocke commented 3 months ago

Closing this now in favor of #2