If you create/add a new resource type, you have to edit the global resource.php language file to assign a name, hence breaking the modularity of moodle.
I tried to create a lang folder structure (as for the activity modules) in the ROOT/mod/resource/type/newtypefolder but it didn't work...
I can't obviously put a lang folder structure directly in the mod/resource folder, as it will anyway break the modularity, even if in a lesser way.
I suggest this fix in the resource/lib.php file:
function resource_get_types() {
global $CFG;
$types = array();
$standardresources = array('text','html','file','directory');
foreach ($standardresources as $resourcetype) {
$type = new object();
$type->modclass = MOD_CLASS_RESOURCE;
$type->name = $resourcetype;
$type->type = "resource&type=$resourcetype";
$type->typestr = get_string("resourcetype$resourcetype", 'resource');
$types[] = $type;
}
/// Drop-in extra resource types
$resourcetypes = get_list_of_plugins('mod/resource/type');
foreach ($resourcetypes as $resourcetype) {
if (!empty($CFG->{'resource_hide_'.$resourcetype})) { // Not wanted
continue;
}
if (!in_array($resourcetype, $standardresources)) {
$type = new object();
$type->modclass = MOD_CLASS_RESOURCE;
$type->name = $resourcetype;
$type->type = "resource&type=$resourcetype";
// this is the modified line to include extrapath directly in the new resource
// NOTICE: the language file must be called "resource.php", thus breaking the habitual way of naming the language file by the name of the module
$type->typestr = get_string("resourcetype$resourcetype", 'resource', NULL, "$CFG->dirroot/mod/resource/type/$resourcetype/lang/");
$types[] = $type;
}
}
return $types;
}
a workaround for the NOTICE above could be changing the affected line with this block of code
===
$type->typestr = get_string("resourcetype$resourcetype", 'resource');
if ($type->typestr=="[[resourcetype$resourcetype]]") {
$type->typestr = get_string("resourcetype$resourcetype", $resourcetype, NULL, "$CFG->dirroot/mod/resource/type/$resourcetype/lang/");
}
===
Hope this helps