Posted by miccelito on June 18, 2012 at 9:34pm
Vissa drupal moduler verkar hopplösa när det gäller att på vanliga sättet översätta engelska ord till svenska.
Installerade nyligen denna modul:
Delivery time slots for Ubercart http://drupal.org/project/uc_deliverytimeslot
Den matar ut en tidtabell med angivna veckodagar och månader t ex "Wednesday 20 June"
Men verkar dock omöjligt att lyckas göra översättningar till svenska.
I Delivery time slots for Ubercart modulens fil "uc_deliverytimeslot.module" finns dessa rader:
$timestamps = _uc_deliverytimeslot_date(FALSE, $delt);
$row = array();
if (in_array(date('l', $timestamps), variable_get('uc_deliverytimeslot_week_days', _uc_deliverytimeslot_week_days()))) {
$row[] = array('data' => t('!day', array('!day' => date('l', $timestamps))), 'class' => 'deliveryday');
$row[] = array('data' => date('j', $timestamps) .' '. t('!month', array('!month' => date('F', $timestamps))), 'class' => 'deliverydate');Källa: uc_deliverytimeslot.module
Någon som kan tipsa om hur man löser detta problem med översättning?
Comments
Hej Med vanliga sättet antar
Hej
Med vanliga sättet antar jag att du menar genom "translate interface/översätt gränssnitt" i /admin/config/regional/translate/translate.
t() funktionen ska ju normalt handha översättningar. Hittar du ens veckodagarna om du söker på den i /admin/config/regional/translate/translate ?
har testat
Har som sagt testat alla de vanliga sätten. Nej, veckodagar och månader som förekommer i ovan nämnd modul kan inte hittas.
Det verkar som om modulen
Det verkar som om modulen inte använder drupals egna format_date() (som stödjer de översatta datumen) och instället använder date(). Testa att byta ut alla date mot format_date
Nej, gick inte att använda
Nej, gick inte att använda format_date istället för date
Edit (uppdatering):
Det funkade att byta ut vissa date mot format_date plus andra småjusteringar, så du hade helt rätt där.
Exempelvis ändrade jag
$row[] = array('data' => date('j', $timestamps) .' '. t('!month', array('!month' => date('F', $timestamps))), 'class' => 'deliverydate');till
$row[] = array('data' => format_date($timestamps, 'custom', 'j') .' '. t('!month', array('!month' => format_date($timestamps, 'custom', 'F'))), 'class' => 'deliverydate');;)