Are these two things the same? If not, how are they different?
They are definitely related and sometimes interchangeable in some ways. This is not an uncommon question.
In general terms, localization deals with translating strings in your app to different languages and locales. Internationalization encompasses localization, but also includes everything else to make your app ready for international audiences – for example, making sure that your UI adapts for right-to-left languages or for tall scripts like Thai or Hindi, using formatters for different types of data (DateFormatter, UnitsFormatter, PersonNameComponentsFormatter, etc), making sure that strings don’t unexpectedly truncate in languages that typically have longer text (e.g. German or Greek), among others.
If you have any specific questions about localization or internationalization we’d be happy to help.
– Rafael