Category: MIIS TLM (page 1 of 2)

My Experience with Unity Localization

Unity: Game Development for Everyone

When I imagined game development, I imagined an expert programmer typing thousands of strings to create a game. I often wondered how much time it would take a group of coders to create a game. Would it take a year? 5 years? I thought to myself, how can they memorize all these formulas from scratch every time they make a new game? Little did I know that game engines are a way to streamline and simplify the game development process and avoid all those things I made up in my mind. When I first opened up Unity, I kept trying to decide which changes I needed to make in the code to affect the game, little did I know that Unity was developed with the thought that there should be an interface that should prevent the need to write new code for every simple change. Through the interface, a whole game can be created without ever needing to write any code. It seems to me that Unity has allowed for people who are not programmers and coding wizards to be able to create their own works and share their ideas.

This has also paved the way for the localization and internationalization to enter game development from the beginning rather than being an afterthought. Through a project some colleagues and I recently completed, we discovered that localization has been built into the Unity interface streamlining the process for games to be localized. I would like to share some examples of things we learned through or localization of one of the demo Unity games.

FPS Microgame

figure a

We decided that for our pilot project we would take one of the demo Unity games that you can install upon downloading the Unity software. One of the reasons we chose this game was because it was developed by Unity. Knowing that Unity supports localization directly, we hoped that they would keep localization in mind. Also, there were static images with text and in-game menus that seemed easy to work with. The images with text could be localized through DTP (figure b) and the text on the buttons could be changed through the dashboard.

figure b

As you can see in figure a, once we were able to implement the I2Localization into Unity, the start menu was simple. We changed the text on the buttons and we even added a language picker, a function that is built into the interface with I2Localization enabled. In the pop-out menu, you can see how we added the text for the various languages according to “key terms” that we determined in a separate menu.

Localization Issue #1: Font

We had some challenges that we were not able to overcome in our limited time on this demo project. Our first major issue was with displaying Japanese text. According to the most updated Unity Manual, “Unicode text allows you to display German, French, Danish or Japanese characters that are usually not supported in an ASCII character set”. While our German text had no issues, the Japanese would not show. We downloaded and imported several different Japanese fonts with no success. As you can see above, Main shows the actual text that should display, while secondary should replace the font. After various attempts, we concluded that there could be an encoding issue with the entire game that is causing a font issue for CJK languages.

Issue #2: Lack of Internationalization

The objective scripts were our biggest challenge of this project. As displayed in the screenshot above, we were only able to successfully localize one of the three scripts related to the objectives. The reason why they presented such a challenge was because of the way they were written in the code. Rather than being strings that were hard written into the code, the game would conjure the text up depending on the parameters of the level and how far the player had progressed. From a programmer’s perspective, this might make things more streamlined, but for us localizers who did not understand C#, we did not understand how to internationalize the code.

In this screenshot, it shows us the why behind the code. The text displayed is being called into the code a variable. We were not able to make them strings in order to rewrite the text. The variables, as they are written, seem to be incompatible with the I2Localization add-on of Unity. If we understood C# better, we might have been able to recode the text in a way that was still conditional but allowed for better internationalization. We did find one solution in simply replacing the message notification with an I2 localized string as seen here:

The issue with this fix is that when we replaced “message” with a localized string, it replaced both the beginning objective and the winning message as they are both called by the same variable.

Final Thoughts

Unity’s interface is great for game developers but presents some challenges for localization. This is mainly due to the fact that developers do not create a game with internationalization and localization in mind. These are usually an afterthought. If these two steps are integrated into the development process from the beginning, that can be avoided, and Unity has made that easier than ever. There are many localization professionals that I know who are avid game enthusiasts, so I predict that in a not-too-distant future, internationalization will be fully incorporated into the game development process.

Family Guy: Funny in Russian, or Not?

Introducing…

I have seen every episode of family guy at least 50 times. You might call this insanity, but I have been a fan of the series creator, Seth Macfarlane, since I was in my teens. When I started to think about how I could incorporate one of my favorite shows into my DTP showcase, I began to think about how this TV series is shown in many languages, including my second language of Russian. Humor is said to be a universal language, yet how can someone in Russia understand jokes that are based on cultural references of another country?? With that question in mind, I set out to determine if in fact the comedy of family guy is understood when localized to the Russian language.

Why Family Guy and not the Simpsons?

Maybe it’s my generation, the infamous millennial’s, but ask anyone and they will tell you that they have a favorite animated series. For me it was always Family Guy, not the Simpsons. It’s not that I have anything against the show or the fans, I honestly simply never watched it. It my teens when I started to watch different shows, I always found it on and laughed at all the jokes. I never watched the Simpsons much and thus, it passed me by.

