Define the per-project category and difficulty at the template level,
instead of manually tagging the project pages. While doing this, prefix
the tags with "category:" and "difficulty:" to make them easier to
understand.

[[!template id=project
title="Improve and extend libintl"
contact="""
[tech-userlevel](mailto:tech-userlevel@NetBSD.org)
"""
mentors="""
[J&ouml;rg Sonnenberger](mailto:joerg@NetBSD.org)
"""
category="userland"
difficulty="easy"
duration="3 months"
description="""
NetBSD provides a BSD licensed implementation of libintl. This implementation is based on the specifications from GNU gettext. It has not kept up with the development of gettext in the last few years though, lacking e.g. support for context specific translations. NetBSD currently also has to depend on GNU gettext to recreate the message catalogs.
Goals for this project include:
* Restore full API compatibility with current gettext. At the time of writing, this is gettext 0.18.1.1.
* Implement support for the extensions in the message catalog format. libintl should be able to process all .mo files from current gettext and return the same results via the API.
* Provide a clean implementation of msgfmt.
* Other components of gettext like msgmerge and the gettext frontend should be evaluated case-by-case if they are useful for the base system and whether third party software in pkgsrc depends on them.
"""
]]
[[!tag gsoc]]