Loading translations on demand by locale is the optimal approach because: 1) It reduces the initial bundle size by not loading unused translations, 2) Allows for efficient caching of translation files by locale, 3) Provides better performance for users who only use one language, 4) Can be combined with preloading for anticipated language switches. The example shows proper implementation with dynamic imports and webpack chunk naming for better organization and caching, while maintaining a clean interface for language switching.