Dubbing vs. Subtitling

Depending where in the world you are, people have come to expect one of the two choices when watching TV series and movies. As I have only traveled abroad to Europe and Russia, I know that these places prefer content dubbed into the native language of the viewer. Growing up in the US, I always watched movies in the source language, whether it was a kung-fu film, or a French thriller, or one right from Hollywood. When I went abroad, I found it strange the locals preferred dubs. In Russia, they even have famous voice actors who almost religiously cover the voices of specific actors in Hollywood. From what I have heard, people from Asian countries prefer the original with subtitles. I will almost always prefer watching in the original, with the help of subtitles if I do not know the language being spoken.

Analysis of Russian Dub

My goal was to record myself discussing and analyzing several examples of jokes and references from the show. With 17 seasons and 20 episodes per season, there is a ton of Family Guy material to choose from, so I stuck with one of my favorite episodes: Season 11 episode 1 Into Fat Air. This title nods at the famous 1997 movie Into Thin Air: Death on Everest. In the episode, Lois Griffin runs into an old boyfriend at the grocery store. As we come to find out, him and his family are the best at everything, and after embarrassing themselves at dinner, Lois and the Griffins accept the challenge to climb Mt. Everest in a competition against the other family, of course only in classic Family Guy fashion with references and jokes the whole way.

Video Project

I decided that it would be more interesting to put my new Adobe suite experience to the test and showcase my findings in a video. In the video, I interviewed myself and discussed my analysis of the described episode above. I included several clips and each clip’s respective Russian dub to showcase and discuss how the comedy of each joke, and the entire show, translates from the source English to Russian.

I have included a link where you can find the video posted on YouTube.

Link to the video

After Action Review

I sought to make this project challenging, yet rewarding, in order to satisfy the difficulty requirement, as well as find some joy in my work. Much of the challenge of this project was compiling, organizing, and editing the video in Adobe Premiere Pro, though having completed a smaller and shorter project in Premiere Pro just weeks before definitely assisted me in my task. Finding the content, namely examples of the Russian dub of the show was an unexpected challenge I faced. I was not able to find access to Russian dubbed version of any episodes of Family Guy through any streaming service, neither could I find a portal to pay and watch episodes. Thankfully YouTube exists, and I was able to source all my needed content from various videos. See my video for my final thoughts on the project. Overall, it was an interesting analysis into how comedy transfers between languages.

Advanced CAT ( & MT too) – Post Mortem

Introduction

This Post Mortem is for the purpose of demonstrating the experience I have gained throughout the semester of attending the course, participating in instructional sessions, and completing the various projects assigned throughout the semester. This will be proven through providing access to materials of those assignments and projects with brief explanations of what was completed and learned through each of these assignments. This can be used to provide evidence that I have gain sufficient experience to continue on with my studies and use these skills in my future career in the industry of localization.

SMT Training Project Using Microsoft Custom Translator

For this project, we were given the task of creating and training a SMT engine that would machine translate in the specific field of our choosing. My team, names KOT Translations, decided to create an SMT engine that would be able to translate press releases posted by the US Embassy in Russia from their source language of en-US to ru-RU. We chose this subject field because the website of the US Embassy to Russia has all press releases already translated in both languages, so we knew we had the content necessary to train the engine. Our results were successful in training the engine, yet to our surprise, our initial BLEU score was our strongest.

Please see the attached links for access to our:

initial proposal

updated proposal

project files

presentation on Lessons Learned

Tips for Trados QA (using Regex)

The QA checker in Trados is used to find string patterns throughout the document needing to be translated. This is helpful in making sure the proper text is translated, especially in web-pages and other content filled with code. CAT tools cannot always differentiate between the text and the code, and thus regular expressions (Regex) are used to exclude or include texts from translation. Many times strings are translated when implementing machine translation, breaking the webpage when the target translation is uploaded back to the source. This is where Regex comes into use.

This link from SDL gives some explanation on how to use the QA checker in Trados to specify regular expressions:

SDL Product Help

One example for implementing Regex was our example of using the DD/MM/YYYY date format rather then MM/DD/YYYY. We focused on this because our group’s language pair of Russian uses this format. The expression example can be seen below.

DD/MM/YYYY

Utility Demo Video

One of our assignments was to find a utility tool on the internet and record a screen-capture demonstration video explaining and using that tool. I decided that the most useful tool for me to find would be an open-source clipboard manager.

Clipboard Master

This open-source clipboard manager tool is an all-in-one windows utility that not only stores up to 10,000 of your previous copies, but includes text templates, a screenshot tool, hotkeys, a password manager, and more. It also supports almost all Windows programs. See my demo video below.

