Releases: tonaldoing/gemini-translator
Releases · tonaldoing/gemini-translator
Release list
v0.4.2
v0.4.1
Instant Language Switching
- Prefetch: Pre-fetches the alternate language page in the background so it's ready before the user clicks
- Prerender (Chrome 109+): Uses the Speculation Rules API to fully pre-render the alternate page in a hidden tab — navigation is truly instant
- Loading state: Immediate visual feedback (opacity + cursor change) when clicking the switcher
Page-Level Translation Cache
- Caches the fully processed translated HTML output in transients
- On cache hit, skips ALL regex processing (URL rewriting + translation replacement)
- Automatically excludes: logged-in users, WooCommerce cart/checkout/account pages, debug mode
- Cache invalidation is automatic when translations are edited
v0.4.0
Performance Optimizations
- Wrap all
error_log()calls withWP_DEBUGguard (eliminates disk I/O in production) - Conditionalize
microtime()timing behindWP_DEBUG - Combine two URL rewrite regex passes into a single pattern (fewer HTML traversals)
- Add static cache to
gt_get_switcher_style()(avoids repeatedget_option()calls) - Fix
gt_invalidate_translation_cache()to properly reset static cache - Move GitHub Updater to admin/cron only (skip frontend requests)
Features
- Batch Gemini API translation (multiple strings per request, batch size 25)
- Add composite DB index
(language_code, status)for faster queries - Extract HTML button/option text from Elementor HTML widgets
v0.3.7
v0.3.6
Add debug output to translation content filter (v0.3.6) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
v0.3.5
Added
- Debug mode: add
?gt_debug=1to any translated page (as admin) to see translation matching info
v0.3.4
Fixed
- Fix PHP 8.1+ deprecation warning for null
translated_stringin translations page
v0.3.3
Merge branch 'feature/security-and-updates'
v0.3.0
Changes
- API key masking in settings
- GitHub auto-updates from dashboard
- Improved Elementor data handling
- Security helpers added