Hello team,
Thank you for logging the feature request to support non-Latin characters in Slice Machine.
After digging deeper, I’d like to outline what would be the ideal fix, offer a fallback that keeps full backward compatibility, and explain why the issue is important for a growing number of users.
1. Ideal solution
Keep id
as the immutable ASCII identifier; let name
be truly human-readable (full Unicode).
{
"id": "process_steps", // ASCII, matches folder/API, never shown to editors
"name": "Этапы процесса", // Unicode, shown in the UI, stored in slice JSON
"type": "SharedSlice",
"description": "timeline / numbered / icon-cards",
"variations": [ … ]
}
id
continues to drive file paths, slice-type look-ups, screenshots, etc.
name
becomes the single source of truth for what editors see — exactly how Custom Types already work today.
2. Fallback (zero-risk) solution
If changing the semantics of name
is risky, add an optional label
field (Unicode) while keeping id
and name
untouched:
{
"id": "process_steps",
"name": "ProcessSteps", // stays ASCII for full backwards compatibility
"label": "Этапы процесса", // NEW: shown in UI only
…
}
This mirrors the existing id
+ label
pattern used in Custom Types and can be introduced without any migrations.
3. Why it matters
Pain point |
Impact |
Editor friction |
Content teams working in Russian, Ukrainian, Bulgarian and other Cyrillic-based languages stumble over transliterated names like “ProcessSteps” or “Kontakty”. Native labels eliminate confusion and shorten onboarding. |
Inconsistent UX |
Custom Types already accept Cyrillic names; Shared Slices do not. This inconsistency forces us to hack description or to move files by hand when Slice Machine writes to ./slices root. |
Market reach |
Agencies in Eastern Europe, the Middle East and Asia weigh localisation quality heavily when choosing a CMS. Proper Unicode labels would make Slice Machine instantly more attractive to thousands of potential users. |
Cleaner repos |
A first-class field removes the need for watcher scripts that move misplaced model.json and screenshot.png back into the correct slice folder. |
Even the fallback option (#2) would solve 100 % of the editor-side pain without touching existing projects.
If the team can safely implement the ideal approach (#1), it would keep the JSON even simpler and closer to how Custom Types behave.
Thanks again for listening to your community. Please let me know if any additional information would help when prioritising this request.
Best regards,
Vagiz