Outernet Librarian Web Site Error


#1

When I visit the Librarian webpage , I am getting errors on the page.
Website link : http://librarian.outernet.is/tr/

  Error: 500 Internal Server Error

Sorry, the requested URL 'http://librarian.outernet.is/' caused an error:

Internal Server Error
Exception:

KeyError(u'toplam',)
Traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/bottle.py", line 862, in _handle
    return route.call(**args)
  File "/usr/lib/python2.7/site-packages/bottle.py", line 1729, in wrapper
    rv = callback(*a, **ka)
  File "/usr/lib/python2.7/site-packages/librarian/lib/squery.py", line 114, in plugin
    body = callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/librarian/lib/i18n.py", line 401, in wrapper
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/librarian/lib/ajax.py", line 55, in wrapper
    return template(tpl_name, **tplvars)
  File "/usr/lib/python2.7/site-packages/bottle.py", line 3592, in template
    return TEMPLATES[tplid].render(kwargs)
  File "/usr/lib/python2.7/site-packages/bottle.py", line 3396, in render
    self.execute(stdout, env)
  File "/usr/lib/python2.7/site-packages/bottle.py", line 3383, in execute
    eval(self.co, env)
  File "/usr/lib/python2.7/site-packages/librarian/views/content_list.tpl", line 11, in <module>
    <span>{{ u(ngettext('Showing %(count)s of %(total)s item', 'Showing %(count)s of %(total)s items', total_items)) % {'count': len(metadata), 'total': total_items} }}</span>
KeyError: u'toplam'

If you choose Turkish or other language , you will see this message.


#2

You won’t see it in all languages, just some of the translations. While I’m aware of this problem, I cannot fix it without assistance from the translators.

If anyone wants to tackle this problem with Turkish or any other language that has this problem (Arabic, for instance), please join the Librarian project on the translation website and make sure the following are observed:

  • If the original string contains %s placeholder, translation must also have it. The placeholder is replaced with an appropriate value in the program.
  • If the original string contains %(name)s placeholder, the translation must also have it, and name part (i.e. any word between %( and )s) must remain untranslated.

In both cases, %, (, ), and s, are part of the placeholder.