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
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
Open claude.ai → Settings → Connectors.
Click Add custom connector (or open the existing ILS
Translator connector and edit it).
Name: anything (e.g. ILS Translator).
URL: paste the Ready-to-paste URL above — it
already contains the token as ?token=….
Leave OAuth Client ID and OAuth Client Secret
empty — the server ignores them, auth is via the query param
in the URL.
Save. Claude runs an initialize handshake — on
success the connector shows as connected and the 22 tools
become available in the composer.
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.