Skip to content

Repository files navigation

i18n-lang-diff

A minimalist, single-page companion app for developers working with i18n locale JSON files. Upload a source and target locale, translate values in a clean side-by-side UI, and export the updated file — all without ever touching JSON syntax.

100% client-side. Your files never leave your browser. No data is sent to any server, logged, or stored.

Why Build This?

After translating my site I needed a simple UI for my translator to use. Just a clean, minimal focused UI with the ability to export the finished .json file.

Development

# Install dependencies
pnpm install

# Start development server
pnpm dev

# Build for production
pnpm build

# Lint & format
pnpm lint
pnpm format

# Create a bump file for a change (part of your PR)
pnpm bumpy add

# Release (on main — bumps version, updates changelog, creates git tag)
pnpm release

License

i18n-lang-diff is open source under the MIT License.

Contributing

Contributions are welcome. Fork and create a PR. Keep things focused — one change per PR is easiest to review.

This project uses Bumpy for version management. Every PR that changes functionality should include a bump file — it tells Bumpy what version bump is needed and what to put in the changelog.

Creating a bump file

pnpm bumpy add

This launches an interactive prompt (or you can pass it inline):

pnpm bumpy add --packages "i18n-lang-diff:patch" --message "Fixed the thing" --name "descriptive-slug"

It creates a file like .bumpy/descriptive-slug.md with the bump level (patch, minor, or major) and a changelog description.

Commit that file alongside your changes — it's part of the PR. If you're unsure what level to use, reviewers will check it.

Level When to use
patch Bug fixes, docs, dependency updates, refactors
minor New features, UI changes, new functionality
major Breaking changes (rare for this project)

What happens next

When CI is configured, every PR gets a comment from Bumpy showing what packages will be released. Merged bump files accumulate on main until a release is cut — either manually via pnpm release or automatically through CI.

Forgot a bump file?

No worries — maintainers can add one for you before or after merging. It won't block anything.

About

Upload two locale JSON files, translate side-by-side, and export without breaking structure. Designed around next-i18n.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages