Return to Video

Transifex: Beautiful Python app localization

  • Not Synced
    hi, all, is it too loud?
  • Not Synced
    alright,thanks for you all to coming
  • Not Synced
    i'm Dimitris, i come from greece
  • Not Synced
    and i have strange accents
  • Not Synced
    i'm going to talk to you a pit about python localisation today
  • Not Synced
    basic practices,
  • Not Synced
    how people usually do it
  • Not Synced
    how smart people do it
  • Not Synced
    and talk a little about developments, localisation
  • Not Synced
    how things should be done in the future, more or less
  • Not Synced
    how localisation is being changed, and where it is going
  • Not Synced
    and one of the question i wanna ask you in the beginnings
  • Not Synced
    how many of you are developers here
  • Not Synced
    everyone, cool
  • Not Synced
    how many of you have already localized your app
  • Not Synced
    and have it in multiple languages
  • Not Synced
    ok, around half of them
  • Not Synced
    how many haven't heard about localisation before
  • Not Synced
    and going to be a introductory talk
  • Not Synced
    not many, great
  • Not Synced
    alright, i'm first going to talk about transifex
  • Not Synced
    it's a python based,django based localisation tools
  • Not Synced
    transifex is a localisation software-as-service tool,
  • Not Synced
    similarly to give
  • Not Synced
    but we are going to talk this a bit latter
  • Not Synced
    so what is localisation?
  • Not Synced
    localisation is how you adapt the software,
  • Not Synced
    so that's availble at multiple regions around world
  • Not Synced
    multiple cultures,
  • Not Synced
    and also it's the process of translating it
  • Not Synced
    some people distinguish between the globalization and the localisation
  • Not Synced
    but that confuse people
  • Not Synced
    so, let's just consider the localisation as the global process
  • Not Synced
    that you take your software from just english, and you actually lance it in multiple language
  • Not Synced
    so, the key idea is of cause
  • Not Synced
    how do you get your software from just one language
  • Not Synced
    ..and ship it to market in multiple, dozens or fifty market worldwide
  • Not Synced
    localisation is of cause the first step
  • Not Synced
    so the goal is to make your app look all Greek to you
  • Not Synced
    of cause, if you're shipping to Chine, France, or other countries
  • Not Synced
    if your application is only in english
  • Not Synced
    it does look Greek to them
  • Not Synced
    so you do want to translate your software
  • Not Synced
    and there are many many reviews and statistics
  • Not Synced
    wide and important like
  • Not Synced
    95% of the world population does not have English as their native language
  • Not Synced
    and more than the one of two people online
  • Not Synced
    do not speak English at all
  • Not Synced
    so today, with the how easy to create a web application
  • Not Synced
    it's kind of a no briner to actually ship in many languages
  • Not Synced
    so what is the traditional work flowing of translating software
  • Not Synced
    localize it in many languages
  • Not Synced
    first of all, in your code, you use special libraries
  • Not Synced
    to mark your translatable strings
  • Not Synced
    as these are English strings
  • Not Synced
    but i ideally, in the end product, when you choose your language
  • Not Synced
    i want them to be displayed with the Brazlian or Portugal strings
  • Not Synced
    so you mark them with the special libraries,
  • Not Synced
    and you export these strings into special plain text files
  • Not Synced
    that are given to the translators
  • Not Synced
    and when you're ready to release
  • Not Synced
    you actually create a string freeze
  • Not Synced
    you freeze the ui, so that the translator can start working
  • Not Synced
    and bring their translation to 100%
  • Not Synced
    if you don't string freeze,then you change a string
  • Not Synced
    and what is your translate feeling that you're obis,
  • Not Synced
    100% translated, it will be 99% translated
  • Not Synced
    so you wait, i don't know, one week it depends the size of the application
  • Not Synced
    for the translator to work
  • Not Synced
    and then the hard part start
  • Not Synced
    because the translators have no idea how to get your files
  • Not Synced
    you can give them the access to your version control systems
  • Not Synced
    but the translators really don't want that
  • Not Synced
    because they are linguist people, they are not technique people
  • Not Synced
    so, translators really hate geeks
  • Not Synced
    i know that sounds strange, but they do
  • Not Synced
    so they take the files, they translate them online
  • Not Synced
    using special tools
  • Not Synced
    and your problem starts
  • Not Synced
    how do you get these files back
  • Not Synced
    sometimes, you receive them by email
  • Not Synced
    or, you give your ssh access to your translators
  • Not Synced
    or you create some ticket systems
  • Not Synced
    this take a lot of time
  • Not Synced
    especially when you do a giant localisation
  • Not Synced
    we have really strict release cycles
  • Not Synced
    we can't do this for foreign languages
  • Not Synced
    so, let's look at how do we do localisation
  • Not Synced
    since people haven't seen it before
  • Not Synced
    this is gettext one of special libaries in python that you can use
  • Not Synced
    there are a couple of others
  • Not Synced
    but gettext is definitely the most popular one
  • Not Synced
    so you just mark you string as a translable
  • Not Synced
    using a notion similar to this one
  • Not Synced
    in django, it's a bit similar
  • Not Synced
    import from django utils translation special fonction
  • Not Synced
    and you mark the string for translation
  • Not Synced
    this is a exemple of django model
  • Not Synced
    where we translate the name of the model
  • Not Synced
    and the help text as well
  • Not Synced
    by the way, fell free to interrupt my point when there are questions
  • Not Synced
    so these are just exemples
  • Not Synced
    in python code, of cause, you don't only have just python code
  • Not Synced
    you have so many other things in your app
  • Not Synced
    usually in your web app, you have template
  • Not Synced
    you have javascript
  • Not Synced
    there are so many other ways to mark string for translation
Title:
Transifex: Beautiful Python app localization
Description:

Dimitris Glezos
Localization of Python apps used to be hard, but not any more. This talk will offer a short intro on software localization in Python and discuss today's best practices. It will present Transifex, a modern, Django-based SaaS, also refe

more » « less
Video Language:
English
Duration:
30:13
redaready.dev edited English subtitles for Transifex: Beautiful Python app localization
redaready.dev edited English subtitles for Transifex: Beautiful Python app localization
redaready.dev added a translation

English subtitles

Incomplete

Revisions