Localizing FareHarbor

Tools: GNU gettext, Jira, Bitbucket

When FareHarbor expanded internationally in 2018, I helped apply translation markup to roughly 10,000 strings of text throughout the core application.

During this project, I proactively identified opportunities to standardize text and fix inconsistencies in capitalization or phrasing. An easy example: Learn more about Feature A, Learn how to use Feature B, and Get help with Feature C could all be changed to Learn more without degrading the user experience.

I also used this as an opportunity to future-proof translatable copy using variables. For example, text like Maintenance will take place from 2am-3am US Mountain Time on December 2nd became Maintenance will take place on {{ datetime }}.

By defining the date and time outside of the translatable string, the text would only need to be translated once, instead of every time the planned maintenance date changed.

---

Whenever we sent new text to the agency to be translated, I was the go-to person at FareHarbor who answered the translation team's questions, whether it was providing extra context or explaining where a specific piece of text was located in the UI.

Through this process, I learned the importance of providing in-line context for translators wherever possible, lest phrases like "whole party"—which referred to all individuals in a group—be translated to "toda la fiesta" in Spanish. (Not a great impression for FareHarbor's Spanish-speaking users!)

Over time, I developed and documented a list of best practices that could be used by designers, product managers, and engineers when developing new features or writing new copy, ensuring our copy would be translation-friendly moving forward.

Read the documentation
back