You can delete an entire locale from a message catalog file using the deleteLanguage:territory:characterSet:index: protocol. This operation removes both the indexed external messages and the external message dictionary stored for the specified language, territory, and character set and does not affect objects stored for any other locale. The following example demonstrates how to delete a locale from a message catalog file.
"A code fragment to remove all objects stored for the #('english' 'us') locale and the 'iso8859-1' character set." | catalog | catalog := NlsMessageCatalog on: 'demo.cat'. (catalog deleteLanguage: 'english' territory: 'us' characterSet: 'iso8859-1') ifFalse: [ ^self error: 'Deletion error: ',catalog currentErrorString].
Deletion is a permanent operation and cannot be undone. Once deleted, all objects stored for a locale are lost.