
Mohammad Ashour
Mohammad is a generalist software developer with over 15 years of experience writing code for startups, enterprises, and everything in between. These days, Mohammad writes and edits i18n tutorials for Phrase. He loves electronic music, design, gaming, and traveling.
-

What’s the Best Database Structure to Keep Multilingual Data?
There are many ways of designing databases to accommodate localized, multilingual data. Let’s explore the most common ones and try to choose the best one.
-

Localized Server-Side Rendering with React
The speed and SEO benefits of server-side rendering can outweigh its complexity. Learn here how to localize a React app made with SSR.
-

Localized Form Validation
Form validation is difficult to separate from UX. So is internationalization. This tutorial will show you how to make both work together smoothly.
-

Detecting a User’s Locale in a Web App
One of the most common issues in web app development is detecting a user’s locale. This is how to do it the right way.
-

React Redux Tutorial: Internationalization with react-i18n-redux
Sometimes, we want our i18n state in Redux. This React Redux tutorial will show you how it’s done using the react-redux-i18n library.
-

A Practical Guide to the ICU Message Format
The ICU message format syntax is used by a number of i18n libraries and can often become a source of confusion itself. Let’s clear some facts up about it!
-

How to Localize a Svelte App with svelte-i18n
Svelte-i18n is a light wrapper around FormatJS that uses Svelte stores to provide a no-frills i18n solution. Learn how to use it.
-

A Concise Guide to Number Localization
Often critical to international sales, knowledge of number localization can go a long way to providing better UX in internationalized apps and websites.
-

Advanced iOS OTA Translation with Phrase Strings
With iOS OTA, you can target specific platforms and app versions to roll out one locale or feature at a time. Let’s explore it together.