För x minuter sedan

Frågor kring översättning av phpBB 3 (3.0.0 eller senare). Underkategorier finns för MODdar m.m.

Moderatorer: Moderatorgrupp, Supportgrupp, Översättningsgrupp

Användarens profilbild
Holger
Support - Ledare
Support - Ledare
Inlägg: 6565
Blev medlem: 2004-06-09 09:32
Svar: 1

Re: För x minuter sedan

Inlägg av Holger »

Jo, allt det där är helt klart marcus.
No problem.

MEN: om man ändrar

Kod: Markera allt

1 => 'För %d minut sedan.',
till

Kod: Markera allt

1 => 'För 1 minut sedan.',
eller

Kod: Markera allt

1 => 'För en minut sedan.',
har det varken inverkan på stränghanteringen eller på andra språk.
I detta fall kommer %d nämligen endast och ALLTID att innehålla just 1. Varför då göra en variabel av det?
Det var det enda jag reagerade på.
marcus skrev:Jag föredrar det senare... det är mer konsekvent med 1 och 2.
Jag lärde mig i skolan att siffrorna 1-12 skrivs ut, men det kan ha ändrats sedan dess. Men jag förstår vad du menar ... 2-59 kommer alltid att vara siffror (via variabeln) medan "en" skrivs ut.
Holger Gremminger
Ingen support via PM!
Användarens profilbild
Marcus
Hedersmedlem
Hedersmedlem
Inlägg: 4321
Blev medlem: 2004-01-07 22:12
Svar: 0

Re: För x minuter sedan

Inlägg av Marcus »

Lagt ner lite tid på att granska hur funktionerna (några stycken mellan "ren timestamp" och "läsvänlig sträng") faktiskt hanterar detta.

sprintf som är funktionen som i slutänden skapar strängen, har ett mycket förlåtande hanterande av variabler.

Har den ingenstans att peta in dem, så tömmer den kön från slutet.

Och eftersom det bara rör sig om en variabel så går det helt enkelt att avstå från att använda den. Däremot har 2 eller flera variabler inte alls samma förlåtande beteende.

Ex.

Kod: Markera allt

<?php
$num = 12;
$location = "buren";
$format = 'Det sitter %d apor i %s.';
printf($format, $num, $location);
?>
Resultatet om man bara tar bort %d blir att det skrivs ut:
Det sitter apor i 12
Skulle inte klara ge tänkt resultat om ändra %d till en fast siffra, även om det alltid är 12 apor i buren. Just i detta exempel så har man ju både $num och $location i samma kod... men när man har variablerna utspridda i systemet är det farligt att chansa.

I spårkfilerna har vi bara $format, så är det farligt generellt att "ignorera" %d m.m. i språkfilerna.

Just i fallet AGO så är det harmlöst. Men börjar man ha vanan att ta bort %d, %s och liknande här och var, dröjer det inte länge innan man tar bort ett för mycket.

Så av det skälet, nej vi bör inte ta bort några %d. Däremot kan man fortfarande se till att AGO == 0 får en siffra i stället för "en".

/marcus
Marcus Farrington - Administratör på phpBB Sverige
OBS! På förekommen anledning ges ingen support via PM.

Webb- & Drupalutvecklare på Webbyrå Grebban.
Användarens profilbild
Holger
Support - Ledare
Support - Ledare
Inlägg: 6565
Blev medlem: 2004-06-09 09:32
Svar: 1

Re: För x minuter sedan

Inlägg av Holger »

Det är klart att om flera olika variabler ligger i samma sträng så kan det bli heltokigt. :lol:

Ok, men då är det här utrett ...
Holger Gremminger
Ingen support via PM!
Peetra
Hedersmedlem
Hedersmedlem
Inlägg: 3281
Blev medlem: 2007-06-09 22:38
Svar: 0

Re: För x minuter sedan

Inlägg av Peetra »

http://www.phpbb-se.com/forum/viewtopic ... 047#p42047 blir det, utom att vi följer regeln om att skriva en, då det är möjligt, enligt Holgers förslag.
Skriv svar

Vilka är online

Användare som besöker denna kategori: 10 och 0 gäster