/**
  * Prepare locale system settings default values.
  *
  * @param array $config
  * @param ContainerBuilder $container
  */
 protected function prepareSettings(array $config, ContainerBuilder $container)
 {
     $locale = LocaleSettings::getValidLocale($this->getFinalizedParameter($config['settings']['locale']['value'], $container));
     $config['settings']['locale']['value'] = $locale;
     if (empty($config['settings']['language']['value'])) {
         $config['settings']['language']['value'] = $locale;
     }
     if (empty($config['settings']['country']['value'])) {
         $config['settings']['country']['value'] = LocaleSettings::getCountryByLocale($locale);
     }
     $country = $config['settings']['country']['value'];
     if (empty($config['settings']['currency']['value']) && isset($config['locale_data'][$country]['currency_code'])) {
         $config['settings']['currency']['value'] = $config['locale_data'][$country]['currency_code'];
     }
     $container->prependExtensionConfig('oro_locale', $config);
 }
 /**
  * @dataProvider getValidLocaleDataProvider
  */
 public function testGetValidLocale($locale, $expectedLocale)
 {
     $this->assertEquals($expectedLocale, LocaleSettings::getValidLocale($locale));
 }