{"id":7147,"date":"2022-09-07T14:36:54","date_gmt":"2022-09-07T14:36:54","guid":{"rendered":"https:\/\/phrase.com\/?post_type=case-study&#038;p=7147"},"modified":"2023-09-18T16:11:56","modified_gmt":"2023-09-18T14:11:56","slug":"uship","status":"publish","type":"case-study","link":"https:\/\/phrase.com\/customers\/uship\/","title":{"rendered":"Saving Developer Time With an Automated Translation Process"},"content":{"rendered":"\n<div id=\"acf\/text-block_d46ba07262eac4c33e79045350657f2d\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<p>Founded in 2004, <a href=\"https:\/\/www.uship.com\/\" target=\"_blank\" rel=\"noopener\">uShip<\/a> is one of the world&#8217;s largest and most trusted online transportation marketplaces 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.<\/p>\n<p>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.<\/p>\n<h2>Results<\/h2>\n<ul class=\"checklist--small\">\n<li>Better overview of translators and their activities<\/li>\n<li>Turned manually into automated translation process<\/li>\n<li>Continuous localization in 18 countries<\/li>\n<li>Saved month of developers\u2019 time<\/li>\n<\/ul>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/stats-block_42a2a88ba06b79515affc0de8e3740df\" class=\"pxblock pxblock--stats bg--green\">\n\t\t<div class=\"container\">\n\t\t<div class=\"columns\">\n\t\t\t<div class=\"column animate-in\">\n\t\t\t\t<div class=\"stats--sub-header\">Stats &#038; facts<\/div>\n\t\t\t\t<h2 class=\"h2 stats--header\">uShip by the numbers<\/h2>\n\t\t\t\t<div class=\"stats--copy\"><\/div>\n\t\t\t<\/div>\n\t\t\t<div class=\"column\">\n\t\t\t\t<div class=\"columns animate-in animate-children delay-1\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"column stat\">\n\t\t\t\t\t\t<div class=\"stat--num\">18<\/div>\n\t\t\t\t\t\t<div class=\"stat--desc\">countries<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"column stat\">\n\t\t\t\t\t\t<div class=\"stat--num\">8<\/div>\n\t\t\t\t\t\t<div class=\"stat--desc\">localization projects<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"column stat\">\n\t\t\t\t\t\t<div class=\"stat--num\">90+<\/div>\n\t\t\t\t\t\t<div class=\"stat--desc\">team members in localization<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"column stat\">\n\t\t\t\t\t\t<div class=\"stat--num\">1.3M<\/div>\n\t\t\t\t\t\t<div class=\"stat--desc\">words processed<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n<div id=\"acf\/text-block_c309e87f7715a6bc10aca4e3e12f2252\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<p class=\"subhead\" style=\"text-align: left;\">Challenge<\/p>\n<h2 style=\"text-align: left;\">Bringing translators and developers together<\/h2>\n<p>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&#8217;s easy and affordable to price, book, and ship everything no matter if it&#8217;s going local or long distance.<\/p>\n<p>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\u2019s owntool modeled only the storage and retrieval of the data, but not the translator&#8217;s workflow. <span style=\"font-weight: 400;\">Translators\u2014lacking a way to keep track of their work\u2014and developers\u2014lacking time to improve the tool\u2014resorted<\/span> 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&#8217;s recent partnerships required them to localize into additional languages and enlist external translators to aid them with the process. Marina Parisi, uShip&#8217;s l10n and i18n Manager, quickly identified several key difficulties with its existing system:<\/p>\n<ul class=\"checklist--small\">\n<li>Poor representation of translation workflow<\/li>\n<li>Poor usability for translators<\/li>\n<li>Lack of change audit<\/li>\n<li>Limited integration with continuous deployment<\/li>\n<li>No translator-controlled in-app preview<\/li>\n<\/ul>\n<p>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&#8217;s transition to a microservices architecture.<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/text-block_0db867609bb7294110eacdb5628f7274\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<p class=\"subhead\">Solution<\/p>\n<h2 style=\"text-align: left;\">A developer-friendly solution that allows for continuous deployment<\/h2>\n<p>When uShip began investigating the market for a solution to replace its in-house l10n and i18n tool, it didn&#8217;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&#8217;s pre-production and production systems.<\/p>\n<p>The solution had to meet the following criteria:<\/p>\n<ul class=\"checklist--small\">\n<li>Enable partner-specific terminology via \u201ccustom locales\u201d<\/li>\n<li>Explicitly model translator workflow<\/li>\n<li>Provide an audit mechanism<\/li>\n<li>Provide reliable and translator-controlled continuous deployment integration<\/li>\n<\/ul>\n<p>Phrase Strings stood out from 4 competing products with its well-designed web service API. From the beginning, Phrase Strings proved to be an \u201cAPI first\u201d product which appealed to uShip&#8217;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 Strings\u2019 API offered a RESTful representation of keys, tags, and locales, together with the ability to discover fine-grained changes to translations. uShip&#8217;s CTO Nick Parker and his team of advisors and consultants unanimously concurred that Phrase Strings was the right choice.<\/p>\n<p>In under 3 months, uShip successfully replaced its custom, legacy localization tool with Phrase Strings. \u201cThe most time-consuming part of the process wasn&#8217;t the integration of Phrase Strings. That was the easy part. The hard part was understanding and reworking the existing old code that relied on idiosyncrasies of the preexisting system,\u201d said Ed Vinyard, uShip\u2019s Software Architect responsible for transition to a microservices architecture.<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/testimonials-block_4afb71651d8f6075d4bcc2a8bdc5039b\" class=\"pxblock pxblock--testimonials bg--green\">\n\t\n\t<div class=\"container\">\n\n\t\t<div class=\"testimonials animate-in\"><div class=\"testimonial\"><span class=\"testimonial__icon\"><\/span><p class=\"testimonial__quote length_class-small\"><p><a href=\"https:\/\/phrase.com\/customers\/uship\/\">uShip<\/a> believes Phrase is the most developer-friendly and continuous-deployment-friendly solution on the market.<\/p>\n<\/p><div class=\"testimonial__logo\"><img loading=\"lazy\" decoding=\"async\" width=\"220\" height=\"153\" src=\"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/Uship_Testimonial_Logo.png\" class=\"attachment-original size-original\" alt=\"Uship logo for testimonial | Phrase\" \/><\/div><div class=\"testimonial__attribution\"><p class=\"testimonial__author\">Ed Vinyard<\/p><p class=\"testimonial__author-title\">Leading Software Architect<\/p><\/div><\/div><\/div>\t<\/div>\n\n<\/div>\n\n\n\n<div id=\"acf\/text-block_8d0a1483f8ee8e571eabb066cf54bdfa\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<p class=\"subhead\" style=\"text-align: left;\">Benefits<\/p>\n<h2 style=\"text-align: left;\">Time-savings for both translators and developers<\/h2>\n<p>In under 3 months, uShip successfully replaced its custom, legacy localization tool with Phrase Strings. \u201cThe most time-consuming part of the process wasn&#8217;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,\u201d said Ed Vinyard, uShip\u2019s Software Architect responsible for transition to a microservices architecture.<\/p>\n<p>When asked about how much time their editors and translators are saving with Phrase Strings, Vinyard said, \u201cA lot,\u201d and continues, \u201cOur lead translator doesn&#8217;t need to copy and paste each translated key into our homemade solution anymore. Phrase Strings\u2019 translation memory feature remembers previous translations and offers matching results while translating which saves a considerable amount of time for our translators.\u201d With Phrase Strings, uShip&#8217;s l10n and i18n Manager has a much better overview of all translators and their activities and has a clear audit trail of all translation changes. Additionally, translators have completely stopped using spreadsheets and are now able to reliably preview all changes and new translations in pre-production environments, as well as to control which ones are promoted to production environment.<\/p>\n<p>Aside from saving a considerable amount of time for translators, Phrase Strings also saves time for uShip\u2019s developers. Vinyard said \u201cMy guess is that we saved months of developers&#8217; time just to meet our new specific needs. Even more if you consider the benefits we wouldn&#8217;t include if we had to write the code ourselves, such as the improved search functionalities and great performance.\u201d<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/text-block_391e2a0a09357c641f51ef73df0cef6f\" class=\"pxblock pxblock--text spacing--default bg--white\">\n\n\t\n\t<div class=\"container\">\n\t\t<div class=\"wysiwyg animate-in\">\n\t\t\t<p class=\"subhead\">Features used<\/p>\n<h2><span style=\"font-weight: 400;\">Key Phrase Strings features that help uShip localize at scale<\/span><\/h2>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/simple-card-block_f31ce4e4acc89da82a9af7f1a65f3e4a\" class=\"pxblock pxblock--simple-card columns--3 bg--white\">\n\t\t<div class=\"container\">\n\t\t<div class=\"cards animate-in animate-children\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"column card \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card--img\"><img loading=\"lazy\" decoding=\"async\" width=\"80\" height=\"80\" src=\"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/checkmark.svg\" class=\"attachment-original size-original\" alt=\"Checkmark icon | Phrase\" \/><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card--title\">In-context editor<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"card--copy\">Phrase Strings&#8217; in-context editor can be integrated within almost any web application and provides the possibility to translate content directly on your site.<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"column card \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card--img\"><img loading=\"lazy\" decoding=\"async\" width=\"80\" height=\"80\" src=\"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/checkmark.svg\" class=\"attachment-original size-original\" alt=\"Checkmark icon | Phrase\" \/><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card--title\">Multiple projects<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"card--copy\">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.\r\n<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"column card \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card--img\"><img loading=\"lazy\" decoding=\"async\" width=\"80\" height=\"80\" src=\"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/checkmark.svg\" class=\"attachment-original size-original\" alt=\"Checkmark icon | Phrase\" \/><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"card--title\">User roles and access control<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"card--copy\">Organize your localization team by assigning dedicated roles and access rights to each team member according to projects and locales.<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n<\/div>\n\n\n\n<div id=\"acf\/feature-block_9ab2512c45c73533ad165efece115da2\" class=\"pxblock pxblock--feature bg--yellow\">\n\t\t<div class=\"container animate-in\">\n\t\t<div class=\"feature--header\"><h2 class=\"h1\">Ready to get started?<\/h2><\/div>\n\t\t<div class=\"feature--content\">\n\t\t\t<h3>Reach a wider audience and build deeper connections today.<\/h3>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div class=\"feature--btns btn-group btn-group--center\">\n\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/phrase.com\/demo\/\" class=\"btn btn--primary\">\n\t\t\t\t\t\tBook a demo\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/phrase.com\/pricing\/\" class=\"btn btn--outline\">\n\t\t\t\t\t\tSee pricing\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"featured_media":37520,"parent":0,"template":"","case-study-tag":[116],"class_list":["post-7147","case-study","type-case-study","status-publish","has-post-thumbnail","hentry"],"acf":{"image":{"ID":3245,"id":3245,"title":"UShip_logo_testimonial","filename":"UShip_logo_testimonial.svg","filesize":1887,"url":"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/UShip_logo_testimonial.svg","link":"https:\/\/phrase.com\/?attachment_id=3245","alt":"UShip logo | Phrase","author":"6","description":"","caption":"","name":"uship_logo_testimonial","status":"inherit","uploaded_to":1719,"date":"2022-08-16 18:46:40","modified":"2022-09-16 01:00:13","menu_order":0,"mime_type":"image\/svg+xml","type":"image","subtype":"svg+xml","icon":"https:\/\/phrase.com\/wp-includes\/images\/media\/default.png","width":171,"height":63,"sizes":{"thumbnail":"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/UShip_logo_testimonial.svg","thumbnail-width":171,"thumbnail-height":63,"medium":"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/UShip_logo_testimonial.svg","medium-width":171,"medium-height":63,"medium_large":"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/UShip_logo_testimonial.svg","medium_large-width":171,"medium_large-height":63,"large":"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/UShip_logo_testimonial.svg","large-width":171,"large-height":63,"1536x1536":"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/UShip_logo_testimonial.svg","1536x1536-width":171,"1536x1536-height":63,"2048x2048":"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/UShip_logo_testimonial.svg","2048x2048-width":171,"2048x2048-height":63},"svg":"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 26.5.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 171 63\" style=\"enable-background:new 0 0 171 63;\" xml:space=\"preserve\">\n<style type=\"text\/css\">\n\t.st0{fill:#181818;}\n\t.st1{fill:none;}\n<\/style>\n<path class=\"st0\" d=\"M97.9,34.8h-9.3v-8h-8.3v26.6h8.3V43h9.3v10.4h8.3V26.8h-8.3V34.8L97.9,34.8z\"\/>\n<path class=\"st0\" d=\"M83.5,13l7.2,2.6L83.6,0.4L68.3,7.5l6.6,2.3L74.8,10c-0.5,1.3-1,2.2-1.1,2.5c-0.2,0.3-0.6,0.7-2.6,0.9\n\tc-0.5,0-0.9,0.1-1.3,0.1h-0.9c-0.7,0-1.5,0.1-2.9,0.2c-2.8,0.4-5,1.4-7,3c-1.6,1.4-3.3,3.2-4.2,7c-0.6,2.7-0.2,5.3,1.2,7.9\n\tc0.9,1.6,2.9,4.1,7.4,6.8c2,1.2,3.4,2.2,4.1,3.1c0.4,0.6,0.6,1.4,0.5,1.9c-0.1,0.2-0.2,0.6-0.5,0.8c-0.5,0.3-1.6,0.6-2.6,0.9h-0.1\n\tc-1.6,0.5-3.7,1-5.3,2.1c-2.5,1.6-3.3,2.9-5.4,12.5l-0.2,0.6l8.3,2.3l0.2-0.6c0.8-3.1,1.4-4.9,1.8-5.4c0.5-0.6,0.8-0.8,2-1.2\n\tc0.2-0.1,0.5-0.2,0.8-0.2l0.3-0.1c1.6-0.5,3.1-0.9,5.3-2c3.1-1.5,5.3-5.2,5.7-9.7c0.5-4.8-1.3-7.3-3.2-9.4c-1.3-1.4-7.1-5.1-8-5.6\n\tc-1-0.6-2.2-1.6-2.1-3.1c0.1-1.2,1.3-1.7,1.6-1.7c0.2,0,0.7-0.1,1.4-0.2h0.1c1-0.1,2.4-0.2,4.4-0.5c3.9-0.6,6-2.4,6.7-3.2\n\tc2.5-2.6,3.7-5.2,4.2-6.5L83.5,13z M108.8,26.8h8.3v26.6h-8.3V26.8z M113,16c-2.7,0-4.8,2.1-4.8,4.8c0,2.6,2.2,4.8,4.8,4.8\n\tc2.7,0,4.8-2.1,4.8-4.8C117.8,18.2,115.7,16,113,16z M133.4,27.6c-1.8,0-3.5,0.3-5.2,1.1l-0.2,0.1v-1.9h-8.5v32.3h8.5v-6.7l0.2,0.1\n\tc1.6,0.7,3.3,1.1,5.2,1.1c7.3,0,13.2-5.8,13.2-13C146.5,33.4,140.6,27.6,133.4,27.6z M133.4,45.8c-2.9,0-5.3-2.4-5.3-5.2\n\ts2.5-5.2,5.3-5.2c2.8,0,5.3,2.4,5.3,5.2C138.7,43.3,136.2,45.8,133.4,45.8z M44.1,39.8c0,3-2.6,5.6-5.7,5.6s-5.7-2.5-5.7-5.6v-13\n\th-8.3v13c0,7.5,6.3,13.6,14,13.6s14-6.1,14-13.6v-13h-8.3C44.1,26.8,44.1,39.8,44.1,39.8z\"\/>\n<rect class=\"st1\" width=\"171\" height=\"63\"\/>\n<\/svg>\n","html":"<img width=\"171\" height=\"63\" src=\"https:\/\/phrase.com\/wp-content\/uploads\/2022\/08\/UShip_logo_testimonial.svg\" class=\"attachment-original size-original\" alt=\"UShip logo | Phrase\" decoding=\"async\" loading=\"lazy\" \/>"},"copy":"","link":{"title":"uShip","url":"https:\/\/phrase.com\/customers\/uship\/","target":""},"case_study_logo":false,"landing_page":[],"search_content_type":""},"taxonomies":[{"term_id":116,"name":"Technology","slug":"technology","term_group":0,"term_taxonomy_id":116,"taxonomy":"case-study-tag","description":"","parent":109,"count":21,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/case-study\/7147"}],"collection":[{"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/case-study"}],"about":[{"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/types\/case-study"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/media\/37520"}],"wp:attachment":[{"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/media?parent=7147"}],"wp:term":[{"taxonomy":"case-study-tag","embeddable":true,"href":"https:\/\/phrase.com\/wp-json\/wp\/v2\/case-study-tag?post=7147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}