31
Sh!t we're going global, now what? Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Embed Size (px)

DESCRIPTION

Presented at the London Web Summit 2013, it describes how Eventbrite internationalized its platform and successfully launched fully localized sites in 14 countries and 9 languages over the course of 2 years. It gives you a good idea of all the issues you will need to tackle when taking your company global.

Citation preview

Page 1: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Sh!t we're going global,now what?

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 2: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Eventbrite & i18n in 2010

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

• US English site only, but used in 150 countries

• no strings marked for translation

• no i18n/l10n framework

• large help center only in English

• no non-English customer support

• all on .com

Page 3: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Fast forward to 2012

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Successfully launched local sites in14 countries and 9 languages

.ca

Dec 201

1

Page 4: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

here is how we did it and what we learned

Page 5: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

PDFs

Emails

Front-EndDocumentation

SEOSEM

Help Center

Back-End

Javascript

Graphics

Marketing

Houston, we have a problem!

Page 6: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

where do I start????

Page 7: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Roadmap to global domination

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

1. Assess your situation2. Get your localised site in shape3. Don't forget about everything

else

Page 8: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Are you unicode ready?

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 9: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

What's your domain name strategy?

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Global dot com or local TLDs?

Page 10: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Pick the right database, framework and templating engine

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 11: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

I'm ready, now what????

Page 12: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Mark strings

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

from django.utils.translation import ugettext_lazy as _

my_str = _("Welcome to the London Web Summit!")

<script>alert(gettext("Welcome to the London Web Summit!"));

</script>

<html><body><h1>${ _("Welcome to the London Web Summit!") }</h1></body></html>

HTML

JAVASCRIPT

PYTHON

Page 13: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Extract strings

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

pybabel

Mako and Handlebar Templates, Javascript Files, Python Files

strings.pot

#: django/templates/cool_template.html:26msgid "Welcome to Eventbrite! You chose wisely."msgstr ""

Page 14: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Translation strategy

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

low low

lowmed med

high

high

highhigh

Page 15: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Automate the translation workflow

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 16: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Graphics are evil!

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 17: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Localize your back-end

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Total : 2.000,00Date : 1 mars 2013

_("Total:") <b>${ format_number(2000) }</b>_("Date:") <b>${ format_date('2013-03-01', format='medium') }</b>

if domain == 'eventbrite.fr':request.locale = FRLocale

MIDDLEWARE

HTML

OUTPUT

Page 18: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

TADA!

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 19: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

cool! i'm done, right?

Page 20: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

What about mobile?

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 21: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Can you help me?

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 22: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Want to get paid?

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 23: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

What about taxes?

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

Page 24: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

What about marketing?

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

SPAIN sign-ups: SEM only

PORTUGAL sign-ups: No marketing activity

TLD Launch FRANCE sign-ups: Press and SEM

Page 25: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

you're almost there...

Page 26: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

long term, you don't need a dedicated international

team

Page 27: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

...but you do need dedicated local teams

Page 28: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

all your teams need to adapt to be a truly global

company

Page 29: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

now, listen to your audience

Page 30: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

and don't forget to...

Page 31: The technical side of Internationalization at Eventbrite or "Sh!t we're going global, now what?"

Renaud Visage / co-founder & cto / www.eventbrite.com / twitter @renaudvisage

...have fun!