Skip to main content

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 to True, then all translation requests will be using Google translation API. But if you set it to False 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. With use_internet = True you can set this to GoogleTranslateLanguage.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 into use_internet = True.
  • activate_local_ML_translation(): A function property for switching the translation mode into use_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

flet_translator-1.2.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

flet_translator-1.2-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

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

Hashes for flet_translator-1.2.tar.gz
Algorithm Hash digest
SHA256 0bc5d265826e07cf5a6a0908b79823837c0e75e45c53a278d0485a44a55a92f0
MD5 0823b533c09f1fed6f460af43c949787
BLAKE2b-256 9161cc2d66550c1cf3de4b929c5c7e5c79e2cba34b9b2a83cd670033381b517f

See more details on using hashes here.

File details

Details for the file flet_translator-1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for flet_translator-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4524c1f17baa7d5f9f4cfaee0ba1b0f994eec5431b3866395c034dc1a6883ea0
MD5 48e70f579b82b9a5c3247e27b3eb8d11
BLAKE2b-256 2ee408cea211cbc5f731de3369862cf8036ae7fb3437845c4e8e831fa890219c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page