Skip to content

Releases: mrf0rtuna4/Git-Markdown-AutoTranslator

Git-Markdown-AutoTranslator v2.3.1

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 06 Aug 14:46

v2.3.1

Changes

  • Improved localization processing and translation workflow handling.
  • Refactored core application components for better maintainability and reliability.
  • Updated provider handling logic with minor fixes.
  • Added project metadata and dependency management through pyproject.toml.
  • Migrated dependency locking to uv.lock.
  • Updated Docker configuration and Python version management.
  • Removed legacy development requirements file.
  • Updated documentation to reflect the latest project structure and usage changes.

This release contains internal improvements, refactoring, and maintenance updates without introducing breaking changes.

Full Changelog: v2.3.0...v2.3.1

Git-Markdown-AutoTranslator v2.3.0

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 04 Jun 12:46

v2.3.0

Highlights

  • Added a new translation provider abstraction, making it easier to support multiple deep-translator engines in a consistent way.
  • Introduced support for provider, source_language, provider_options, and validate_provider configuration options.
  • Added provider validation so you can test connectivity and credentials before processing markdown files.
  • Expanded the action metadata and documentation to reflect the new configuration model.
  • Improved argument parsing and error handling for invalid inputs and unsupported markdown files.
  • Refactored localization, processing, logging, and filesystem handling for better structure and maintainability.

Improvements

  • More robust localization workflow with cleaner separation of concerns.
  • Better support for provider-specific credentials and environment variables.
  • Updated Docker and GitHub Actions configuration.
  • Expanded type stubs for deep_translator integrations.
  • Added comprehensive tests for the localizator, processor, providers, and main entrypoint.

Testing

  • New automated test coverage was added across core translation and localization components.
  • The release includes fixtures for GitHub-flavored markdown translation scenarios.

Notes

  • Existing workflows may need to be updated to use the new configuration options.
  • The default provider remains GoogleTranslator.
  • For providers that require credentials, make sure the corresponding environment variables are set.

PR's

  • feat(MD_AST): Implement Markdown AST parsing by @mrf0rtuna4 in #4

Full Changelog: v2.2.1...v2.3.0

v2.2.1

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 24 May 12:23
c2dd620

🚀 Release v2.2.1

🐛 Fixed

  • Fixed error in Dockerfile that led to the error "File N was not found in the directory ..."

Full Changelog: v2.2.0...v2.2.1

v2.2.0

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 20 May 09:19

🚀 Release v2.2.0

👍 Added

  • max_threads input in action.yml to control concurrent translation calls.
  • Call‑out block exclusion: lines beginning with > [!…] (e.g. > [!WARNING] …) are now automatically skipped (preserved verbatim) rather than run through the translator.
  • Regex‐cleanup step in Processor.build_file to strip stray spaces inside **bold** and __italic__ markers after placeholder restoration.

🛠 Changed

  • Action metadata (action.yml)

    • Switched fully to inputs/with syntax.
    • Added max_threads (default: 5) alongside existing files, langs, debug and max_line_length.
  • Dockerfile

    • Pinned to python:3.9.16‑slim.
    • Runs under a non‑root appuser, copies the entire core/ tree, and invokes core/main.py.
  • core/main.py

    • Now parses exactly five sys.argv parameters (files, langs, debug, max_threads, max_line_length).
    • Dynamically adjusts logging level when debug: 'true'.
  • Concurrency model

    • Switched translation calls to use an asyncio.Semaphore(max_threads) instead of default fully‐parallel gathers, preventing API‑quota bursts.
  • Placeholder handling (processor.py)

    • Always store “original” text as a string (not tuple) to avoid the TypeError in _restore_placeholders.
    • Introduced a new _MD_BLOCK_NOTE placeholder type for skipped call‑outs.

🐛 Fixed

  • Markdown‐element spacing: fixed bug where **test** could become ** test ** after placeholder round‑trip.
  • Placeholder restore: corrected replacement logic so every placeholder is properly re‑inserted as its original string.

🚫 Removed

  • CPU‐process pool sketch from v2.2.0 pre‑releases—decided to preserve the existing escape/placeholder stability rather than introduce a max_processes fork.

v2.1.0

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 25 Nov 16:29

✨ v2.1.0 🎉

🔥 Major changes

  1. Saving empty lines:
  • Now empty lines are no longer lost! 🛠️
  • Blank lines are preserved as is to ensure that the structure of the original document remains unchanged. This ensures that Markdown markup is displayed correctly. ✅
  1. Improved splitting of long lines:
  • Long lines are split more correctly. Now splitting does not break the content, keeping the words whole. ✂️
  • Added logic to find space before break point. 📏
  1. Update of placeholder processing:
  • Complete refactoring of the mechanism for replacing and restoring placeholders (_BL0CK, _L1NK, _HTML and others). 🔄
  • Added detailed debug information for tracking placeholders. 🔍
  1. Protection against missed placeholders:
  • The system now checks that all placeholders have been replaced. If there are any left, processing will not complete until they are fixed. 🛡️

⚡ String processing logic

  • Added check for empty lines:
  • Empty strings are automatically added to the translation without calling the API. This reduces the load on Google Translate. 🌱
  • Automatically ignore placeholder-only lines:
  • If a line consists only of placeholders, it is not sent for translation, but is saved in its original form. 💡