Translation Management Systems – Overview & final portfolio

Introduction

During the J-term semester of my studies at MIIS, I was able to attend the intensive 4-day workshop on Translation Management Systems taught by Adam Wooten. The purpose of the course was to introduce the concept of a translation management system (TMS), explain the application to the translation industry, and give us hands-on experience using different TMS’s. Our goal was to become familiar navigating and implementing a TMS to prepare us for future encounters with these systems. I was previously not aware that there were specific content management systems designed for the language industry. Some of the most popular systems have come from large language service providers as they needed improved organization methods in their growth. Rather than find a CMS or TMS and reprogram it to meet their specific goals and needs, LSP’s would rather invest in creating their own systems in the exact way they want.

The two system’s we were exposed to through the course of the workshop were SDL WorldServer and GlobalLink from TransPerfect. Though varying greatly in complexity and design, both of these TMS’s were designed by their respective companies to meet their specific needs. As part of our course we were given the task of comparing these two systems and evaluate their strengths and weaknesses.

TMS Comparison Assignment

Scorecard for TMS comparison

In order to decide which TMS was best, we had to create a system with which we could rank the systems. We came up with six categories that we would measure the systems against each other. Each of the categories would represent a respective stakeholder within our “company”. As we had six people in our group, we all acted as each of the stakeholders and were tasked with deciding what two items would be most important to that stakeholder. In a real life scenario, we figured the situation would be the same: each stakeholder would have a say from his or her respective department, then the manager overseeing the committee would hear out all the respective parties and present a scorecard to the upper management to help them with deciding on a specific system to implement. Our scoring system worked as follows:

Scoring rubric

We ranked each of the categories based on this rubric. Most scores fell well within the listed numbers, but some still fell outside of this range. As far as a passing score, it would be safe to say that these scores represented grades A through F respectively.

As can be seen in the results, we felt that WorldServer fit our needs much more than GlobalLink. GlobalLink is very complex and can as a result is much more detailed, but when put into practice, WorldServer was successful and included the specific details we preferred.

Comparison for a real client

This comparison project was only the beginning of our comparison work. As our final project, our entire class was combined into one consulting firm. Our commission: to consult an LSP on which TMS they should implement. During our initial interview, we were told the criteria by which we should decide which TMS solution would be best. We were suggested three main solutions and then divided up into sub-groups based on the solutions we were to research. The solutions were XTRF, Plunet, and XTM.

Each group conducted an extensive evaluation of their respective TMS using the scoring rubric seen below.

My group focused on XTRF and how effective it would be managing a LSP as a TMS.

Community Translation for the IPCC

Below is our project for the Community Translation & Crowdsourcing workshop held by Adam Wooten.

Click for our project proposal with supporting documents, and the PowerPoint slides used in our presentation.

Community Translation & Crowdsourcing Final Post

In the last weekend of January 2019, I attended a workshop by Adam Wooten at Middlebury Institute of International Studies on the subject of community translation & crowdsourcing. Throughout the weekend we discussed the various advantages and situations in which this method of translation has been successfully implemented. We also addressed disadvantages and looked at instances where it would not me the ideal method of translation. The most significant takeaways from the workshop included looking at the importance of quantity and quality and their respective individual significance, which I was required to discuss in previous posts which can be accessed at these links:

QUANTITY —— QUALITY

This also included completing a final project on how we might put these techniques into practice for a non-profit organization of our choice.

Final Project – Community Translation for the IPCC

The IPCC is a body of the UN focused on publishing scientific reports on changes in the Earth’s climate for leaders of the world. There are no publicly available translations of these reports, thus they are not accessible to the people of the world. Yet, there is a large community of global citizens ready to make this information available to the leaders and people of the world through community translation.

Click to see our project deliverables, consisting of our proposal, which includes an overview as well as supporting documents on quantity and quality, and also the PowerPoint slides for our video presentation above.

Microsoft Custom Translator

Our group chose to train an engine based on terms and phrases you would find on a nutrition label. We thought it would be specific enough and important enough to affect a global scale of files that would need to be translated. Most countries require that nutrition labels be placed on any consumable product available for purchase, that means getting translations to fit the needs of a specific country. Also because they are predefined, Machine translation would be the most efficient method of translation.

Below are our dictionary files:

Nutrition File 01

We complied the above list from nutrition labels of products around our houses. For example, looked at a can of energy drink I had in the fridge:

Energy drink label

After compiling the list, we uploaded the data into the custom translator and trained the data with a model. Screenshots of the process have been added below for a more accurate visualization:

