original_string: public function check_locale_availability(string $langpackcode) : bool {
          global $CFG;
  
          if (empty($langpackcode)) {
              throw new coding_exception('Invalid language pack code in \\'.__METHOD__.'() call, only non-empty string is allowed');
          }
  
          // Fetch the correct locale based on ostype.
          if ($CFG->ostype === 'WINDOWS') {
              $stringtofetch = 'localewin';
          } else {
              $stringtofetch = 'locale';
          }
  
          // Store current locale.
          $currentlocale = $this->set_locale(LC_ALL, 0);
  
          $locale = get_string_manager()->get_string($stringtofetch, 'langconfig', $a = null, $langpackcode);
  
          // Try to set new locale.
          $return = $this->set_locale(LC_ALL, $locale);
  
          // Restore current locale.
          $this->set_locale(LC_ALL, $currentlocale);
  
          // If $return is not equal to false, it means that setlocale() succeed to change locale.
          return $return !== false;
      }
code: public function check_locale_availability(string $langpackcode) : bool {
          global $CFG;
  
          if (empty($langpackcode)) {
              throw new coding_exception('Invalid language pack code in \\'.__METHOD__.'() call, only non-empty string is allowed');
          }
  
          // Fetch the correct locale based on ostype.
          if ($CFG->ostype === 'WINDOWS') {
              $stringtofetch = 'localewin';
          } else {
              $stringtofetch = 'locale';
          }
  
          // Store current locale.
          $currentlocale = $this->set_locale(LC_ALL, 0);
  
          $locale = get_string_manager()->get_string($stringtofetch, 'langconfig', $a = null, $langpackcode);
  
          // Try to set new locale.
          $return = $this->set_locale(LC_ALL, $locale);
  
          // Restore current locale.
          $this->set_locale(LC_ALL, $currentlocale);
  
          // If $return is not equal to false, it means that setlocale() succeed to change locale.
          return $return !== false;
      }
code_tokens: public function check_locale_availability ( string $ langpackcode ) : bool { global $ CFG ; if ( empty ( $ langpackcode ) ) { throw new coding_exception ( 'Invalid language pack code in \\' . __METHOD__ . '() call, only non-empty string is allowed' ) ; } // Fetch the correct locale based on ostype. if ( $ CFG -> ostype === 'WINDOWS' ) { $ stringtofetch = 'localewin' ; } else { $ stringtofetch = 'locale' ; } // Store current locale. $ currentlocale = $ this -> set_locale ( LC_ALL , 0 ) ; $ locale = get_string_manager ( ) -> get_string ( $ stringtofetch , 'langconfig' , $ a = null , $ langpackcode ) ; // Try to set new locale. $ return = $ this -> set_locale ( LC_ALL , $ locale ) ; // Restore current locale. $ this -> set_locale ( LC_ALL , $ currentlocale ) ; // If $return is not equal to false, it means that setlocale() succeed to change locale. return $ return !== false ; }
docstring: Checks availability of locale on current operating system.
  
  @param string $langpackcode E.g.: en, es, fr, de.
  @return bool TRUE if the locale is available on OS.
  @throws coding_exception when $langpackcode parameter is a non-empty string.
docstring_tokens: Checks availability of locale on current operating system .