I'm developing an Android translation app and I've been searching a translation API with the capacity of language packages download to use the app offline but I'm not able to find something similar. I've found two open source API, MyMemory and Apertium but I don't know how can I use them offline. Any ideas? Thank you
Android Translate API
1.4k Views Asked by gonver AtThere are 2 best solutions below
unhammer
On
Apertium is completely free and open source, including the language data, and it should be possible to run all the language pairs offline on a phone. In practice, some of the "newer" language pairs might require a bit of work since they have dependencies on C++ programs that haven't been ported to Android yet (cg-proc from the vislcg3 package and hfst-proc from the HFST package).
Still, quite a lot of the work has been done already, and there's an "example" app you can build on – http://wiki.apertium.org/wiki/Apertium_Android explains it:
The goal of the 'official' Apertium Android app is to provide example code on how to integrate Apertium offline translation into an Android app.
It requires internet permission to enable users to download language pairs (and developers to showcase their work from a phone).
You can of course make it not even require Internet permission by bundling the language pairs into the app.
(If you need some of the other language pairs and are interested in making cg-proc/hfst-proc work on Android, you should probably get in touch with the relevant maintainers.)
Related Questions in ANDROID
- Creating global Class holder
- Flutter + Dart: Editing name of a tab shows up a black screen
- android-pdf-viewer Received status code 401 from server: Unauthorized
- Sdk 34 WRITE_EXTERNAL_STORAGE not working
- ussd reader in Recket Native module
- Incorrect display of LinearGradientBrush in IOS
- The Binary Version Of its metadata is 1.8.0, expected Version is 1.6.0 build error
- I can't make TextInput to auto expand properly in Android
- Creating multiple instances of a class with different initializing values in Flutter
- How to create a lottie animation
- making android analyze with coverity sast tool
- Flutter plugin development android src not opening after opening example
- I initialize my ViewModel in the Activity with several fragments as tabs, but the fragments(tabs) return null for the updated livedata
- Node.js Server + Socket.IO + Android Mobile Applicatoin XHR Polling Error...?
- How I can use the shared preferences class?
Related Questions in API
- Google Sheets API - Append Request not working
- Is there really no product for docs that has these?
- How to show suggested content in response using Azure Cognitive Search?
- error message when closing current position in binance futures, using ccxt library
- How to filter API data in React Native
- I have fetched an API with JS, but the output looks really bad and I don't know how to fix it
- Session is not storing in react and Asp Dot Core Web API
- Apex charts not rendering series value, showing cannot map values of NULL
- Configure IIS to accept API calls only from API Manager, Deny from direct calls
- Problems with API return using the Axios library in NextJS
- How to query by Iteration in pyral?
- Is there a way to have a user enter a url query and have a single function filter a database?
- Cant get value in Vue from data
- Read stories/posts using instagram API
- Need To Make Minor Change To REST API Response
Related Questions in TRANSLATION
- DirectX 9 With No SDK Installed - How To Translate a D3DMATRIX?
- How to modify features of tfidfvectorizer from English to Spanish
- integrate huggingface inference endpoint with flowise
- System.Recources.Resourcemanager only finds the 'default' .resx file (translation file) based on the CultureInfo object
- How do I implement bilingual sentence alignment for English and Japanese texts in Python and export them to XLSX?
- TypeError: Translator.translate() missing 1 required positional argument: 'text'
- Parameterisation of yup translation - next.js
- Displaying Marathi(Non English Characters) using PIL library onto the OpenCV Interface not working as needed
- Updating comments with references in .po translation
- Langchain/Huggingface Pipeline Error about model_kwargs which I did not include
- Getting error when upload training data for Azure Custom Translator using API with C#
- How do I display a language like Hindi, Marathi that don't have English characters in an open cv feed?
- Use a default/fallback value if the translation is not available in Lingui, React
- Why doesn't video-conferencing with subtitles exist?
- Error configuring flask-babel method jinja2 not found
Related Questions in OFFLINE
- Can be their an extension to save pages in as offline in the browser itself?
- How to effectivetly store tons of images in local database in flutter/android
- Persist Offline Tokens in separate database
- Automatic speech recognition from scratch
- How to add nuget package for offline tfs build task
- Is there a way to install the vscode plugin offline in the local WSL via vscode's ssh?
- Offline / Online Hybrid Java (Spring Boot) application
- PWA application does not work without internet
- Keycloak Offline token invalidated after logout
- PWA Offline Login Procedure
- Extract data from Prometheus and Loki with No Internet Connection
- Flutter packages offline development with "any"
- How to use MinimalLayout.exe for Visual Studio
- How can I make an Excel macro work without internet connection?
- Can UnetStack run offline?
Related Questions in APERTIUM
- I can't install apertium on Colab due to it not finding a library
- Apertium package in Python returns module not installed error after installing module
- Can't install apertium language packages from source - make command shows errors
- Apertium unexpected output sentence divided into three parts
- APERTIUM PYTHON: Translation from Spanish to Catalan
- Apertium + Python: POS-tagger not providing surface form
- How to make an offline translator?
- How to build jar files for apertium translation pairs
- Unable to generate mode files in apertium for Eng-fra language pair
- how to remove translation error in apertium language pair?
- compiling error in apertium language pair
- How to boot-strap a language pair in apertium?
- Apertium translator. Is there a way to get the original phrase
- Android Translate API
- java.lang.NoClassDefFoundError when Translating
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Translating is a very complex problem. There are no good offline translation engines that would work well on a Android phone.
MyMemory is just a translation memory, e.g. it stores millions of existing translation, but this will not help much with your app. Apertium is also an online service.
There are great translation apps from Microsoft and Google. I would try to build something different.