Skip to main content

A tool written in Python to assist with human-driven translation of Minecraft mod(pack)s with a reasonably large number of translation keys.

Project description

OrcaTongue



A command-line tool written in Python to assist with human-driven translation of Minecraft mods, modpacks, and resource packs, with a reasonably large number of translation keys.

This tool is originally written as a first-party solution for use by the Create: Astral translation contributors, to concentrate all translation efforts into one repository, assess which languages are outdated, how much of each language is translated, and to automatically flag any issues.

This repository contains the source code in the src/ directory. The source code is licensed under the MIT License. Feel free to fork this repository for your own needs, as long as you follow the terms set out by the licence.

Features

Git-powered source management

OrcaTongue uses Git to pull translation sources from remote repositories, meaning it can be run from anywhere Git is installed, with maximum compatibility across public Git hosting providers, such as Codeberg/Forgejo, GitHub, Gitlab, and more, without having to manually import translation files.

Developers can specify the Git HTTPS URL, ref, and a specific folder location to pull language files from, providing fine control and allowing minimisation of bandwidth requirements.

American English (en_us) files are automatically indexed from provided sources, and updated by simply running the orcatongue index command.

Multi-source support

One repository, multiple translation projects. Concentrate the effort of community translations in one place for all of your mods, modpacks, and resource packs, minimising friction and maximising contributions.

Tracking for outdated and incomplete translations

OrcaTongue automatically compares differences in your en_us files to identify and track phrases that have been changed, meaning translators spend less time skimming Git diffs, and more time trying to figure out a suitable replacement for that pun that only works in English.

Support for 136 languages out of the box; built specifically for Minecraft projects

OrcaTongue has support for all 136 languages on the minecraft.wiki article, including all 132 real languages supported by Minecraft (not including American English), and the 4 'joke' languages.

Roadmap

1.0.0

  • Project metadata management via a JSON file, storing: project name, OrcaTongue version, groups (and their sources), and languages.

  • Source management, including adding, removing, and listing sources from the command line. Sources are pulled from a remote repository using git archive, allowing fine control over sources per-repository that are to be translated, and reducing bandwidth requirements, especially when pulling from large monolithic repositories.

  • Project indexing with support for standard Minecraft lang file syntax, scraping sources for en_us.json files and recording the language keys and their values in an index JSON file.

  • Group management, allowing multiple individual projects to have different translation scopes in a single OrcaTongue-enabled repository.

  • Language management via the command line, allowing selective languages to be managed based on the community's needs.

  • Importing of existing translated language files from sources and placing them in an OrcaTongue format.

  • Automatic tracking of outdated translations based on changes in the index file.

  • Exporting of translations to Minecraft-readable JSON syntax.

  • A human-friendly frontend that can, at the very least, interface with the languages in group-specific indexes in a focused manner.

1.1.0

  • Automatically show a "percentage translated" status bar, accessible via an API or shown through the project's README file, or similar.

  • Add support for FancyMenu-syntax localisation files.

Installation

OrcaTongue currently does not have any convenient way to install, unless you build from source using uv build.

This will change once the tool is released as version 1.0.0.

Documentation

Documentation for OrcaTongue can be found at the official repository Wiki: https://codeberg.org/The-Shortman/OrcaTongue/wiki

Contribution

OrcaTongue uses uv to build the project and manage dependencies. Ensure you have uv installed, clone this repository, and run uv sync in your local repository to set up a virtual environment and install OrcaTongue's dependencies.

Ensure that you run your commands while the virtual environment is active to prevent dependency conflicts. See here for more information.

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

orcatongue-1.0.0a1.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

orcatongue-1.0.0a1-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file orcatongue-1.0.0a1.tar.gz.

File metadata

  • Download URL: orcatongue-1.0.0a1.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for orcatongue-1.0.0a1.tar.gz
Algorithm Hash digest
SHA256 2a92ec1bcf4c91873b7269eefa6a245099af6a653433fb75f0055ed14aa273c6
MD5 d9d02e2b884100927314e769750e309b
BLAKE2b-256 5698196e6d8d2086cf269be4ab22f8ac0c6a9bf29a0e6f3a8297a4f0fda058c0

See more details on using hashes here.

File details

Details for the file orcatongue-1.0.0a1-py3-none-any.whl.

File metadata

  • Download URL: orcatongue-1.0.0a1-py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"44","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for orcatongue-1.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 8b9587717f9742e7e5b93bd1984b60c6645ba7684bf079b8ba1a87017c7b776c
MD5 0f0126e8b86f0a338c9ea84f62baf06c
BLAKE2b-256 18ed53610a98b2baa8d4ad1174f4494db40e916d5b2562a999c83c74ce398389

See more details on using hashes here.

Supported by

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