- use provider.GetProvider() for provider validation
- use provider.GetModel() for model validation
- use p.RequiresAPIKey() for API key checks
- warn for unrecognized language codes (don't error)
- add ValidateModelLanguageCompatibility for model-language checks
- remove hardcoded isValidLanguageCode function