I Love Snacks
TRANSLATIONS

Sign in

Enter admin token

I Love Snacks Admin
admin.ilovesnacks.eu

Translator

0.00%
Preparing…
No changes
Base —
Bulk
Auto-translate: —

URL Shortener

Path-based Shopify redirects on ilovesnacks.eu. Every short path is unique across all 10 locales and both types (auto-SKU and manual) — you can't reuse an existing path.

0.00%

Create a manual short link

Will produce: —

Existing shortcuts

Type Short path Target Created
No shortcuts yet. SKU redirects appear after the first Sync; manual ones after you use the form above.

Cart Rewards

Cart-subtotal threshold → gift weight. Replaces the Cartbot app: the next stage will plug these thresholds into the ilovesnacks.eu cart. For now — configuration only.

Gift SKU

The same SKU gets a different weight depending on the threshold (variants of one product).

Thresholds

Amount (€) Gift weight
Select a section

    Nothing selected

    Select a resource and field on the left to start translating.

    Country

    Country of origin is a language-neutral reference. Tick every country the product is produced in — display names / flags come from shared Country records.

    Current: —
    Preview across languages
    Original · preview ⣿
    Original · HTML ⣿
    Translation · HTML ⣿
    Translation · preview ⣿

    Settings

    Flags control whether an LLM translation is triggered automatically when new text appears in a section (Add) and when existing text changes (Update). Auto-translate is an EXTERNAL trigger (relay/watcher); publishing is automatic, no confirmation. Translations made inside the tool (via the LLM button or by hand) still require the "Save & publish" button.

    Section Add Update

    Each row is a language bound to a domain and target country. The same language can appear multiple times if it targets different countries (RU → ru.ilovesnacks.eu → Germany; RU → other domain → Latvia).

    Language (locale) Domain Country (ISO 3166-1 alpha-2) Source Order

    Free-form instructions the LLM must follow on every automatic translation. Add one rule per row. Leave Language empty to apply the rule to all target languages; set a locale (e.g. ru, de) to restrict a rule to that language only. Inactive rules are kept but not injected. Rules are appended to the system prompt in the order shown below.

    Rule Language Order Active

    Preview: what the LLM sees

    Pick a target language to see the exact system prompt the LLM will receive, including the rules above.

    
              

    This translator exposes an MCP server so Claude can call its tools (search content, read/write drafts, publish, bulk-translate, edit settings) directly. Configure the remote MCP connector in Claude with the values below. The auth token is the same admin token you signed in with.

    Ready-to-paste URL
    ••••••••
    Paste this whole URL into Claude.ai Add custom connector → URL. Token is embedded — leave OAuth Client ID/Secret empty (TASK-2137).
    MCP server URL (no token)
    Use this variant only if your MCP client can send the token as an HTTP header (Authorization: Bearer or x-admin-token).
    Health check URL —
    Auth token
    ••••••••
    Same ADMIN_TOKEN that authenticates the UI. Accepted as ?token=…, header Authorization: Bearer …, or x-admin-token: ….
    Server info
    — tools available, MCP protocol —.

    How to (re)connect the MCP connector in Claude.ai

    1. Open claude.ai → Settings → Connectors.
    2. Click Add custom connector (or open the existing ILS Translator connector and edit it).
    3. Name: anything (e.g. ILS Translator).
    4. URL: paste the Ready-to-paste URL above — it already contains the token as ?token=….
    5. Leave OAuth Client ID and OAuth Client Secret empty — the server ignores them, auth is via the query param in the URL.
    6. Save. Claude runs an initialize handshake — on success the connector shows as connected and the 22 tools become available in the composer.
    7. If the token was rotated or the connector stopped working, open it in Claude and paste a fresh Ready-to-paste URL from here.

    Troubleshooting: click Check now above. A healthy server returns {ok:true, service:"ils-translator-mcp"}. HTTP 401 means the token in the URL is wrong (was it rotated?). Network error / 404 means the deploy hasn't picked up TASK-2134 yet — wait for the Railway build to finish.

    Fields that must not be translated (neither by the LLM button nor automatically by the external relay). Typically prices, delivery times, legal details. A row with an empty locale locks the field in all languages; a row with a specific locale locks it only in that one.

    Type Resource Field Locale Reason

    Log out?

    Your session will end. You'll need to enter the admin token again.

    Start bulk translation?

    Undo last bulk translation?

    Revert the drafts written by the last bulk-translate click. This cannot itself be undone.

    Lock field

    Pick the languages this field should be locked from auto-translation. Locked languages will skip both single and bulk translation for this field.

      Delete short link?

      This will remove the Shopify redirect(s) for the selected short path. It cannot be undone.

      Publish errors

      Черновики, которые последняя публикация не смогла отправить в Shopify. Клик по строке открывает соответствующий товар и поле в переводчике. Строка пропадает автоматически, если следующая публикация проходит.

      Нет ошибок публикации — всё чисто.

      Pending publish

      Черновики, ждущие публикации. Клик по строке открывает соответствующий ресурс и поле в переводчике. Строка пропадает автоматически, если следующая публикация проходит.

      Нет неопубликованных черновиков — всё опубликовано.

      Refresh search data?

      This re-reads every product, page and translation from Shopify to update the search database. It can take a few minutes and puts some load on the Shopify API. Run it when the search misses content you know exists in Shopify.