-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Translation VS Transliteration #2
Comments
Hello @protesilaos! While you're raising justified concern, your suggestion isn't accurate. I took some time wondering if "translation" is the correct word and settled on it. For me, it still does no justice to what I want to convey. Let's look at this together, shall we? Firstly, let's see why we can't call it a transliteration. What induced your error is a peculiarity. Notice that the greek keyboard layout coincides with the transliteration table between the greek and the latin alphabet! I'm not sure if this is true for all letters of the alphabet. You know better than me. See it another way. If you didn't use the US QWERTY keyboard, but US dvorak, then Let me introduce some a basic concept math concept which will make our life easier (hopefully). A bijection (also called a one-to-one correspondence) is simply a map between two sets that have the same cardinality (the same number of elements). Say we have set A = {1, 2} . We could define a bijection f: A -> A Notice that a bijection is always invertible. Informally, you can apply the transformation from left-to-right or from right-to-left and you'll still get a map. With this language, let's see what yeis does. What are the sets? The sets are composed by the symbols relative to a certain input method (usually lower case and upper case letters of a certain alphabet, punctuation marks, numbers, delimiters, etc). How do we define the mapping? Well, that depends on what we're trying to achieve. And here lies the generality of yeis too. It can do whatever you want since it's very easy to define this bijection. For instance, we could define a mapping that would simply map the latin letter Y to Z. As you know some people use QWERTZ instead of QWERTY. So This is the thing we're trying to define - "this going back and forth", irrespective of the direction. Oddly enough, robin (a built-in Emacs dependency yeis leverages) makes a distinction between applying the bijection or its inverse. If you go from Yeis doesn't make this distinction because this is contingent on the selected input method, thus both are manifestations of the same thing. That explains why calling Going back to the issue at hand. The README says:
Which word would you chose? Transformation, perhaps...? |
Thank you for the detailed explanation! Since you suggested "transformation", maybe you could write in the README that it is for "translation and transformation", or something along those lines (because it obviously is a fine point, which can be elaborated in a subsequent section). |
What do you make of the following?
A side note. I've been thinking about rewriting this package following a literate programming approach. This is the sort of extension that requires more documentation than elisp code. As Knuth well said:
|
Yes, the proposed text sounds better. As for the literate program, how would it work with MELPA, should you ever choose to go down that path? |
Oh, I forgot about that. I have no experience with MELPA honestly. I have to do a bit of research there. Anyway, yeis needs to firstly prove itself useful for the users. |
@protesilaos, I forgot to mention something. Due to your observation, I had to rename one of the core functions. Please make the necessary changes to your Regarding the change from
When |
Hello @aadcg! As far as I can tell, this package will not translate a word from one language to another, but will transliterate it.
Merriam-Webster defines transliterate:
So if I type in "greeklish"
geia
and callyeis-translate-current-word
, it will transliterate it intoγεια
(so it changes the alphabet).Is this the case?
The text was updated successfully, but these errors were encountered: