def convert_truelike_to_bool(input_item, convert_float=False,
    convert_nontrue=True):
    """Converts true-like values ("true", 1, True", "WAHR", etc) to python boolean True.

    Parameters
    ----------
    input_item : string or int
        Item to be converted to bool (e.g. "true", 1, "WAHR" or the equivalent in several languagues)
    convert_float: bool
        Convert floats to bool.
        If True, "1.0" will be converted to True
    convert_nontrue : bool
        If True, the output for input_item not recognised as "True" will be False.
        If True, the output for input_item not recognised as "True" will be the original input_item.

    Returns
    -------
    return_value : True, or input_item
        If input_item is True-like, returns python bool True. Otherwise, returns the input_item.

    Usage
    -----
    # convert a single value or string
    convert_truelike_to_bool("true")
    # convert a column in a pandas DataFrame
    df["column_name"] = df["column_name"].apply(convert_truelike_to_bool)
    """
    list_True_items = [True, 'True', 'true', 'TRUE', 'T', 't', 'wahr',
        'WAHR', 'prawdziwy', 'verdadeiro', 'sann', 'istinit', 'veritable',
        'Pravda', 'sandt', 'vrai', 'igaz', 'veru', 'verdadero', 'sant',
        'gwir', 'PRAWDZIWY', 'VERDADEIRO', 'SANN', 'ISTINIT', 'VERITABLE',
        'PRAVDA', 'SANDT', 'VRAI', 'IGAZ', 'VERU', 'VERDADERO', 'SANT',
        'GWIR', 'bloody oath', 'BLOODY OATH', 'nu', 'NU', 'damn right',
        'DAMN RIGHT']
    if convert_float:
        list_True_items += [1.0, '1.0']
    input_item_is_true = input_item in list_True_items
    if convert_nontrue:
        nontrue_return_value = False
    else:
        nontrue_return_value = input_item
    return_value = (input_item_is_true if input_item_is_true == True else
        nontrue_return_value)
    return return_value
