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

Data Model

Everything the extension stores lives in one table. Magento's own review tables are never modified — the original review is always intact.

ai_review_translation_list

ColumnTypeNotes
entity_idint unsignedPrimary key, auto-increment.
product_idint unsignedFK → catalog_product_entity.entity_id, ON DELETE CASCADE.
review_idbigint unsignedFK → review.review_id, ON DELETE CASCADE.
store_idsmallint unsignedFK → store.store_id, ON DELETE CASCADE.
language_codetextLocale of the translation, e.g. de_DE.
review_messagetextTranslated review body.
review_message_summarytextTranslated review title.
created_attimestampDefaults to insert time.
updated_attimestampUpdated on write.

Deletes cascade

Delete a review, a product, or a store view and its translations go with it. There is no orphan cleanup to schedule.

The grain

One row per review × store view. The natural key is (review_id, product_id, store_id), and both the queue consumer and the CLI command upsert against it — re-running never duplicates.

No unique index enforces the grain

Uniqueness is maintained in application code, not by a database constraint. Writing rows with your own SQL can create duplicates the storefront then reads unpredictably. Go through the repository — see Querying from Code.

Queue and bulk tables

Translation messages use Magento's core message-queue tables on the db connection — queue, queue_message, queue_message_status — plus magento_bulk and magento_operation for the bulk-operation summary under System → Bulk Actions. The module adds none of its own.

Logging

var/log/aireviewlogger.log

Queue publishes, per-store translation writes, and provider errors are written here.

Useful queries are on Useful SQL.

Prev
Querying from Code
Next
Useful SQL