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.6.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

flet_translator-1.2.6-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file flet_translator-1.2.6.tar.gz.

File metadata

  • Download URL: flet_translator-1.2.6.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for flet_translator-1.2.6.tar.gz
Algorithm Hash digest
SHA256 595eb9343df5c3f53a3b2fbb3e059d9898920ddeb4e8eeb4705be5e9ee1ad0a1
MD5 1aab51bd7733b76ffcdfb402a2db8970
BLAKE2b-256 ce3c145e46f4e067e822608d4b5116f7d3008a4371b108e6a84ba54901a8222a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flet_translator-1.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8dc99d6ac93f2bd3127250736e321d0638cdd66fb92f3cc82f89b75b837db7e8
MD5 b81bfaa21ce3a09b626d7f1f245a75f1
BLAKE2b-256 88f1b7dc0b8f355e3fdc3fa3eff3d595a7e3eed5d9438a05975be30ca09b7ae3

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