Locale contains country or language specific data like date/time formats, measure units and decimal separators. QLocale class gives access to locale data.
Sorting is region/language specific function. QString::localeAwareCompare() compares in a locale- and also platform-dependent manner.
Do not hard code any text. Use localization for all text, and locale data for formatting.
Images containing text are difficult to localize.
Scripts/languages needing special attention:
Arabic, Farsi, Urdu and Hebrew are written from right to left.
In Arabic, Farsi and Urdu, native ArabicIndic or EasternArabicIndic digits are supported. User can choose preferred digit type from application settings.
Thai is written without spaces. To wrap text in Thai, check instructions to wrap Thai.
Thai and Vietnamese may contain diacritics tone marks and upper/lower vowels. These combinations may be taller than other characters and cause characters to be cut off from top or bottom.
Thai and Chinese may use own calendar.
Chinese characters are wider than Latin characters, but one character may correspond to a word. Also full width and half width Latin may be used in Chinese.