A satellite assembly is a .NET Framework assembly containing resources specific to a given language. Using satellite assemblies, you can place resources for different languages in different assemblies, and the correct assembly is loaded into memory only if the user selects to view the application in that language
Satellite Assemblies are the resources which all are language/region/culture specific.
Satellite Assemblies = Compilation of (Resource file + Main Assemblies).
Satellite assemblies are resource assemblies specific to language/culture. Different resource files are created for different languages/cultures.