🐛 Bug Fixes

  • 🛠 Fixed bug with NoneType in strings:
  • Previously, the application crashed if None appeared in the string list. Now such strings are replaced with empty ones (""). 🔧
  • 🔗 Placeholders don't get lost:
  • Fixed an issue where some placeholders were not restored when assembling translated content. Now everything is back in place! 🎯
  • ✨ Correct handling of Markdown widgets:
  • Fixed handling of special widgets such as links, code blocks and HTML tags.

📈 Optimization and performance

  • 📉 Reduced API load:
  • Improved logic for checking strings before calling the API. This saves time and money by eliminating unnecessary requests for empty strings or strings with placeholders. 💰
  • ⚡ Fast processing of large files:
  • Splitting and assembling strings is much faster thanks to optimization of algorithms. 🚀

💾 How ​​to update?

  1. Make sure you already have our action.
  2. Update the example.yml file:
    uses: mrf0rtuna4/Git-Markdown-AutoTranslator@v2.1.0
  3. Run the project with the new parameters to test the changes. 🚀

2024 (c) mrf0rtuna4

v2.0.0

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 26 Sep 17:34

v2.0.0 Release

🎉 New Features

1. Support for Multiple Files

  • The tool now supports translation between multiple files, making it even more versatile for global teams. You can specify the target files directly in the configuration file.

2. Enhanced Markdown Parsing

  • Improved parsing of Markdown files to ensure that complex structures, such as nested lists and tables, are handled accurately during translation.

🚀 Improvements

1. Performance Optimization

  • Significant performance improvements have been made, especially for large Markdown files. Translation times are now faster, and the tool consumes less memory.

2. Better Error Handling

  • Enhanced error handling and logging to provide more informative error messages. This makes it easier to diagnose and resolve issues during the translation process.

3. Configuration File Updates

  • The configuration file format has been updated to be more intuitive and flexible. It now supports additional options for fine-tuning the translation process.

🐛 Bug Fixes

1. Fixed Markdown Formatting Issues

  • Resolved several issues related to Markdown formatting, ensuring that translated content retains the original structure and style.

2. Corrected Language Detection Errors

  • Fixed bugs where the tool incorrectly detected the source language, leading to inaccurate translations.

3. Improved Stability

  • Addressed stability issues that caused the tool to crash under certain conditions, making it more reliable for everyday use.

Full Changelog: v1.3.1...v2.0.0

v1.3.1

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 03 Sep 12:32

v1.3.1

  • Improved Markdown README file handling, including correct handling of "widgets" and complex links such as [![name](link)], preventing data loss during translation. Fixed a bug that caused broken placeholders in the final README version.
  • Added a new placeholder for Markdown widgets _MD_WDGT to prevent data loss during parsing and rebuilding.
  • Refactoring of placeholder replacement methods, improved code structure.

Full Changelog: v1.3.0...v1.3.1

v1.3.0

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 13 Jul 10:17

Release v1.3.0

What's Changed

  • Enhancements for Large README Processing:

    • Improved handling of large README files to ensure efficient processing and translation.
    • Introduced chunking mechanism to divide large README content into manageable sections for translation.
    • Enhanced placeholder management to accurately handle and restore placeholders in the translated content.
    • Optimized logging to provide clear and concise information about the translation process.
  • Refactored Placeholder Replacement Method:

    • Completely rewritten method for placeholder replacement to ensure accuracy and prevent translation issues.
    • Improved detection and handling of code blocks, links, and HTML tags within the README content.
    • Added robust post-translation checks to ensure all placeholders are correctly restored.
    • Implemented a detailed logging system to track placeholder processing steps and errors.
  • Improved Project Structure:

    • Restructured project files to enhance modularity and maintainability.
    • Introduced separate modules for different components such as localization manager, logger, and markdown processor.
    • Added __init__.py files to enable proper module imports and prevent import errors.

Full Changelog: v1.2.0...v1.3.0

v1.2.0

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 06 May 15:44
ad8f08e

V1.2.0


Added

  • Implemented smarter handling of code blocks, links, and HTML tags during translation.
  • Added more informative and formatted print statements for better logging and understanding of the translation process.

Changed

  • Updated the structure of the translation process to use async functions for improved efficiency and handling of tasks.
  • Refactored and improved the readability of the code.

Fixed

  • Fixed issues with preserving code blocks, links, and HTML tags during translation, ensuring that they are correctly replaced in the translated content.

Removed

  • Removed redundant or unnecessary code that was no longer needed after the refactor.

Full Changelog: GitHub

v1.1.1

Choose a tag to compare

@mrf0rtuna4 mrf0rtuna4 released this 04 May 16:47

Version 1.1.1 Release Notes

Bug Fixes:

  • Fixed an issue where translation would fail for texts containing HTML tags and links by removing these elements before translation and reinserting them after translation.
  • Implemented character limit control to ensure that translated texts do not exceed 5000 characters, as required by the translation service.

Improvements:

  • Enhanced the translation process to handle large files more efficiently, ensuring better performance and reliability.
  • Updated documentation to reflect the new features and improvements in this release.

Other Changes:

  • Refactored code for better readability and maintainability.
  • Updated dependencies to the latest versions to ensure compatibility and security.

Full Changelog: GitHub Compare View