Data file has been uploaded
Data visible in the translator with a language selector
Results of the model training

How do you ensure QUALITY in community translation?

Crowdsourcing & community translation can be a frightening idea to traditional companies. Would we really want to put our life’s work in the hands of a random crowd with the task of localizing our ideas  for the world? Well, if the circumstances are right, yes!

It doesn’t work in every case, but crowdsourcing can be an effective method of translation, especially for tech companies of the last decade who have large communities of users to rely on for support and feedback. But for a company, like Facebook, who has implemented community translation for localization of it’s website into over 100 versions, how can quality be assured?

Build a Community

To initiate crowdsourcing, you first need a crowd. Facebook’s success was due to it’s large following even when it was still new and only available in English. The possibility to connect with and participate in the lives of people from all over the world through the internet was available, but never in such a way that attracted so many people. Once it’s popularity went international, the want for more translations sprouted. But facebook neither had the resources nor the time in it’s early days. Crowdsourcing translation became the obvious choice, and though it wasn’t really cheaper, it enabled a new language to roll-out in a matter of weeks.

With the community in place, a community of translators could be separated and groomed. Facebook’s system of crowdsourcing allows users to post translations for community approval. As people submitted answers, they could grow in popularity or be replaced by “more accurate” translations. When a translation had enough votes, it could move to the review stage where a member of the Facebook team could review the translations. As more and more translations came through, the team at Facebook wouldn’t possibly be able to keep up. A system to allow the community to submit and review translations was put in place.

Ranking & Credentials

Community members with a high number of up-voted translations eventually receive special recognition for their success in translation. With a new credentials, these members would be able to submit translations with more authority than new users. These types of motivations of progress for work done keep members translating and feeling good about it. People are inspired by recognition, and at the same time a high level of quality is assured. Also, translators are trained as they complete more and more translations, so it is as if they have even earned the new credentials, all through volunteering.

On-boarding & Outreach

Facebook is well known for connecting with it’s community. This is also one of the reasons that their community translation is so successful. During a talk from Aaron Babst, Lead Program Manager of Localization at Facebook, Aaron talked about how one of his small language communities was so passionate about their localization efforts, but they lacked some of the technology education and training to complete their translations. They pleaded for Facebook to send out an employee to assist them and work with them in person. The Facebook team obliged and sent out a team member. These types of efforts can motivate translators and ensure that quality is preserved. Also, senior community translators can assist their communities in on-boarding and outreaching activities, whether in person or online.

Communication

One of the most defining factors in successful quality crowdsourcing/community translation is communication. Though it seems obvious, communication within communities and with company representatives ensures that members feel their concerns are heard and that what they are doing is having an impact. If Facebook were to roll out their translation add-on and never communicate with their users, first of all quality would crash and burn, and second user base would evaporate. Crowdsourcing usually isn’t a more cost effective method and more concerning when thinking about Q&A, but if communication is integrated into the crowdsourcing translation method, great success can result.

Final Thoughts

Community is key to successful community translation. Look at the successes of Facebook, Twitter, and Mozilla. They have been shining star examples for the industry. Many things connect these three examples: all young companies, tech companies, user focused, international audiences… Most importantly, all of them are community based.

Is “fan-base” the key to successful translation crowdsourcing?

The video game industry has always been sustained by the community they promote. Customers who buy a certain game join a community upon their purchase. This community shares the experience of following a captivating story, or playing online with friends and acquaintances from around the world. Online communities are formed as a result, hosed by the developer and/or even by enthusiastic fans. These communities have become a standard in the industry. Depending on the success of the game, communities can grow and become influential. Fans can join together to discuss the quality and errors of a game, write to the developers to troubleshoot issues, as the games of today are never truly complete. Changes and updates are released every year for ultra-popular games, improving gaming mechanics and player experiences, all thanks to the online communities of the industry. This culture centered around video games is the perfect setting for crowd-sourcing. As mentioned earlier, when bugs or glitches are found in a game, people post about it in the online communities, and if the error is reoccurring for many players,  it grabs the attention of developers who make the needed changes, thanks to crowdsourcing.

Crowdsourcing in Gaming

We know that crowdsourcing is broadly defined as gathering the talents and energy of the public in an efficient manner for a common goal. This has become standard in the video game industry. Even non-essential changes are made on modern competitive games to improve “fairness” and even-out the gaming experience. This is all done due to the demands and wisdom of the community. Many developers and gaming companies follow the business model of making the games based on what the player sees things should be.

Gaming and the Community

With successful games comes large gaming communities. This sets the perfect situation to gather a large amount of participants for a successful implementation of translation crowdsourcing. The long term success of a game can often depend on the crowd and how it is maintained. Developers need feedback on how they carried out their ideas and if the community approves or not.

