Skip to main content

Add your description here

Project description

textra-api-wrapper

本APIラッパーは、みんなの自動翻訳@TexTra®を利用してテキスト翻訳を行うためのPythonラッパーです。

特徴

  • 簡単にAPIを利用して翻訳を実行できます。
  • Wikipediaやオープンソースソフトウェアのドキュメントの翻訳に適しています。

注意事項

  • 本APIラッパーは「みんなの自動翻訳@TexTra®」の利用規約に基づき、商用目的での利用を禁止しています。
  • 不適切な利用が発見された場合、APIの利用が制限されることがあります。
  • 利用回数に上限が設けられる場合があります。
  • サービス提供期間は保証されていません。
  • 入力されたテキストや用語はNICTのサーバーに記録されることがあります。個人情報や機密情報を入力しないようお願いします。

インストール

pip install textra-api-wrapper

Usage

環境変数の設定

利用の前に以下の環境変数を設定してください。

  • TEXTRA_LOGIN_ID: ログインID
  • TEXTRA_API_KEY: API_KEY
  • TEXTRA_API_SECRET: API_SECRET

ターミナルから設定する例を示します。

export TEXTRA_LOGIN_ID='your_login_id'
export TEXTRA_API_KEY='your_api_key'
export TEXTRA_API_SECRET='your_api_secret'

利用中のOSやシェルによって設定方法は異なりますのでご注意ください。

使用例

テストコードをご参照ください。

from textra_api_wrapper import APIClient


def test_client():
    client = APIClient()
    text = "Hello everyone. My name is ⦅John.⦆"
    res = client.translate(text)

    expected = "皆さんこんにちは、John.と申します。"
    assert res.text == expected
    assert res.original_text == text
    assert res.information["text-s"] == text
    assert res.information["text-t"] == expected
    assert (
        res.request_url
        == "https://mt-auto-minhon-mlt.ucri.jgn-x.jp/api/mt/generalNT_en_ja/"
    )
  • APIClient()により生成されるインスタンスは、英語から日本語への翻訳となります。
  • 翻訳不要記号で囲むことで原文をそのまま出力します。例: ⦅John.⦆
  • 言語の指定はAPIClient(source_lang="ja", target_lang="en")などとします。
def test_ja_to_en():
    client = APIClient(source_lang="ja", target_lang="en")
    text = "こんにちは、皆さん。私の名前は⦅タロー⦆です"
    res = client.translate(text)

    expected = "Hi everyone. My name is タロー."
    assert res.text == expected
    assert res.original_text == text
    assert (
        res.request_url
        == "https://mt-auto-minhon-mlt.ucri.jgn-x.jp/api/mt/generalNT_ja_en/"
    )

ファイル翻訳

ファイル翻訳APIは3つのエンドポイントがあります。登録 (set)、確認 (status)、取得 (get) です。set を行うと API サーバで翻訳が実行されますが、ファイル単位なのである程度の時間がかかります。そのため、登録時には PID のみが返ります。status は翻訳状況の確認、get でファイルを取得できます。

set_file(path)

path で翻訳元のファイルパスを指定します。PID が返りますが、この時点では処理が完了していない可能性があります。

def test_translate_file():
    client = APIClient(source_lang="ja", target_lang="en")
    path = "tests/test_file.txt"
    pid = client.set_file(path)

# pid Example: 12345

file_status()

ファイル翻訳の状況を確認できます。state は状態を表します。

  • -2: 失敗
  • 0: 待機中
  • 1: 処理中
  • 2: 完了
def test_file_status():
    client = APIClient()
    res = client.file_status()

# Example
# [
#     {
#         'id': 71204,
#         'register': '2024-07-15 09:49:24',
#         'state': 2,
#         'title': 'test_file.txt',
#     },
#     {
#         'id': 71181,
#         'register': '2024-07-14 15:19:50',
#         'state': 2,
#         'title': 'README_en_t',
#     },
# ]

get_file(pid, encoding="utf-8", path=None)

API サーバから翻訳済みのファイルを取得して内容を返します。path を指定すると保存します。

  • pid: ファイル翻訳ID
  • encoding (オプション): デフォルトでは utf-8
  • path (オプション): 翻訳後のファイルを保存する場所
def test_get_file():
    client = APIClient()
    path = "tests/test_file_result.txt"
    res = client.get_file(pid=71204, path=path)

# Example:
# "ハイテク大手、革新的なAIツールを発表"

License

本APIラッパーはMITライセンスにより提供されますが、利用にはみんなの自動翻訳@TexTra®の利用規約に従う必要がありますのでご注意ください。

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

textra_api_wrapper-0.2.0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

textra_api_wrapper-0.2.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file textra_api_wrapper-0.2.0.tar.gz.

File metadata

  • Download URL: textra_api_wrapper-0.2.0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for textra_api_wrapper-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2cde25f5c4edd79d54605c92808aa06d7792a1996020b0b833dc596d6e3298f2
MD5 e015e116458dc1b5720346736016a19b
BLAKE2b-256 2054edb0aa7b1c5e999be38f767ce8cdcf068c89e04bb7d9917ff70e1fc05455

See more details on using hashes here.

File details

Details for the file textra_api_wrapper-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for textra_api_wrapper-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5553270cd3d69f2bec75301c33db6d5c1deb75f1b3e52e044248a5050c50e65f
MD5 3f3a71c7ef8564bf4ad32322759fd0b3
BLAKE2b-256 c485fa98c8160ea1744e097aead668b031e05adb151f64d416e37d541b50b43b

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