A package that help flet developers to make their apps support multiple languages
Project description
flet_translator
flet_tranlator, An easy-to-use package for make your flet app support multiple languages without effecting any of your original flet code! Code your app in your native language like for example German, then with one simple line of code your app will be ready in any of your target language, English, France or Arabic you say it!!.
Installation
You can install flet_translator
using pip:
pip install flet_translator --upgrade
Example and Usage
There is two modes of translation with this package. The first one is with use_internet = True
, this will use Google Translation API for all translation requests. The second one is with use_internet = False
this will use a local Machine learning translation model for all translation requests.
This is an example usage of using TranslateFletPage
class with Google translation API:
from flet_translator import TranslateFletPage, GoogleTranslateLanguage
import flet
def main(page: flet.Page):
# Create a TranslateFletPage instance
tp = TranslateFletPage(page=page, into_language=GoogleTranslateLanguage.turkish, use_internet=True)
c = flet.Container(content=flet.Text("I will be Turkish!"))
page.add(c)
# This will update the translations and page at the same time.
tp.update()
flet.app(target=main)
This is an example of using TranslateFletPage
class with local translation model:
from flet_translator import TranslateFletPage, OpusmtLanguage
import flet
def main (page:flet.Page):
# Create a TranslateFletPage instance
tp = TranslateFletPage(page=page, into_language=OpusmtLanguage.ar, use_internet=False)
c = flet.Container(content=flet.Text("I will be Arabic!"))
page.add(c)
# This will update the translations and page at the same time.
tp.update()
flet.app(target=main)
Its really simple and easy 😃!
TranslateFletPage
properties
use_internet
(You can set this once with the --init--): If you set this toTrue
, then all translation requests will be using Google translation API. But if you set it toFalse
then all the translation requests will be using the local machine learning that trained for translating.from_language
: The main language, the language that are the contents written with. Withuse_internet = True
you can set this toGoogleTranslateLanguage.auto
.skiped_controls.append (control)
: A property list containing all controls you choose that will be skipped as they will not be translated.into_language
: The target langauge, the language that the app should be translated to.activate_google_translation()
: A function property for switching the translation mode intouse_internet = True
.activate_local_ML_translation()
: A function property for switching the translation mode intouse_internet = False
.
suggestions
While using Google API for translating can be stable if you have a stable internet, trusted results and fast. But it needs internet, also google servers may give you a temporarily block if you did spam the translation requests.
The local ML translation model is also can be reliable and fast and super stable. But it takes a storage in the client side, also it need a device performence for translating the app.
So the best choice for you can depend on the project app needs and requirements. I think if your flet app is a website and it run on a server side, then using the local machine learning will be much better as your server is have a good performence and will expect multiple translation requests.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file flet_translator-1.2.tar.gz
.
File metadata
- Download URL: flet_translator-1.2.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bc5d265826e07cf5a6a0908b79823837c0e75e45c53a278d0485a44a55a92f0 |
|
MD5 | 0823b533c09f1fed6f460af43c949787 |
|
BLAKE2b-256 | 9161cc2d66550c1cf3de4b929c5c7e5c79e2cba34b9b2a83cd670033381b517f |
File details
Details for the file flet_translator-1.2-py3-none-any.whl
.
File metadata
- Download URL: flet_translator-1.2-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4524c1f17baa7d5f9f4cfaee0ba1b0f994eec5431b3866395c034dc1a6883ea0 |
|
MD5 | 48e70f579b82b9a5c3247e27b3eb8d11 |
|
BLAKE2b-256 | 2ee408cea211cbc5f731de3369862cf8036ae7fb3437845c4e8e831fa890219c |