public function validateArray($file, $key, $against_language, $validate_language)
	{
		//var_dump($key, $against_language); echo '<br /><br />';
		if ($key === 'dateformats')
		{
			$this->validateDateformats($file, $key, $validate_language);
		}
		else if (
			$key === 'datetime' ||
			$key === 'timezones' ||
			$key === 'tokens' ||
			$key === 'report_reasons' ||
			$key === 'PM_ACTION' ||
			$key === 'PM_CHECK' ||
			$key === 'PM_RULE'
		)
		{
			$this->validateArrayKey($file, $key, $against_language, $validate_language);
		}
		else
		{
			$against_keys = array_keys($against_language);
			$key_types = array();
			foreach ($against_keys as $against_key)
			{
				$type = gettype($against_key);
				if (!isset($key_types[$type]))
				{
					$key_types[$type] = 0;
				}
				$key_types[$type]++;
			}

			if (sizeof($key_types) == 1)
			{
				if (isset($key_types['string']))
				{
					$this->validateArrayKey($file, $key, $against_language, $validate_language);
				}
				else if (isset($key_types['integer']))
				{
					$this->validatePluralKeys($file, $key, $against_language, $validate_language);
				}
				else
				{
					$this->output->addMessage(Output::NOTICE, 'Array has mixed types: ' . implode(', ', array_keys($key_types)), $file, $key);
				}
			}
			else
			{
				$this->output->addMessage(Output::NOTICE, 'Array has mixed types: ' . implode(', ', array_keys($key_types)), $file, $key);
			}
		}
	}