Internationalization (i18n)
Internationalization is the engineering work that makes your product capable of speaking any language. You do it once, in the codebase, and it stays language neutral: no string is written into a component, every date and number goes through a locale-aware formatter, and every layout survives text that grows by 40 percent.
In practice that means externalizing text into resource files, giving every string a stable key, handling plural and gender rules with ICU MessageFormat, and using CSS logical properties so a right-to-left locale does not need its own stylesheet.
The cost of skipping it is architectural. Adding a second language to a product that was never internationalized is a refactor of every screen, not a translation project.