Portál AbcLinuxu, 1. června 2024 13:29

Dotaz: Překládání čísel s jednotkami

Karry avatar 10.8.2016 11:27 Karry | skóre: 10
Překládání čísel s jednotkami
Přečteno: 1377×
Odpovědět | Admin
Ahoj, vytvářím mobilní mapy a rád bych měl pro ně český překlad. Narazil jsem na jeden oříšek. V aplikaci mám vzdálenost ve smyslu:

"2 meters west from you", "4 km north from you"...

V kódu (QML) to vypadá nějak takhle:
qsTr("%1 %2 from you")
  .arg( distance + " " + qsTr(units))
  .arg(qsTr(bearing))
překlad do češtiny pak vypadá trochu divně:

"2 metrů západně od Vás", "4 km severně od Vás"

Nevíte někdo jak elegantně v programu udělat aby bylo možné skloňování jednotek v různých slovanských jazycích?

"1 metr; 2,3,4 metry, 5 metrů..."
unzip; strip; touch; grep; finger; mount; fsck; more; yes; umount; sleep
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.8.2016 13:41 Sten
Rozbalit Rozbalit vše Re: Překládání čísel s jednotkami
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obecně se tomuto říká plurály.

Je potřeba překládat číslo a jednotky dohromady:
qsTr("%1 %2 from you")
  .arg(qsTr(units, "", distance))
  .arg(qsTr(bearing))
units pak bude třeba %n metre(s), ke kterému dodáte správné varianty. (Správné použití plurálů vyžaduje, aby i angličtina měla svůj překlad.)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.