2 comments

  • justsomehnguy 14 days ago
    Sadly, a direct replacement of words doesn't work well, eg:

    > The number of examples for which the code is essentially "create a vector of objects, sort them on the x, y, z, or t axis, and pick an index" is quite tripping balls.

    Because 'high' means 'drug induced high' too.

    And of course those pesky declensions...

        @import url('https://fonts.googleapis.com/css2?family=Gelasio:ital,wght@1,600&display=swap');
    
    Yeah, sure, we can't do shit without notifying almighty Google, right?
    • bitsinthesky 11 days ago
      Exactly :)

      But that is a good point, I should just download the font and query it locally. Seems easy enough.

  • bitsinthesky 14 days ago
    I made this project because I spend more time surfing the web than I put aside to study my [target foreign language]... (and to learn some javascript).

    So, I wanted something that would help me learn vocabulary throughout the day. This extension converts random words from whatever webpage I'm looking at into a foreign translation, while still giving me control over the quantity of words transformed and which vocab words. The main idea rests upon an idea one may find disturbing: Purposefully intermixing a language one doesn't know in with another, without regards for grammar or "mental bucketing" between languages.

    This should be used in conjunction with a real language course, as one should understand the structure and grammar etc. of their target language before trying to learn from my extension. On its own I still find it valuable in that it accomplishes two things: 1) it provides you a way to use the context of what you're reading to guess at vocabulary (like motivated flash cards), in subjects that you're more likely to want to know about, and 2) it keeps your attention on learning the foreign language, by consistently reminding/prodding you that you still have more to learn. Maybe it will keep you in a state of very slight guilt that you aren't using your time to study more "properly".

    I would love it if you could give it a look, and let me know what you think; if it's intuitive, has value and a "niche", or if it's just not very useful in the real world.

    The extension is written in plain javascript. All computation is done locally. There are no calls to servers or data collection. I scraped translation data from wiktionary.org with python, which is then kept in local text files. If wiktionary doesn't include a translation for a given word (or, provides gratuitous translations), then that will be reflected in the extension. The translations are strictly unigram translations. This can lead to some pretty funny outcomes, but in general they seem to work surprisingly well. Keeping it computationally lightweight and cost free is fairly important to me, so I've had to make some quality sacrifices. (Maybe the next thing to do to improve translation quality would be to parse a grammar tree, and restrict translated words to equivalent parts of speech. But in that case might as well go all the way and use neural translations). As its roll is to function as a flashcard app, I haven't been too concerned about erroneous translations.

    Features: Users can click through translated words to reveal one that works well for the context. Clicking and holding on a word will open up wiktionary's page on that word, which includes declension, conjugation, pronunciation, and historical information. There is also a "Quiz Mode" which has you type in the word, instead of simply being told it.

    • precompute 11 days ago
      I think it's awesome. Learning words in context really speeds up language acquisition, even if they're direct translations.