langding

๐Ÿ—บ๏ธ Langding

Python Status License: GPL v3

Langding is an AI-driven landing page auto-translation tool. It reads HTML files, extracts text content, translates it into multiple languages using OpenAIโ€™s GPT models, and generates translated HTML files. This tool is useful for quickly localizing web pages into different languages.

๐Ÿ“š Table of Contents

โœจ Features

๐Ÿ› ๏ธ Installation

  1. Clone the Repository:

    git clone https://github.com/JuanVilla424/langding.git
    cd langding
    
  2. Create a Virtual Environment

    python -m venv venv
    
  3. Activate the Virtual Environment

    On Unix or MacOS:

    source venv/bin/activate
    

    On Windows:

     .\venv\Scripts\activate
    
    • or
     powershell.exe -ExecutionPolicy Bypass -File .\venv\Scripts\Activate.ps1
    
  4. Upgrade pip

    python -m ensurepip
    pip install --upgrade pip
    
  5. Set up your OpenAI API key:

    Obtain your API key from OpenAI and set it as an environment variable:

    export OPENAI_API_KEY='your-api-key-here'
    
  6. Install Dependencies

    pip install -r requirements.txt
    
    • Deactivate the Virtual Environment

    When youโ€™re done, deactivate the environment:

     deactivate
    

โš™๏ธ Configuration

Environment Variables:

Create a .env file in the project root directory and populate it with the following variables:

INPUT_DIR=input
OUTPUT_DIR=output
LANGS=["English","Spanish","French","German"]
OPENAI_MODEL="gpt-3.5-turbo"

๐Ÿš€ Usage

๐Ÿ“ฆ Initialization

  1. Prepare Input HTML Files: Place your HTML files that you want to translate into the input directory (or your specified input directory).

  2. Configure Settings: Ensure your environment variables are set, or prepare to pass configurations via command-line arguments.

Translating HTML Files

Run the main script:

python langding.py

This will process all HTML files in the input directory and generate translated versions in the output directory.

Command-Line Arguments

You can customize the behavior using the following arguments:

--input-dir: Specify the input directory containing HTML files.

python langding.py --input-dir path/to/your/input

--output-dir: Specify the output directory for the translated files.

python langding.py --output-dir path/to/your/output

--languages: List of languages to translate into.

python langding.py --languages Spanish,Italian,Japanese

--log-level: Set the logging level (INFO or DEBUG).

python langding.py --log-level DEBUG

๐Ÿ“ Example Usage

python langding.py --input-dir input_html --output-dir translated_html --languages Spanish,German --log-level INFO

๐Ÿ“œ Environment Variables

Ensure all required environment variables are set in the .env file:

Global Variables
    INPUT_DIR: Directory containing input HTML files.
    OUTPUT_DIR: Directory to save output files.
    LANGS: List of languages to translate into.
    OPENAI_MODEL: OpenAI Model Target.

๐Ÿ“Š Logging

Logs are maintained in logs/langding.log with rotating file handlers to prevent excessive file sizes.

Log Levels:
    INFO: General operational messages.
    DEBUG: Detailed diagnostic information.

๐Ÿ“ซ Contact

For any inquiries or support, please open an issue or contact r6ty5r296it6tl4eg5m.constant214@passinbox.com.


๐Ÿ“œ License

2024 - This project is licensed under the GNU General Public License v3.0. You are free to use, modify, and distribute this software under the terms of the GPL-3.0 license. For more details, please refer to the LICENSE file included in this repository.