Internationalization and localization are extremely hard problems. I know because I worked as technical translator for sone years.
But, in C++ land, I had very good success with Qt and its translation system in one of my open source projects.
That was 2010’ish, there are probably better ways now bit I don’t know.