~1 year C#/web development ◦ ~4 years ruby/web development ◦ For the last year “disarmed” from coding, leading the Product team Ruby fanboy since 2004 :)
▫ Was in Greek ▫ With “pamediakopes.gr” branding ▫ And was targeted to the Greek and Cyprus markets ◦ And fantasticgreece.com/de ▫ Was in German ▫ With “fantasticgreece.com” branding ▫ And was targeted to the German market
Scripts & tools for extraction of keys (Gettext) ▫ Standardized po files (Gettext) as translation dictionaries ▫ Transifex to the rescue as a management platform!
◦ rudimentary support from rails for full blown gettext (plurals, interpolations, keys extraction, po backend) ◦ again, rudimentary support time formats (15 Ιανουάριος)
◦ rudimentary support from rails for full blown gettext (plurals, interpolations, keys extraction, po backend) ◦ again, rudimentary support time formats (15 Ιανουάριος) ◦ fallbacks working only as proof of concept (:de_DE -> :de -> :en)
4s to read the po files in memory (!) for “just” 8 languages ◦ Solution: “compile” them to ruby code (!) ▫ < 1s to load on startup ▫ but bloating the memory (> 40mb / process)
◦ Macro complexity has increased even though micro complexity had decreased ◦ Sync different teams, with different codebases, different apps, even different technologies
any brand/country/language combination ◦ Clients do not care and do not make assumptions (when you assume you make an ass out of u and me) ◦ Get all available info for the combination they asked for
any brand/country/language combination ◦ Clients do not care and do not make assumptions (when you assume you make an ass out of u and me) ◦ Get all available info for the combination they asked for ◦ Can get extra info on demand (e.g. validation rules, legacy market mappings)
to read from configuration service (code + tests + deploy) ◦ Legacy systems ◦ Caching / performance / availability ◦ Some of your data becomes irrelevant → migration tasks
for translations: → translations checker: ▫ homebrewed build scripts that check for ▪ errors (missing/wrong interpolations) ▪ warnings (duplicate keys/lines/interpolations etc) ▫ run in CI after each commit ▫ run in seconds ▫ have paid off again and again and again
status of which is disputed between Ukraine and Russia. It is the administrative centre of the Autonomous Republic of Crimea or of the Republic of Crimea. (from Wikipedia)