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 in 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 so 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 (I skip the talk about MVC and basic app architecture).
The stone age 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 a very archaic way. They take their time to copy/paste pretty much anything that isn’t code, build an Excel sheet and push that via e-mail to a translation agency.
They receive their translated material and, hoping for the best, forward it to their software developers. Problems start when developers need to implement this translated content.
What problems? A simple renaming of a “Sign In” call to action button can cause significant issues, leading to time waste. And we all know how valuable is the time of our programmers.
Secondly, how are they maintaining consistency with 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 for you if you 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 talk about the controller now.
If you have an international website or web application, your users either choose the language through a language picker 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 suitable only for 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. Same 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 like of having the possibility to take a step back in time, at any time, without consequences. Developers do that 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 to testing and 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 new 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 beautiful, branded content that you provide. Yet each time when they’re attempting to release new thrilling 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 starting with accidental code removal and 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 pure 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 when building an international website version, 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
It’s not as futuristic as it sounds like. Google may be developing their neuron networks and natural language processing algorithms for machine translation, but as of the day I’m writing this article, there is 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 pair. 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 it, being a bank of terms used throughout your branded content. It’s usable for content creation for even a single language, just to consolidate the brand’s concept and core values within any piece of content. Some semantic quality dilution will happen through 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’re offering 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 the 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 just start enjoying growing your business internationally.