public function setCode( $key )
	{
		if ( $key == $this->getCode() ) { return; }

		$len = strlen( $key );
		if ( $len < 2 || $len > 5 || preg_match( '/^[a-z]{2,3}((-|_)[a-zA-Z]{2})?$/', $key ) !== 1 ) {
			throw new MShop_Locale_Exception(sprintf( 'Invalid characters in ISO language code "%1$s"', $key ) );
		}

		$this->_values['code'] = (string) $key;
		$this->_modified = true;
	}