Michel Vuijlsteke's weblog

Tales of Drudgery & Boredom.

Van gold plating

Prioriteiten stellen! Als het af moet geraken, is het niet het moment om mieren te neuken!

‘t Zal altijd wel een werkpuntje (urh, dat woord) blijven, vrees ik: ik zo kan zó enorm lastig lopen van de petieterige details waar geen één mens op honderd over valt. En dan dreig ik mij uren bezig te houden met het zoeken naar oplossingen voor die kleine dingen, terwijl ik eigenlijk nog grotere vissen te braden heb.

Voorbeeld?

Ik krijg uitslag als ik ergens iets zie staan als

15 item(s) gevonden

Aaargh! Alleen al het typen, geeft me rillingen! Hoe bloederig moeilijk is het om te zeggen “item” als er één resultaat is, en “’items” in alle andere gevallen? In plaats van de mensen 99,9% van de tijd met die nutteloze haakjes op te schepen?

Nu, dat is meestal gemakkelijk op te lossen, zo’n abominatie. Een variante op

x==1?[item]:[items]

ergens in pleuren, en het is in orde.

Een andere, die meestal iets lastiger we te smurfen is, is deze:

Gebeurtenis
2 september 2011 – 9 september 2011

Gnnn! al die overbodige en informatie! Als het in een tabel staat met een “van”- en een “tot”-kolom, is iets als hierboven in orde voor mij, maar in het gewone gebruik? Dan wil ik mordicus mijn date ranges op deze manier geformatteerd zien:

2 – 9 september 2011
20 september – 5 oktober 2011
30 december 2011 – 3 januari 2012

Oh, ge moest eens weten hoe hard het nijpt om de defaultmanier waarop Drupal het doet aan te passen naar mijn goesting. Hier is de boosdoener:

// Different days, display both in their entirety.
else {
   $output .= theme('date_display_range', 
      array('date1' => $date1, 'date2' => $date2,
      'timezone' => $timezone)); }

En nee, ‘t is niet proper op te lossen op een twee drie. Want met een naieve

jaren verschillend?
     ja: toon dmy –dmy
     nee: maanden verschillend?
         ja: toon dm – dmy
         nee: toon d – dmy

is de kous natuurlijk lang niet af: er kunnen een ton verschillende datumformaten bedacht worden in Drupal namelijk, en ik zie niet meteen hoe ik in één moeite allerlei gevallen tegelijk kan behandelen:

2 – 9 september 2011
2011 (2 – 9/9)
September 2nd – 9th, 2011

…en dus wordt het ergens iets op theme-niveau, voor dat ene veld in die paar content types.

Maar daar heb ik nu geen tijd voor, wegens dat ik nog een bidet vol andere katten af te ranselen heb.

9 Comments

  1. Merk op dat ’t die “15 item(s)” wat moeilijker wordt als uw vertalingen generiek moeten zijn.

  2. …en uitgerust dat gij gaat zijn na uw ‘vakantie’ t wordt een waar plezier …

  3. Ik lees her en der dat er voor Drupal 8 een grote code-base cleanup gaat gebeuren die in core en de grootste contrib modules dergelijke wacky code moet aanpakken want er zijn meer en meer core developers die zo’n problemen aanhalen.

    Elk CMS of CMF heeft de afgelopen jaren wel dergelijke dingen meegemaakt. Zelfs PHP 6 is terug afgevoerd omdat het de lelijk en te complex werd.

    Maar er is dus voor zo’n dingen beterschap op komst. :)

  4. @Jan: vertalingen voorzien voor nul, één en meer, da’s het enige dat erop zit.

  5. i18n is a bitch, én Drupal lost het slecht op.

    En for what it’s worth, ik ga meestal ook voor omwegen als “Items gevonden: 1”, omdat ik graag eerst zorg dat de niet-pietluttige dingen werken.

  6. Moet je een Poolse vertaling voorzien ?
    Want daar heb je verschillende naamvallen voor verschillende getallen.
    e.g.
    1 Złoty
    2,3,4 Złote ( en ook 22,23,24,… etc voor alle getallen eindigend in 2,3 of 4)
    0, 5,6,7,8,9,10 -21 Zlotych ( enzo voorts voor alle getallen eindigend in 0,1,5-9).

  7. Inderdaad een “werkpuntje”, want deze post is een vrijwel letterlijke herhaling van een vroegere. :-)

    Het verbaast me echter nog altijd dat gij –toch wel een taalliefhebber te noemen– doet alsof tekstberichten niet meer dan “0, 1 of meer” zijn. Als “localisation” niet zo’n complex gedoe was, was het allang opgelost.

    Een aanpak die ondertussen al enkele jaren aan het rijpen is, is L20n (Localisation 2.0). Maar in de praktijk? Nog niet veel beters dan gettext en co.

  8. Serieus? Jamaar! Ik ben ondertussen al een oude mens hé: zaterdag 41 geworden en al!

  9. Heb er zelf geen ervaring mee, maar Zend_Date kan misschien soelaas bieden (al zal het geen quick fix zijn).

1 Pingback

  1. Facebook

Zeg uw gedacht