Customize DC fields

Hi there,

I'm using the french version of Omeka and I would like to change the DC field "Date" by "Dat de publication" in the show page.

What's the easiest way to do it?

Thanks,
Ahmed.

Anyone could help here please?

You could create your own version of the French translation and change the label there. You can get the source file from our Github, and you'll probably need something like Poedit to easily edit them and create your new .mo file with the new translation. This will change all uses of the English string Date to whatever you change it to, though.

Otherwise, you could just edit the common/record-metadata.php file in your theme (copy it from application/views/scripts if it doesn't exist in your theme). That file is used to show all the Elements, and you can add in a special case to change the display label of one. The label is normally printed with this line:

<h3><?php echo html_escape(__($elementName)); ?></h3>

You can easily replace that with code that adds a special case:

if ($setName == 'Dublin Core' && $elementName == 'Date') {
    $label = 'Dat de publication';
} else {
    $label = __($elementName);
}
<h3><?php echo html_escape($label); ?></h3>

(This theme edit information assume you're using Omeka 2.0 or 2.1. Older versions can have the same changes made, but the names of files and specific lines will be somewhat different.)

Hello John,

Thanks for the reply.

It's a bit weird but both option didn't work for me.

I edited the fr.po file and save it as fr.mo and then replaced the old fr.mo but didn't work.

I'm still have "Date" in the show page.

Concerning the record-metadata.php file it should look like :

<?php foreach ($elementsForDisplay as $setName => $setElements): ?>
<div class="element-set">
    <h2><?php echo html_escape(__($setName)); ?></h2>
    <?php foreach ($setElements as $elementName => $elementInfo): ?>
    <div id="<?php echo text_to_id(html_escape("$setName $elementName")); ?>" class="element">

        if ($setName == 'Dublin Core' && $elementName == 'Date')
        { $label = 'Date de publication';
} else
{
    $label = __($elementName);
}
<h3><?php echo html_escape($label); ?></h3>

		<?php foreach ($elementInfo['texts'] as $text): ?>
            <div class="element-text"><?php echo $text; ?></div>
        <?php endforeach; ?>
    </div><!-- end element -->
    <?php endforeach; ?>
</div><!-- end element-set -->
<?php endforeach;

Right?

Didn't work either...