The main problem I see is the packagename
element doesn't match the language
element. You have (in your question at least)
<packagename>mycomponent</packagename>
...
<languages folder="language">
<language tag="en-GB">en-GB.pkg_mypackage.sys.ini</language>
<language tag="de-DE">de-DE.pkg_mypackage.sys.ini</language>
</languages>
To work with these language files your <packagename>
should be:
<packagename>mypackage</packagename>
You can see this if you look at the package adapter in Joomla 2.5:
public function loadLanguage($path)
{
$this->manifest = $this->parent->getManifest();
$extension = 'pkg_' . strtolower(JFilterInput::getInstance()->clean((string) $this->manifest->packagename, 'cmd'));
$lang = JFactory::getLanguage();
$source = $path;
$lang->load($extension . '.sys', $source, null, false, false)
|| $lang->load($extension . '.sys', JPATH_SITE, null, false, false)
|| $lang->load($extension . '.sys', $source, $lang->getDefault(), false, false)
|| $lang->load($extension . '.sys', JPATH_SITE, $lang->getDefault(), false, false);
}
In, psuedo, it literally assembles 'pkg_' . <packagename> . '.sys'
as the file name.