SPTranslator(SyntaxPreserveTranslator) is a Python library powered by OpenAI API and designed for developers who work with multilingual projects. This library seamlessly translates in-code comments and documentation while meticulously preserving the syntax and structure of your source code and data. SPTranslator supports a wide range of markup languages(e.g., HTML, LaTeX), programming languages(e.g., Python), and data formats(e.g., JSON) and effortlessly integrates with your existing workflow.
To use SPTranslator, first install the required dependencies:
pip install -r requirements.txt
Then, set your OpenAI API key as an environment variable:
export OPENAI_API_KEY="your-api-key"
Or set api_key
to its value:
from sptranslator.translator import Translator
translator = Translator(source_lang="English",target_lang="French",syntax="latex",api_key="your-api-key")
Now, you can use the library to translate text in various markup languages, programming languages, and data formats. Here's an example of translating a LaTeX document from English to French:
from sptranslator.translator import Translator
source_lang = "English"
target_lang = "French"
syntax = "latex"
input_text =
"""\section{Introduction}
There are two steps in our framework: {\em pre-training} and {\em fine-tuning}.
\section{Conclusion}
Our experiments demonstrate the effectiveness of our method."""
translator = Translator(source_lang, target_lang, syntax)
translated_text = translator.translate_text(input_text)
print(translated_text)
This will output the translated LaTeX code:
\section{Introduction}
Il y a deux étapes dans notre cadre: {\em pré-entraînement} et {\em ajustement fin}.
\section{Conclusion}
Nos expériences démontrent l'efficacité de notre méthode.
And here's another example of translating a file from English to French:
from sptranslator.translator import Translator
source_lang = "English"
target_lang = "French"
syntax = "latex"
input_path = "./tests/experiments_details.tex"
output_path = "./tests/experiments_details_fr.tex"
translator = Translator(source_lang, target_lang, syntax)
translator.translate_file(input_path, output_path)
We welcome contributions to this project. To contribute, please follow these steps:
- Fork this repository.
- Create a new branch.
- Make your changes and commit them.
- Push your changes to your fork.
- Submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.