Date and time of an article in a humanized and localized way
Adding time zone support

Add a new argument to your function: now. This should be the localized datetime of the client. Compare now to the current server datetime and adjust the formatted time by the difference between them. Boom, timezone support added.

That said you cannot get the client timezone server-side. Look into client-side solutions with JavaScript (either full client-side date formatting, or phoning home). This should start you off on the right track.

On with the code review.

Tidying up the code

Variable and function naming


info and value are excessively vague.  
datetimeformat_jinja() is a bit eccentric  as a function name, as its not in imperative form (eg format_datetime).


String formatting

Concatenating strings with addition is considered bad practice is Python. You should format individual elements of your message together, rather than starting with info='' and adding new parts as you go along. Use str.format() (or %s-formatting with Python 2.5 and below) to achieve this.

The If-elif-else chain

In lines 9 through 33 you copy-pasted the same logic twelve times over; that's a sure-fire sign you need to express things more generically.

Style

Take this suggestion for the petty nothing it is, but—please, please, please—unless you're following the style guidelines of your team or employer, read and obey PEP 8.

Result

MONTHS = ('Jan', 'Feb', 'Mar', 'April', 'May', 'June',
          'July', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')
FORMAT = '%H:%M / %d-%m-%Y'

def format_datetime(to_format, format=FORMAT, locale='en'):
    now = datetime.now()
    if datetime.date(to_format) == datetime.date(now):
        date_str = _('Today')
    elif (now - to_format).days &lt; 2:
        date_str = _('Yesterday')
    else:
        month = MONTHS[to_format.month - 1]
        date_str = '{0} {1}'.format(to_format.day, _(month))
    time_str = format_time(to_format, 'H:mm', locale=locale)
    return "{0}&lt;br&gt;{1}".format(date_str, time_str)