Home Using globalize.now

Using globalize.now

By Niklas
4 articles

How does globalize.now fits into your stack

Two questions in one: what's the difference between globalize.now and Claude Code, and do you need both globalize.now and an i18n library? globalize.now vs Claude Code They work together. Claude Code does the coding work. globalize.now gives it the instructions and handles the infrastructure. This works the same whether you're using Claude Code, Cursor, or VS Code Copilot/Codex. Claude Code is your AI coding agent. It reads your files, rewrites your components, generates locale files, and makes changes to your repo. Without globalize.now's skills, it improvises — and produces inconsistent key names, misses strings, or builds an architecture that breaks when you add new features. globalize.now does two things: 1. Installs skill files into Claude Code — the playbook the agent follows (which i18n library, how to name keys, how to handle RTL/plurals/dynamic strings, how to structure locale files) 2. Runs translation infrastructure — the server-side jobs that translate your strings on every push and open PRs with updated locale files | Step | Who does it | | ------------------------------------ | ----------------------------------------------------------- | | npx globalize-skills | globalize.now installs skill files | | Set up localization for my project | Claude Code reads skills, scans repo, installs i18n library | | Convert my app | Claude Code rewrites components, generates locale files | | Connect repo in globalize.now app | globalize.now registers your project | | Auto-translate on push | globalize.now's cloud infrastructure | | PR with updated locale files | globalize.now opens it, you review and merge | Do you need both globalize.now and an i18n library? Yes. They do different jobs. globalize.now handles infrastructure: scans your repo, generates translation keys and locale files, syncs on every Git push, keeps your locale files current. An i18n runtime library (i18next, next-intl, react-intl, lingui) handles the runtime: loads the right locale file for the current user, renders translated strings in the browser or server, handles pluralization and ICU message formatting, manages locale switching. globalize.now produces the locale files. The i18n library consumes them. Neither replaces the other. The setup step auto-detects your framework and installs the right library — you don't need to choose or configure it manually. | Framework | Library installed | | ---------------------- | ----------------------- | | Next.js (App Router) | next-intl | | Next.js (Pages Router) | i18next / react-i18next | | React + Vite / CRA | i18next or lingui | | Vue | vue-i18n | | Svelte / SvelteKit | i18next or svelte-i18n |

Last updated on May 04, 2026

What project types and frameworks are supported?

Supported frameworks globalize.now works with React-based web apps. Current first-class support: | Framework | Status | | ------------------------ | ----------------- | | Next.js (App Router) | ✅ Fully supported | | Next.js (Pages Router) | ✅ Fully supported | | React + Vite | ✅ Fully supported | | React + Create React App | ✅ Supported | | TanStack Router / Start | ✅ Supported | Note on Lovable: Lovable projects now use TanStack Router by default. This is fully supported. What's not in scope yet | Project type | Status | | -------------------------- | --------------------------------------------------- | | Blog and long-form content | ❌ Not supported — use a CMS or translate separately | | Chrome extensions | ❌ Not supported | | Vue / Svelte / Angular | ❌ Not supported yet | | Android / iOS native apps | ❌ Not supported | | WordPress / HubSpot CMS | ❌ Out of scope | | Non-UI backend files | ❌ Skipped automatically | Blog content: globalize.now extracts UI strings from your app, f.ex: buttons, labels, headings, form fields. It doesn't translate blog posts or long-form content. If your project has both a web app and a blog, the tool handles the app and skips the blog. Corporate VPN and enterprise environments globalize.now does not work on corporate VPN or in enterprise environments that restrict external connections. The npx install step and the GitHub connection both require external network access. Workaround: Use a personal machine or a personal GitHub account. Monorepos globalize.now works on monorepos. The agent focuses on the React/Next.js parts and ignores non-web code. To scope the conversion: Convert only the /apps/web directory Partially internationalized codebases If your app is partially internationalized — some strings already wrapped in t() calls, others still hardcoded — globalize.now handles it. The agent detects what's already wrapped and only extracts what isn't. Existing keys are preserved. Non-English source languages globalize.now uses whatever language your app is currently written in as the source. The agent auto-detects it. File formats | Library | Output format | | --------- | ----------------------------- | | next-intl | JSON under /messages/ | | i18next | JSON under /public/locales/ | | LinguiJS | .po or JSON via Lingui CLI |

Last updated on May 04, 2026

Where do my translations live?

In your repo. globalize.now generates locale files and commits them to your GitHub or GitLab branch — just like any other code change. You own the files. What the output looks like After setup, your repo will contain a locale directory with one JSON file per language: /locales en.json es.json de.json fr.json Or, if you're using next-intl: /messages en.json es.json The exact location and format depends on your i18n library. The agent sets this up correctly for your framework automatically. How updates work When you push new code with new UI strings, globalize.now detects the diff, translates only the new or changed strings, and opens a pull request with the updated locale files. The PR is just like any other — you can review, merge, or request changes. What if I merge a PR before translations are complete? Not a breaking change. If you merge your code PR while the translation PR is still open, your app won't break. globalize.now also monitors your main branch — it will detect the missing translation keys and open a new PR with just the missing translations. That said, the cleanest workflow is to wait for the translation PR, review it, and merge them together. This keeps your main branch fully translated at all times. Can I review or edit translations in the globalize.now app? Yes. The globalize.now app shows your translation output side-by-side with the source strings. You can review what was generated, edit specific translations that don't look right, and filter strings by language. Changes you make in the app are committed back to your locale files on the next sync. If you prefer editing directly in your repo, that works too — your locale files are plain JSON and any editor will open them. No vendor lock-in Your locale files are standard JSON. If you stop using globalize.now, your translations stay in your repo and keep working exactly as they do today. You can switch to any other translation tool or manage the files manually — nothing is locked to our platform. Do globalize.now servers store my translations? The translation process runs on our infrastructure, but the output is committed directly to your repo. We don't maintain a separate database of your translations. Your locale files are the source of truth, and they live in your codebase. Can I edit translations manually? Yes. Your locale files are plain JSON — you can edit them directly or use any translation editor. On the next push, globalize.now only touches strings it generated. Manual edits to existing keys are preserved.

Last updated on Apr 30, 2026