Hvorfor importerer Drupal ikke modul-oversættelser?
Hejsa. Jeg har søgt land og rige rundt efter svare på dette her, men ingen steder kan jeg finde nogen, der ved, hvordan man gør..
Jeg har lavet nogle oversættelser til nogle custom Drupal-moduler, og vil gerne have Drupal til at importere dem. Så vidt jeg har forstået, skal jeg bare uploade da.po-filen til /translations-mappen under det respektive modul, og så skulle Drupal gerne importere den, når modulet aktiveres.
Men det gør min Drupal bare ikke. Den er fuldstændig kold! :S
Jeg har Drupal installeret med dansk som standardsprog, og mange core-moduler er oversat med den generelle core-oversættelse, som Drupal selv downloadede, da jeg installerede det.
Men hvorfor vil den ikke have mine oversættelser til modulerne?
Hjææælp! - anyone...?
Hej mikl
Det er jo langt fra alle moduler, der har en install-fil og derfor skal "installeres" som sådan, og jeg har ikke nogen moduler, jeg umiddelbart har lyst til at afinstallere, da det jo betyder, at alle modulets database-records forsvinder.
Istedet prøvede jeg at fjerne et af mine moduler helt og slette filerne. Derefter uploadede jeg det og enablede det igen, men lige lidt hjalp det.
Drupal har formentlig gemt en record over mit modul i sin database, selvom jeg har slettet det. Det må betyde, at hvis Drupal skal importere oversættelser automatisk, så kan det kun ske allerførste gang modulet bliver enabled på et site - derefter aldrig mere!? (Med mindre modulet har en install-fil, som du antyder - men er du sikker på, at det har nogen betydning? Der står jo ikke noget om sprogfiler i sådan en)
I det hele taget giver det ikke meget mening. Hvad så hver gang et modul skal opgraderes til en ny version (hvilket de jo skal tit)? Skal man så importere dets sprogfiler i Drupals UI hver eneste gang?
P.S. Hvis jeg skal forsøge at importere via Drupals UI, hvad skal jeg så vælge mht. teksttype. "Indbygget grænseflade" er umiddelbart den, der lyder mindst forkert ud af mulighederne! ;)
Drupal gemmer rigtigt nok en linje om hvert modul i system-tabellen.
Der er to niveauer for at slå moduler til og fra: enable/disable og install/uninstall. Ved enable/disable bliver der som mikl siger ikke importeret sprogfiler. Hvis du sletter alle dine filer og uploader dem igen kommer det ikke til at tælle som en install fordi dit modul stadig figurerer i system-tabellen.
Jeg er ikke sikker på om sprog bliver importeret ved modulopdateringer, men hvis det sker kommer det sikkert kun til at ske hvis modulet har en hook_update_N funktion i sin install fil. Ellers ved Drupal ikke at modulet er blevet opdateret (== rækken i system-tabellen ændres med den nye schema version).
Det er også sådan, jeg mere eller mindre har sjusset mig frem til, at det nok fungerer. Ikke den allermest intelligent udtænkte del af Drupals arkitektur må man vist sige. ;) Men de vil jo lave bedre oversættelsesmuligheder i 7'eren ser det ud til.
Jeg vil prøve at importere min .po-fil og se, hvad der sker!
Tak for råd indtil videre!
- log ind eller opret konto for at skrive kommentarer
Log ind
Seneste kommentarer
- Helt perfekt Kasper
6 timer 5 minutter siden - Hehe
6 timer 34 minutter siden - Du har slået hele
7 timer 33 minutter siden - Ved ikke rigtig om
13 timer 14 minutter siden - Lav et modul
14 timer 36 minutter siden - Import og PDF
14 timer 50 minutter siden - Tak for jeres kommentarer.
15 timer 48 minutter siden - Jeg har flere sites kørende
16 timer 20 minutter siden - Elsker Gigahost.
17 timer 3 minutter siden - Tak for dit svar. Vender nok
18 timer 14 minutter siden


Den skanner kun efter oversættelser når modulet slåes til eller fra, men kun når det installeres.
Du kan prøve at geninstallere det via devel-modulet – eller bare importere .po filen manuelt på admin/build/translate/import :)