Magento 2 AI Review TranslatorMagento 2 AI Review Translator
Live Demo
Buy Now
Support
Live Demo
Buy Now
Support
  • Getting Started

    • Introduction
    • Key Features
    • How It Works
  • Installation

    • Requirements
    • Install the Module
    • Install the AI Packages
    • Enable & Compile
    • Verify the Installation
    • Content Security Policy
    • Translating the Interface
  • Setup

    • Enable the Module
    • Activate Your Licence
    • Select an LLM Provider
    • Validate & Load Models
    • First Translation
  • Configuration

    • Overview
    • General Settings
    • Limits & Timeouts
    • Store Views & Languages
    • Admin Menu
    • Access Control
  • LLM Providers

    • Provider Overview
    • How Validation Works
    • Choosing a Model
    • Switching Providers
  • Ollama (Self-Hosted)

    • Install Ollama
    • Connect to Magento
    • Timeouts & Batch Size
    • Troubleshooting
  • Translating Reviews

    • Translation Basics
    • What Is Sent to the Model
    • Fallback Behaviour
    • Automatic Translation
    • The Queue Consumer
    • Running the Consumer
    • Bulk CLI Command
    • Batch Size
    • CLI Output & Exit Codes
  • Storefront

    • On the Storefront
    • The Toggle
    • Styling
  • Developers

    • GraphQL API
    • Querying from Code
    • Data Model
    • Useful SQL
  • Help

    • Setup Problems
    • Translation Problems
    • Queue Problems
    • Storefront Problems
    • FAQ

Useful SQL

Queries against ai_review_translation_list. Read-only unless marked otherwise.

What has been translated

SELECT s.store_id,
       s.name,
       COUNT(DISTINCT t.review_id) AS translated_reviews
FROM   store s
LEFT   JOIN ai_review_translation_list t ON t.store_id = s.store_id
GROUP  BY s.store_id, s.name;

What is still missing

Approved reviews with no translation in store view 2:

SELECT r.review_id, r.entity_pk_value AS product_id
FROM   review r
LEFT   JOIN ai_review_translation_list t
       ON t.review_id = r.review_id AND t.store_id = 2
WHERE  r.status_id = 1
  AND  t.entity_id IS NULL;

Silent fallbacks

Rows where the translation matched the original — see Fallback Behaviour:

SELECT t.review_id, t.store_id
FROM   ai_review_translation_list t
JOIN   review_detail d ON d.review_id = t.review_id
WHERE  t.review_message = d.detail;

Recent activity

SELECT review_id, store_id, language_code, updated_at,
       LEFT(review_message_summary, 40) AS title
FROM   ai_review_translation_list
ORDER  BY updated_at DESC
LIMIT  20;

Locales that do not match their store view

Rows left behind after a store view's locale changed:

SELECT DISTINCT store_id, language_code
FROM   ai_review_translation_list
ORDER  BY store_id;

Compare against Stores → Configuration → General → Locale Options per store view, then re-run php bin/magento Translate:All -s <store-id>.

Resetting translations

This permanently deletes translated review text

The statements below remove translations. Original customer reviews in Magento's own review tables are not touched, but every translation must be regenerated — which means paying your LLM provider for the work again. Take a database backup first.

-- One store view only
DELETE FROM ai_review_translation_list WHERE store_id = 2;
-- Everything
TRUNCATE TABLE ai_review_translation_list;

Then regenerate:

php bin/magento Translate:All -s 2
Prev
Data Model