Transcript

{ Łukasz JernaśSoftware Engineer

Allegro Group

Here be DragonsTranslating Openstack

2

Agenda1. How does one end up as a translator?2. Tools and processes we’re using3. Here Be Dragons - stories from the trenches

3

How does one end up as a translator?

4

How does one end up as a translator?

Easy entry point

5

How does one end up as a translator?

It’s not difficult now

6

How does one end up as a translator?

You don’t have to know any programming language

7

How does one end up as a translator?

Helping others in your country

8

How does one end up as a translator?

It’s a good way to improve your own language skills

9

How does one end up as a translator?

Also be proud of your native language

10

Tools and processes

11

Tools and processes

Community

12

Tools and processes

openstack-i18n mailing listhttp://lists.openstack.org/pipermail/openstack-i18n/

13

Tools and processes

#openstack-translationFreenode network http://webchat.freenode.net/?channels=openstack-translation

14

Tools and processes

Transifex

15

Tools and processes

16

Tools and processes

17

Tools and processes

18

Tools and processes

19

Tools and processes

20

Tools and processes

21

Tools and processes

22

Tools and processes

Jenkins, Zuul, Gerrit

23

Tools and processes

1. A patch to a given project merges to git

2. A post commit job is run

3. The job extracts all translatable strings

4. The script sends these changes to Transifex

24

Tools and processes

1. Every day a job runs pulling new translation from Transifex

2. Translations are proposed as a patch in Gerrit

3. Developers approve the patch and merge it to the repository

4. Process repeats itself...

25

Image courtesy by Nicolas Raymond https://www.flickr.com/photos/80497449@N04/8679231413 Creative Commons License - Attribution 3.0 Unported

26

Here be dragons

The colon bug #1296075

27

The colon

• "Image Details"• "Image Details: " (note the space)• "Image Details:"

28

The colon

“While I understand the need for consistency, I

just got a request from a French translator to do the opposite

implementation. The translator for French shared with me that including

the punctuation as part of the translatable material makes it much easier

to create a correct translation. In French, a space is expected between

the final word and the final punctuation, including a colon.”

- Douglas Fish http://lists.openstack.org/pipermail/openstack-i18n/2014-April/000573.html

29

Here be dragons

String concatenation

30

String concatenation

“My name is ” + variable + “ Kowalski”“My name is %s Kowalski”

“My name is %(first_name)s Kowalski”

31

Here be dragons

Plural forms

32

Plural forms

1 file2,3,4,5….999 files

33

Plural forms1 plik

2,3,4 pliki5-21 plików22-24 pliki

25-31 plików

34

Plural forms

35

Here be dragons

Declension - nouns

36

Declension

“Viewing %(type)s”where type=”map”

37

Declension

English PolishViewing %(types)s Wyświetlanie %(types)s

map mapa

38

Declension

English PolishViewing map Wyświetlanie mapa

39

“Map” declension in Polish

Case Declension

Nominative (who? what?) mapa

Genitive (whose? what?) mapy

Dative (for whom?) mapie

Accusative (whose?) mapę

Instrumental (with whom? with what?) mapą

Locative (about who? about what?) mapie

Vocative (“calling out”) mapo

40

Declension

English PolishViewing map Wyświetlanie mapy

41

Declension

“Viewing map”

42

Here be dragons

Designers beware!

43

Designers beware!

And also thanks to allegrotech.io for bringing me here!

Thanks for listening!

46

Q&A

top related