Any piece of content you create, be it technical documentation or a blog article, carries a specific, branded feeling. That feeling is beautifully designed and so carefully crafted that it changes everything about how clients perceive your business (looking at you, Apple!).
Entire websites and cloud-based apps are no different. This is why it’s so important to translate them in such way that they stay beautiful and convey the same, so carefully crafted a message in foreign languages too.
A version of this blog post for developers is available here (where I the talk about MVC and basic app architecture is skipped).
The ‘Dark Ages’ of Translating Web Apps (stop doing it right now!)
After interviewing a dozen of businesses, I found that most of them handle their web translation in an incredibly archaic manner. They take their time to copy/paste pretty much anything that isn’t code, build an Excel sheet and forward it to a translation agency via e-mail.
They receive their translated material and, hoping for the best, forward it to their software developers. The problems start when developers need to implement this translated content.
What problems? A simple renaming of a “Sign In” button can cause significant issues, leading to a lot of time being wasted. And we all know how valuable the time of our programmers is.
Secondly, do they maintaining consistency across multiple languages? Everybody knows that content gets updated daily, and apps require cycles of tweaks and optimizations in their interface. Just one change in English can generate a cascade of inconsistencies across all other languages.
This article is ideal for those that are part of an international business but aren’t quite sure how to set up content translation as a process.
The anatomy of web apps (Model-View-Controller Framework)
A pre-requisite to understanding the idea behind Assisted Translations is awareness of the Model-View-Controller framework for anything you use in your web browser.
The model is where data is kept, both numbers and text. (Think: Database)
The view is the model’s data displayed in (hopefully) an appealing way. (Think: HTML)
The controller is the program that puts it together. (Think: Program)
Since the model is our resource storage facility where content is kept, it makes sense to think of translating it in its entirety as a shortcut to copy/pasting content as seen on the website. Asking developers to send those resources to translation agencies is an intuitive approach, but a suboptimal one. Let’s now talk about the controller.
If you have an international website or web application, your users either choose the language through a language selection button or have it changed automatically based on their browser language. For that to happen, a well-crafted controller needs to function and load model resources that are exclusively suited to the selected language.
The resource is stored in a specifically formatted file (or set of files), uniquely applicable to the given language. These formats are universal but differ for certain development frameworks.
Given this connection between the two, the same pattern emerges: copy, send, return, implement. Identical problems arise with any potential change you may want to implement later on.
Go to this link to see if your resource files and development environment are applicable for Assisted Translations.
Processual challenges of website translation – Versioning
Think of versioning as having the possibility to take a step back in time, at any time, without consequences. Developers do this every day of the week (programming is hard!). You may have heard terms like development server, staging and production. These are simply layers of the same code, starting bottom-up from creation, through testing, and all the way to publishing. If something goes wrong, developers can take a step back and load a backup version of what was tested and working the day before the most recent launch. Services like GIT or Subversion are used to facilitate the process.
These versions of your website or application would only be strings of programmer code if it wasn’t for the beautiful, branded content that you provide. Yet each time programmers attempt to release thrilling, new features or amazing landing pages, they need to wait for translated resource files to pair with the fresh controllers. It’s both annoying and wasteful for them.
Even if you could tip-toe around the code, learn the file structure by heart, and translate those resource files directly, there are a plethora of security issues right the way from accidental code removal all the way to finishing with malicious code insertion by an angry employee at your agency. That would also mean that any updates will be postponed until you commit your translated files into the appropriate development branch.
Assisted translations with a no-agency workflow
Text United can connect with your resource files, extract the content, submit translation projects for any language and send back appropriate files for immediate implementation. We use OKAPI filters for full compatibility with popular frameworks, so you don’t have to worry that code will get modified – we only extract clean text.
For now, we’re compatible with GitHub (a code versioning repository), allowing content extraction from your selected resource files, ordering translations from professionals and allowing you to translate by yourself.
It wouldn’t be complete without automation. We allow the system to automatically scan for changes in content written in your apps and create micro-projects for those translations, so with each development cycle, your international terminology will be delivered. Plus you can pause it at any time, maybe while building an international version of your website, and restart when ready.
We’re just talking about a connector here, but things get a lot more interesting as we go deeper into translation technology.
Computer-assisted translation for web apps
This isn’t as futuristic as it sounds. Google may be developing their neuron networks and natural language processing algorithms for machine translation, but at the time of writing this article, there is still no perfect way to algorithmically capture the human touch in translation.
It is exciting though. Aside from a translation editor that’s built for segmentation of the source material (for ease of use and chunking of the work to be done), there’s also Translation Memory. This is a universally formatted database of your translated material for any language pairing. Ask your translation agency to send it over – it’s compatible with Text United. The more you, or translators, translate, the less work needs to be done, since it catches similarities with the previously translated material and suggests whatever could be re-used.
Terminology tools are a natural extension of this, being a bank of terms used throughout your branded content. It’s usable for content creation for even a single language, in order to consolidate the brand’s concept and core values within any piece of content. Some semantic quality dilution will happen as a result of what translation is inherently about, although this is the absolute best way to maintain the brand’s voice internationally while at the same time not being a multilingual writer.
Both these banks are generated automatically and grow organically as you translate more and more. We offer the service free of charge for 10.000 words each month. You’ll seriously get hooked on assisted translations!
Your international journey starts here
Be nice to your developers and aid them by taking away anything that’s not related to programming, and allowing them to do what they do best – code! With a knowledge of website and web app architecture, you can now see how easy it is to take all the hassle out of the usual, archaic way of translating web content, and instead start enjoying growing your business internationally.