Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CodeFest 2019. Mirjana Andovska (Netcetera) — Context: The missing ingredient in multilingual software translation

CodeFest
April 05, 2019

CodeFest 2019. Mirjana Andovska (Netcetera) — Context: The missing ingredient in multilingual software translation

An important phase in multilingual software systems is text translation. Since same text may be used in different contexts, it is difficult to determine whether the translation is proper in the context of the environment in which the text is used. Sharing only text keys and values with translators usually is not enough. Simple screenshots showing only the text content, also didn’t help in situations where text keys were re-used on multiple places, or when there are highly generic templates. Thus, I would like to present how we can use the automated end-to-end tests to deliver the necessary artifacts to the translation experts. These artifacts contain text keys, text values and also the context where they are used.

CodeFest

April 05, 2019
Tweet

More Decks by CodeFest

Other Decks in Technology

Transcript

  1. Start trek – “Discovery” – “Into the forest I go”

    Daglas Adams
 “Hitchhiker’s Guide to Galaxy” Start trek – “Metamorphosis” M2 @mirjando
  2. New text. State=<<initial>> 1 2 3 4 5 8 6

    7 9 Update: State=<<translated>> Generate “Base” labels Verify “Base” translation. State=<<verified>> Import verified translations Generate more “unverified” labels (ru, de) Update: State=<<translated>> Verify “Additional” translation. State=<<verified>> Import verified translations Developer Translator Validator trema plugin M6 @mirjando
  3. <text key="dcf.users.table.view"> <context>users table view</context> <value lang="de" status="translated"> View </value>

    <value lang="en" status="verified">View</value> </text> Sichtweise Ansicht Ausblick anschauen ansehen anzeigen M8 trema core plugin @mirjando
  4. “Experience” the content by using the application Start trek –

    “Next Generation” - “Evolution” M9 @mirjando
  5. Is clicking the application enough? IT IS NOT ENOUGH M10

    Star Trek - “Hero Worship” @mirjando
  6. Die Festlegung Ihrer E-Mail-Adresse ist Pflicht. Bitte tragen Sie Ihre

    E-Mail-Adresse in das Feld ein. Die Festlegung Ihres Passwortes ist Pflicht. Bitte tragen Sie Ihres Passwort in das Felder ein. Die Festlegung Ihrer Telefonnummer ist Pflicht. Bitte tragen Sie Ihre Telefonnummer in das Feld ein. Die Festlegung Ihrer ${field} ist Pflicht. Bitte tragen Sie Ihre $ {field} in das Feld ein. ${field} ist ein obligatorishes Feld. SE-004-EmptyPassword_en_firefox_04-1.png M23 @mirjando
  7. ${header.finish.title} ${se.finish.desc} ${se.link.home} DE | FR | IT | EN

    Congratulations You have successfully registered for the mobile application. You can see an example here: https://codefest.ru/mobileapp DE | FR | IT | EN SE-011-SuccessfulRegistration_en_firefox_20-1.png M24 @mirjando
  8. <?xml version="1.0" encoding="UTF-8"?> <trema masterLang="de"> <text key="progress.bar.start"> <context>header</context> <value lang="de"

    status=“translated">View</value> <value lang="en" status=“verified">View</value> </text> </trema> trema file M28 @mirjando
  9. <?xml version="1.0" encoding="UTF-8"?> <resources> <string name="progress.bar.start.view"> progress.bar.start.view </value> <string name="progress.bar.start.edit">

    progress.bar.start.edit </value> <string name="progress.bar.start.reset"> progress.bar.start.reset </value> <string name="progress.bar.start.add"> progress.bar.start.add </value> </resources> M31 android strings.xml file @mirjando
  10. Experience the Contex(n)t textValues textKeys Context accelerates translation Show text

    “keys” during testing Clear workflow for all involved parties Unique screenshots from tests M35 @mirjando