La respuesta definitivamente es usar field.tpl.php . Si mira la fuente de ese archivo, puede ver las líneas ofensivas:
<?php if (!$label_hidden): ?>
<div class="field-label"<?php print $title_attributes; ?>>
<?php print $label ?>:
</div>
<?php endif; ?>
(espaciado y sangría mía para mayor claridad).
Eliminar el colon es tan simple como reemplazar las líneas anteriores con:
<?php if (!$label_hidden): ?>
<div class="field-label"<?php print $title_attributes; ?>>
<?php print $label ?>
</div>
<?php endif; ?>
Acabo de probar eso en una instalación de Drupal en blanco y funciona perfectamente; no más dos puntos después de las etiquetas de campo.
Si ya estás haciendo lo mismo, pero no estás obteniendo los resultados correctos, puedo pensar en una o dos cosas que podrían salir mal:
- Ha puesto su versión personalizada de field.tpl.php en una carpeta de módulos, en lugar de en la carpeta de temas activos de su sitio (debe estar en la carpeta de temas).
- Otro módulo / elemento en el sistema también está anulando field.tpl.php, de una manera más sólida de lo que es actualmente. Ver si este es el caso implicará la deshabilitación siempre tediosa de cada módulo habilitado para determinar de dónde viene el problema.
No podrá realizar el cambio con una función de preproceso de plantilla, ya que los dos puntos están codificados en el archivo de plantilla.