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

Uploaded Source

Built Distribution

flet_translator-1.2.5-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flet_translator-1.2.5.tar.gz
  • Upload date:
  • Size: 8.8 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.5.tar.gz
Algorithm Hash digest
SHA256 725cfd5607078002591da1ba5b28eda7d8fab3382383628d625935b57c8f0df4
MD5 477a28bac57ff4fd2bbe6eb50643f2a2
BLAKE2b-256 f02b7354a7e77ae0fe5c85576288de9f8404ee71f63da9cdb07b96c9c3ecef53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flet_translator-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9aa1efd81a2f3f18a3016713196d2d8497e41ae0125a062fa325d089816a6d82
MD5 851a59f007ef3575b6df4dfabfa679b5
BLAKE2b-256 90b5a35f0e71d64c168a1b8c89b8ed0151400cc25eddf9d324b9ad4df62a3a52

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