Founded in 2004, uShip is one of the world's largest and most trusted online transportation marketplace which serves freight, household goods and vehicle shipping markets. Consumers and businesses can compare and book upfront quotes, name their own price or receive auction-style bids from over 800,000 customer reviewed service providers, ranging from independent owner-operators to the largest freight carriers and brokers.
Launched in 2004, Austin-based uShip operates globally with localized sites in the U.S., Canada, The Netherlands, UK, Germany, France, Spain, Austria, the European Union and Latin America.
Every 30 seconds a new shipment is listed on uShip. From cars to cranes, freight to furniture, and households to horses, people and businesses use uShip because it's easy and affordable to price, book, and ship everything no matter if it's going local or long distance.
To support its presence in 18 countries and expansion to new markets, uShip created an in-house localization solution which was largely based on the .NET framework. This involved a bespoke web application and a storage schema for the final translation storage. uShip’s owntool modeled only the storage and retrieval of the data, but not the translator's workflow. Translators--lacking a way to keep track of their work--and developers--lacking time to improve the tool--resorted to spreadsheets to keep track of their localization and translation processes. Although the tool served its purpose for a long time and required very little maintenance, uShip's recent partnerships required them to localize into additional languages and enlist external translators to aid them with the process. Marina Parisi, uShip's l10n and i18n Manager, quickly identified several key difficulties with its existing system:
- Poor representation of translation workflow
- Poor usability for translators
- Lack of change audit
- Limited integration with continuous deployment
- No translator-controlled in-app preview.
With more than 20,000 content keys and RFC-4646 language identification tags understood only by a few current employees, something had to be done to alleviate the above issues and help uShip's transition to a microservices architecture.
When uShip began investigating the market for a solution to replace its in-house l10n and i18n tool, it didn't take long for them to find several solutions. Being a continuous integration and continuous deployment shop, each time a developer would commit his code to the version control system, the code would be built, tested, and deployed into all uShip's pre-production and production systems.
The solution had to meet the following criteria:
- Enable partner-specific terminology via “custom locales”
- Explicitly model translator workflow
- Tilby en revisjonsmekanisme
- Provide reliable and translator-controlled continuous deployment integration
Phrase stood out from 4 competing products with its well-designed web service API. From the beginning, Phrase proved to be an “API first” product which appealed to uShip's developers who also relied heavily on their own public API. What they quickly learned is that the web service API was not limited to uploading and downloading resource files. In contrast to the competing offerings, Phrase’s API offered a RESTful representation of keys, tags, and locales, together with the ability to discover fine-grained changes to translations. uShip's CTO Nick Parker and his team of advisors and consultants unanimously concurred that Phrase was the right choice.
"Phrase er den mest anvendelige løsningen til utviklere og kontinuerlig implementering på markedet. Fra det øyeblikket vi startet med å lete etter en løsning, var det klart at Phrase skilte seg ut fra de andre."
In under 3 months, uShip successfully replaced its custom, legacy localization tool with Phrase. “The most time-consuming part of the process wasn't the integration of Phrase. That was the easy part. The hard part was understanding and reworking the existing old code that relied on idiosyncrasies of the preexisting system,” said Ed Vinyard, uShip’s Software Architect responsible for transition to a microservices architecture.
Når dem blir spurt om hvor mye tid deres redaktører og oversettere sparer på å lagre med Phrase, svarer Vinyard, "Mye," og fortsetter, "Våre oversettere behøver ikke lengre kopiere og lime inn hver nøkkel inn i vår hjemmelagde løsningen. Phrase sin Translation Memory funksjon husker tidligere oversettelser, noe som sparer våre oversettere mye tid." Med Phrase, uShip's l10n og i18n Manager har vi en mye bedre oversikt over alle oversettere og deres aktiviteter og har en god historikk over alle endringer på oversettelser. I tillegg, har oversettere fullstendig stoppet å bruke regneark og kan nå forehåndsvise alle endringer og nye oversettelser i pre-produksjonsmiljøer, i tillegg til å kontrollere hvilke som fremmes til produksjonsmiljøet.
“It worked completely out-of-the-box, we were able to quickly integrate it with our automated development and it immediately proved its worth by supporting one of our company's key partnership.”
Aside from saving a considerable amount of time for translators, Phrase also saves time for uShip’s developers. Vinyard said “My guess is that we saved months of developers' time just to meet our new specific needs. Even more if you consider the benefits we wouldn't include if we had to write the code ourselves, such as the improved search functionalities and great performance.”
The Phrase In-Context Editor can be integrated within almost any web application and provides the possibility to translate content directly on your site.
As software projects grow and become more complex it helps to split them into modules to keep things manageable. The same holds true for the localization of software projects.
User Roles and Access Control
Organize your localization team by assigning dedicated roles and access rights to each team member according to projects and locales.