improving app translations

44
Improving App Translations João Orui

Upload: joao-orui

Post on 16-Apr-2017

581 views

Category:

Software


0 download

TRANSCRIPT

Improving App TranslationsJoão Orui

2

Have you ever tried an app,

and right after installing

you find {any language here} translations are bad?

3

Maybe they are not that bad.. but you find a few:

- spelling errors

- wrong verb conjugations

- wrong genders

- wrong plural forms

4

Sometimes they are...

just...

terribly...

wrong!!!

What do you do when you find a wrong translation?

5

6

Option 1:

tolerate it

it's not going to kill you

...... right?

6

Option 1:

tolerate it

it's not going to kill you

...... right?

7

Option 2:

uninstall the app (or leave website)

ouch >_<

8

Option 3:

tell the developer to fix it!

😎

but.. will they really look at it?

Some common causes for wrong (or bad) translations

9

some common causes for wrong (or bad) translations

(1) Missing translations

Translations fall behind as you add or change features

Result: mix of default language and local language

Example (weather app):

"今日の天気は cloudy です。"

10

some common causes for wrong (or bad) translations

(2) Machine translated

Quality is good enough for some languages pairs

Form other languages pairs, they're just bad. Really.

11

some common causes for wrong (or bad) translations

(3) Inconsistency / Wrong contexts

Same term could be translated differently throughout your app.

- 開ける (akeru) / 開く (hiraku)

The translator wasn't provided enough context

- Clear: is it about weather? is it an action to clear some text on the screen?

12

13

Translations don't need to be bad.

WE CAN DO

BETTER!

How to avoid wrong translations?

14

How to avoid wrong translations?

15

improve translations

How to avoid wrong translations?

16

improve translations WITH THE HELP OF YOUR USERS!

17

You can ask your users for help!

* if you got a deep pocket, ignore most of this presentation and hire a team! 🤑

how to improve translations?

ask users for help

Translation Management Systems (TMS)

18

ask users for help

Translation Management Systems (TMS)There are decent TMSs out there providing:

18

ask users for help

Translation Management Systems (TMS)There are decent TMSs out there providing:

‣ translation history management

18

ask users for help

Translation Management Systems (TMS)There are decent TMSs out there providing:

‣ translation history management

‣ glossary management

18

ask users for help

Translation Management Systems (TMS)There are decent TMSs out there providing:

‣ translation history management

‣ glossary management

‣ context attachment to strings (text and screenshots)

18

ask users for help

Translation Management Systems (TMS)There are decent TMSs out there providing:

‣ translation history management

‣ glossary management

‣ context attachment to strings (text and screenshots)

‣ interfaces to accept translations from your users

18

19

20

Get creative on recruiting more translators!

how to improve translations?

21

Translation progress: 95~100%

😃a link on the "about" screen or page footer should be OK

22

Translation progress: 90~95%

😐get slightly more aggressive:

add a link to one of your main menus?

23

Translation progress: 75~90%

😥Not good. A link in the header of your main page may help?

24

Translation progress: < 75%

😱Emergency mode!

Target enthusiastic user with messages?

Check the numbers. Is it really worth keeping that target language?

asking help from users

How we ask for help in Drivemode

25

An item is added to our main menu when translation progress gets under 95% for that language

asking help from users

How we ask for help in Drivemode

26

Customer support: when someone requests for translation fixes or for a new language support, we refer them to our translation management system.

27

Make things easier for you. for translators. for everyone.

how to improve translations?

make things easier for you

Automate as much as possible!

28

make things easier for you

Automate as much as possible!

‣ upload new strings as they're added (APIs exist for this!)

28

make things easier for you

Automate as much as possible!

‣ upload new strings as they're added (APIs exist for this!)

‣ import translations from your release scripts

28

make things easier for you

Automate as much as possible!

‣ upload new strings as they're added (APIs exist for this!)

‣ import translations from your release scripts

‣ find missing placeholders or wrong formatting with lint rules (management systems can help with this)

28

make things easier for you

Automate as much as possible!

‣ upload new strings as they're added (APIs exist for this!)

‣ import translations from your release scripts

‣ find missing placeholders or wrong formatting with lint rules (management systems can help with this)

‣ take screenshots and upload them to translators

28

make things easier for you

Automate as much as possible!

‣ upload new strings as they're added (APIs exist for this!)

‣ import translations from your release scripts

‣ find missing placeholders or wrong formatting with lint rules (management systems can help with this)

‣ take screenshots and upload them to translators

‣ automatically identify identical strings to copy or merge

28

29

Translations don't need to be bad.

WE CAN DO

BETTER!

29

Translations don't need to be bad.

WE CAN DO

BETTER!TOGETHER, WITH OUR USERS!

one last thing...30

31

Internationalization and localization requires an enormous amount of effort from both business and engineering sides.

Translations are a just a pice of that effort.

When you do translate your app, aim to improve it! Tools are there. You and your users can benefit from it.

We can definitely improve translation in our apps!

Links

▸ Translation Management Systems

▸ https://www.oneskyapp.com/

▸ https://www.smartling.com/

▸ https://www.transifex.com/

▸ Some scripts we wrote for our Android app

▸ Upload original strings to OneSky: https://gist.github.com/jfsso/5cd988dcf815c7833a85b01cd53deac6

▸ Download translated strings from OneSky: https://gist.github.com/jfsso/c82102dded15a1cefc53994a96dfed6d

32