<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def description(self, value):
 """Fetches the translated description for the given datatype. The given value will be converted to a `numpy.dtype` object, matched against the supported datatypes and the description will be translated into the preferred language. (Usually a settings dialog should be available to change the language). If the conversion fails or no match can be found, `None` will be returned. Args: value (type|numpy.dtype):
 Any object or type. Returns: str: The translated description of the datatype None: If no match could be found or an error occured during convertion. """

        # lists, tuples, dicts refer to numpy.object types and
        # return a 'text' description - working as intended or bug?
        try:
            value = np.dtype(value)
        except TypeError as e:
            return None
        for (dtype, string) in self._all:
            if dtype == value:
                return string

        # no match found return given value
        return None