A TMX ↔ XLIFF converter
A tool localization professionals use every day — one that normally requires expensive specialised software. You'll leave with working code you can run and extend at your own pace. Tasks are scoped small so everyone can complete them in the session.
We won't have time to troubleshoot installations during the session. This takes roughly 10 minutes. Complete it in advance so you can start building from minute one.
Install Python 3
The converter we'll build during the workshop runs on Python 3. Check if you already have it — if yes, skip this step entirely.
-
1
Check if Python is already installed:
Terminal · macOSpython3 --version
If you see Python 3.x.x — you're done.
-
2
If not installed — go to python.org/downloads and click the big yellow Download Python 3.x.x button. Open the downloaded file and click through the installer.
xmllint — validates that TMX and XLIFF files are well-formed. Already installed on macOS. Verify:
xmllint --version
If it's missing, run xcode-select --install and it will appear.
-
1
Check if Python is already installed:
PowerShell · Windowspython --version
If you see Python 3.x.x — you're done.
-
2
If not installed — the fastest way is one command in PowerShell:
PowerShell · Windowswinget install Python.Python.3
Or go to python.org/downloads, download the installer, and run it. Important: on the first installer screen, tick "Add Python to PATH" before clicking Install.
xmllint — validates TMX and XLIFF files. Install with one command:
winget install xmlsoft.libxml2
After installing, close and reopen PowerShell, then verify with xmllint --version.
Install OpenClaw
OpenClaw is the tool we'll use throughout the session. Select your OS below and run the command in your terminal.
docs.openclaw.ai/install-
1
Open Terminal — see how below if you're not sure
-
2
Paste and run this command:
Terminal · macOScurl -fsSL https://openclaw.ai/install.sh | bash
Official installer — detects your OS, installs Node if needed, installs OpenClaw, and launches the setup wizard.
-
3
Follow the on-screen prompts to finish the wizard.
How to open Terminal macOS
- Press ⌘ Command + Space to open Spotlight
- Type
Terminaland press Return - Paste the command above and press Return
If you have Claude Code, GitHub Copilot, or GitHub Codex — paste the install command directly and ask it to guide you through setup. Say: "Help me run this OpenClaw install command."
-
1
Open PowerShell — see how below
-
2
Paste and run this command:
PowerShell · Windows& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1)))
Official Windows installer. PowerShell works well; WSL2 also supported for extra stability.
-
3
Follow the on-screen prompts to finish the wizard.
How to open PowerShell Windows
- Option A: Press
Win + X→ click Windows PowerShell or Windows Terminal - Option B: Press
Win + R, typepowershell, press Enter - Option C: Start menu → search PowerShell → open
If you have Claude Code, GitHub Copilot, or GitHub Codex — paste the install command directly and ask it to guide you through setup. Say: "Help me run this OpenClaw install command."
Configure OpenRouter
OpenClaw uses OpenRouter to access AI models. Connect your API key so the workshop tools can run. Custom.MT will provide the key before the session.
docs.openclaw.ai — OpenRouter provider openrouter.ai — OpenClaw integration guideThe onboard command walks you through the entire OpenRouter setup interactively. Recommended if this is your first time.
openclaw onboard
When you see the prompt ◆ Model/auth provider, scroll to openrouter in the list and press Enter. Then paste the API key from Custom.MT (begins with sk-or-...).
Or set the key directly without the wizard:
- 1
Open Terminal (same as Step 1)
-
2
Set your OpenRouter key:
Terminal · macOSopenclaw auth set openrouter:default --key "YOUR_OPENROUTER_KEY"
Replace YOUR_OPENROUTER_KEY with the key from Custom.MT (begins with sk-or-...).
-
3
Verify the key was saved:
Terminal · macOSopenclaw auth listYou should see openrouter:default listed as a configured provider.
Or set the key directly without the wizard:
- 1
Open PowerShell (same as Step 1)
-
2
Set your OpenRouter key:
PowerShell · Windowsopenclaw auth set openrouter:default --key "YOUR_OPENROUTER_KEY"
Replace YOUR_OPENROUTER_KEY with the key from Custom.MT (begins with sk-or-...).
-
3
Verify the key was saved:
PowerShell · Windowsopenclaw auth listYou should see openrouter:default listed as a configured provider.
Set the model & verify
Configure OpenClaw to use Kimi K2.6 — the model we'll use in the workshop — then launch the WebUI and confirm it responds in the chat. If you get an answer, you're fully set up.
openrouter.ai — Kimi K2.6 model page-
1
Open Terminal / PowerShell (same as Steps 1 & 2)
-
2
Set Kimi K2.6 as your active model:
Terminal · macOS & Windowsopenclaw models set openrouter/moonshotai/kimi-k2.6
If prompted to choose from a list, select "Enter manually" and type the full model ID: openrouter/moonshotai/kimi-k2.6
-
3
When prompted "How do you want to hatch your bot?" — choose Open the Web UI:
PromptHow do you want to hatch your bot? │ ○ Hatch in Terminal (recommended) │ ● Open the Web UI │ ○ Do this later -
4
Or launch the WebUI at any time with:
Terminal · macOS & Windowsopenclaw dashboardThis opens the browser dashboard at http://127.0.0.1:18789. If it doesn't open automatically, paste that address into your browser.
-
5
Send a test message in the chat — type anything, for example: "Hello, what model are you?"
If Kimi K2.6 responds in the chat window, your setup is complete. ✓
Run the doctor command — it detects common issues and can fix them automatically:
openclaw doctor --fix
Also check that openclaw auth list shows openrouter:default, and that the model name is spelled exactly as shown above — including the openrouter/ prefix.
Confirm all four before May 20:
python3 --version (macOS) or python --version (Windows) prints a version number
xmllint --version prints a version number
openclaw --version prints a version number
Reach out to the Custom.MT team if you run into issues. The OpenClaw FAQ also covers the most common installation problems.