Getting ready for I18n, Shopify's case study
summary
Shopify localizes its admin by detecting hard‑coded user strings with RuboCop custom cops (about a hundred rules) plus erb lint and Nokogiri for HTML text nodes, autoextracting strings into YAML keys via RuboCop autocorrect, blocking PRs with violations. The stack stays on Rails I18n (not gettext) despite >3,000 translation files and >5s boot cost; a pseudo‑localization gem checks layout and a team migrates MySQL to utf8mb4 migration; a central address‑format service and npm client produce locale‑correct addresses.
AI-written summary · about
chapters (9)
- 0:00Start
- 6:01Static code analysis
- 14:47RuboCop autocorrection
- 21:11Pseudolocalization
- 23:24MySQL character set
- 24:32Unicode Basic Multilingual Plane
- 24:46Utf8mb4
- 25:52Expose your app to UTF8 characters
- 26:07Translation vs Localization
related talks
33mMeet Shopify's Ruby and Rails Infrastructure Team
36mRuby & Rails Versioning at Scale
29mRuby Office Hours with Shopify Engineering
30mRails Sojourn: One Man's Journey
34mShitlist-driven development and other tricks for working on large codebases
29mRoasting Code for Fun & Profit with Structured AI Workflows
43mPolyglot Paralellism: A Case Study in Using Erlang and Ruby at Rackspace
23mWriting Ruby, just not in English!