But how might we use this community for translation?

If you make the game, the community will come. It’s always difficult for a new gaming company to emerge, but once they have a hit game, they will have a fan-base for life. Think about the Halo series or Call of Duty; any games that their respective studios put out will be discussed worldwide buy their communities. But what would it take to turn these fans into amateur translators?

Public Recognition & Gamification

What motivates gamers most? Gamification and public recognition! Gamers love to be recognized as the best among their peers. In online gaming, success among peers is announced with badges and leaderboards. And offline success is announced through receiving trophies for unlocking achievements. These rewards and recognition can be seen and shared. This would be a priority in crowdsourcing translation in the gaming industry. Possibly it isn’t so common because it is so obvious? Either way, this would be key to keeping gamers interested in translation. Gamers also love to brag, and how many would give anything at the chance to show off that they were the ones who helped translate the game.

For Example…

Take for example, an indie gaming company or small group of organized developers who want to create a new game for people around the world. They might not have the funds or resources to translate the games in more than 2 languages, but if their game becomes a hit, they will eventually create a large enough community to assist in their translation crowdsourcing effort. With the speed at which information travels around the world in this decade, things can go viral in a matter of days.

Final Thoughts

When it comes to translation crowdsourcing, quantity is key to successful translation.  The more speakers of a language there are, the more times a translation can be reviewed and checked for accuracy. In my opinion, the video game industry is the perfect avenue for successful translation crowdsourcing due to the large following behind successful games.

Localization Project Management Office – Post Mortem

Introduction

For many at MIIS, the first semester of TLM is our first exposure to project management. Though I have worked in teams to achieve goals set by management at my various jobs, I have never been able to study and implement the “best practices” involved in an efficient workflow of an office. From the very beginning of our course in localization project management, we were place into project management teams and commissioned with running a simulation of working as a team of project managers at an LSP. We collectively chose the client “Amazon Watch”, a non-profit organization dedicated to providing support and assistance to indigenous people of the lands surrounding the Amazon river. We used various organizational tools to plan out and implement our commission, such as Trello, Slack, and DokuWiki, and the 6 of us acted as LPMs so that we would all have the opportunity to learn what was involved in all the steps of the process.

Trello

Trello is the office management tool we used in order to plan and complete every process of our project. Here we can see the tasks that needed to be completed each week and we were able to use checklists to keep track of every step of the process and whether or not each step was completed.

We were also able to create and edit the checklists or tasks in very easily and quickly to optimize the time spent on organizing our workflow and make the whole project run more efficiently.

DokuWiki

Our Wiki page was used to document and keep a write up of every step of the process. Within the “administrative” section you can see our list of translators we commissioned to do the translation work of the AW homepage into 6 different languages. Also within this section you can notice our templates we created for job requests to our prospective translators, an internal quote template, a specification form, and a list of screening requirements for our various translators.

Next you can see where we house our clients, namely Amazon Watch, and within that section you can also find our quote and specification form specific to that client as well as client specific style guide and project faq.

Lastly you can see we have more pages introducing our client, our team and our company.

Execution of our Translation Commission

After we received the commission to translate, we divided up our translations by language, one for each member of our team. First we needed to find translators to complete the translation. We chose to translate in to Portuguese, Chinese, Japanese, French, Spanish and Italian, based on what we thought the target audience would be of this organization.  Using the ATA database, we each found highly qualified translators to complete this work based on their ATA certification and their experience in the areas of ecology and environmental science. Though the translations were not very complex, for the purpose of the exercise we picked over-qualified individuals. I sought out an Italian translator and was able to find one with 20+ years of translation experience and had previously worked for National Geographic.

Next, we had to complete the translations. We did this ourselves since this was a simulation. We used the CAT tool Memsource and machine translation to complete it. The important thing that we needed to check for after translation was any errors in translations and formatting. The formatting does not always transfer over so upon completion we had to recheck for any issues. Finally we wiped the properties from the files and prepared the translation packet for delivery.

Lessons Learned

Upon finishing our project we completed an analysis of the time spent on the project through the tool TopTracker. We used it to keep track of how much time we were spending on which task. We realized that our biggest issue was that we did not use our time  efficiently. It was understandable given the nature of our simulation but the experience taught us of the importance of being efficient in time use.

I feel this project was a realistic simulation of the responsibilities involved with being a localization project manager and has prepared me to undertake these task in my future career as a PM.

Post Mortem Presentation

Older posts

© 2025 NATHANIEL BYBEE

Theme by Anders NorenUp ↑