Localizing a CakePHP application involves wrapping translatable text in __() functions, generating PO files containing translations using a console shell, and manually creating PO files for each language. The PO files contain message IDs and localized strings, and get placed in directories corresponding to language codes. Configuring the application's language based on region ensures the proper translations display.