Localizard [0] - Translations storage and API service

Photo by Sigmund on Unsplash

Localizard [0] - Translations storage and API service

Introduction

Hi, my name is Emilio and in this series of blog posts I will keep track of my progress with Localizard.

Localizard is a simple and free service that can be used to store localization labels, translate them and then access them via a private REST API.

I am creating this project for the Planetscale x Hashnode Hackathon of July 2022.

Tech stack

For this project I am going to use some of the most well known and appreciated frontend technologies currently available:

  • Planetscale is the partner of this Hackathon, but I've used this service for other projects in the past. On top of offering a super fast MySQL database, a Planetscale project provides many useful features like schema branching and deploy requests, query insights, and much more.
  • Remix.run I have worked with Remix for just a little while and I'm still learning the various best practices around it. However, I already find it incredibly productive and fun to work with. The focus on standard web APIs makes it easy to find documentation and results in a very good experience overall.
  • Vercel is used to host the Remix product. The deployment process is straightforward and can be automated with GitHub, network response times are really fast and I've relied on this platform for many of my side projects.
  • Prisma is a great companion to any Remix project, since most of the business logic runs on the server. Prisma allows you to define a database schema and then query the database with a type-safe client. Requires a little bit of work to be fully compatible with Planetscale but I'd say it's totally worth it.

The idea

Users on Localizard will be able to create their own project, start adding labels to them in a format that is supported to the localization framework of choice (e.g. i18next) and then localize them in various locales.

The most important part of Localizard will be the REST API that will allow the users to retrieve information about their labels programmatically. This can be incredibly useful when working on project with multiple languages and/or multiple clients.

Coming soon

Over the next few blog posts I will describe how I structured this project and what the next steps will be in order to launch in time for the end of the hackathon.

If you're participating in this hackathon feel free to leave a comment or send me a message on Twitter.

You can find the source code for this project on GitHub.

Until next time!