-
Notifications
You must be signed in to change notification settings - Fork 67
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
Support for adding new language pairs #34
Comments
The format of the language pair packages is almost the same as that used by Apertium, which is documented at http://wiki.apertium.org/wiki/Language_pair_packages. Some differences:
This has not been properly documented yet, but you can easily see the differences by downloading a Mitzuli package and an Apertium package and comparing them side by side. The script and instructions to create Apertium packages should serve for Mitzuli with minor modifications. I do have some scripts for package maintenance, but would not be very helpful for somebody else as they are. Regarding the signature in the manifest file, note that Mitzuli/Apertium packages include Java bytecode that is used for transfer, making them vulnerable to code injection attacks (an attacker could inject arbitrary bytecode when the user downloads a language pair or once it is in the file system, and this code would be run by the app). The signing mechanism protects against this type of attacks by verifying the integrity of the packages. Put it simple, every time I publish a language pair I sign it with a "secret" private key and set the signature in the manifest file accordingly. When the app loads a package it verifies that it was indeed signed by my "secret" key using its corresponding public key. public_key.der contains this public key, and should be created together with the private key if you want to maintain a separate package repository (unlikely unless you want to create a complete fork). In any case, package signing can be disabled in the app settings. If all you wanted was to see those missing language pairs in Mitzuli, note that most of them (if not all) are incompatible with Android. I think that you yourself created an issue on this in the Apertium repo ;) In any case, it is true that I haven't updated the language pairs for a very long time, I will do it when I get some time. |
Thanks for the detailed explanation. And also I was able to add new language pairs (Without signature verification). As you said just find out some of them are not compatible with android the hard way :) .Anyway thanks for this wonderful project ,it's really helpful. |
Please add these languages English-French |
I am trying to compile new language pairs from apertium. I was able to compile the language pairs but had only data and modes, don't know where to find the class.jar file. I really like to use the same format in which this app is using the language pairs. What is the signature in manifest file ? ,how can I edit public_key.der to add new files?. Any help is greatly appreciated .If I am successfull I am happy to contribute to mitzuli. Fom what can I see there are new language pairs http://apertium.projectjj.com/win32/nightly/data.php.
The text was updated successfully, but these errors were encountered: