Cara menggunakan python translate language offline

Argos Translate uses OpenNMT for translations and can be used as either a Python library, command-line, or GUI application. Argos Translate supports installing language model packages which are zip archives with a ".argosmodel" extension containing the data needed for translation. LibreTranslate is an API and web-app built on top of Argos Translate.

Argos Translate also manages automatically pivoting through intermediate languages to translate between languages that don't have a direct translation between them installed. For example, if you have a es → en and en → fr translation installed you are able to translate from es → fr as if you had that translation installed. This allows for translating between a wide variety of languages at the cost of some loss of translation quality.

Supported languages

Arabic, Azerbaijani, Catalan, Chinese, Czech, Danish, Dutch, English, Esperanto, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Persian, Polish, Portuguese, Russian, Slovak, Spanish, Swedish, Turkish, Ukrainian

Request a language

Installation

Install with Python

Argos Translate is available from PyPI and can be easily installed or updated with pip.

pip install argostranslate

Install GUI:

pip install argostranslategui

Installation for macOS

  1. Download the latest macOS release.
  2. Extract the archive.
  3. Copy the .app file to the Applications directory.

Python source installation

Download a copy of this repo and install with pip.

git clone https://github.com/argosopentech/argos-translate.git
cd argos-translate
pip install -e .

Examples

Python

import argostranslate.package
import argostranslate.translate

from_code = "en"
to_code = "es"

# Download and install Argos Translate package
argostranslate.package.update_package_index()
available_packages = argostranslate.package.get_available_packages()
package_to_install = next(
    filter(
        lambda x: x.from_code == from_code and x.to_code == to_code, available_packages
    )
)
argostranslate.package.install_from_path(package_to_install.download())

# Translate
translatedText = argostranslate.translate.translate("Hello World", from_code, to_code)
print(translatedText)
# '¡Hola Mundo!'

Command Line Interface

argospm update
argospm install translate-en_de
argos-translate --from en --to de "Hello World!"
# Hallo Welt!

LibreTranslate Web App (Demo)

Cara menggunakan python translate language offline

LibreTranslate API

const res = await fetch("https://translate.argosopentech.com/translate", {
	method: "POST",
	body: JSON.stringify({
		q: "Hello!",
		source: "en",
		target: "es"
	}),
	headers: {
		"Content-Type": "application/json"}
	});

console.log(await res.json());

{
    "translatedText": "¡Hola!"
}

Graphical user interface

The GUI code is in a separate repository.

Cara menggunakan python translate language offline
Cara menggunakan python translate language offline
Cara menggunakan python translate language offline

Packages

  • Browse
  • P2P download (IPFS and BitTorrent)
  • Training scripts
  • Google Drive download

GPU Acceleration

To enable GPU support, you need to set the

pip install argostranslategui
0 env variable to
pip install argostranslategui
1 or
pip install argostranslategui
2.

$ ARGOS_DEVICE_TYPE=cuda argos-translate --from-lang en --to-lang es "Hello World"
Hola Mundo

The above env variable passes the device type to CTranslate2.

HTML Translation

The translate-html library is built on top of Argos Translate and Beautiful Soup and parses and translates HTML. The LibreTranslate API also has support for translating HTML.

Files Translation

The argos-translate-files library is built on top of Argos Translate and parses and translates files. The LibreTranslate API also has support for translating files.

Uninstall

pip uninstall argostranslate

You may choose to also delete temporary and cached files:

rm -r ~/.local/cache/argos-translate
rm -r ~/.local/share/argos-translate

  • LibreTranslate-py - Python bindings for LibreTranslate
  • MetalTranslate - Customizable translation in C++
  • DesktopTranslator - OpenNMT based translation application
  • LibreTranslate-rs - LibreTranslate Rust bindings
  • LibreTranslate Go - LibreTranslate Golang bindings
  • LibreTranslator - LibreTranslate Android app
  • LiTranslate - iOS LibreTranslate client

Contributing

Contributions are welcome! Available issues are on the GitHub issues page. Contributions of code, data, and pre-trained models can all be accepted.

Support

For support please use the LibreTranslate Forum or GitHub Issues.

For questions about CTranslate2 or general machine translation research the OpenNMT Forum is a good resource.