Portál AbcLinuxu, 5. května 2025 17:31
V čem se bude překládat Wine? Etiketa a vývojáři. KUSER_SHARED_DATA ve Wine. Změny v databázi aplikací.
Praxe ukazuje, že standardní způsoby překládání – tedy že autor začne překládat, někdy překlad možná dokončí a svou práci pak pošle autorům aplikace – nejsou příliš praktické. Prvním důvodem je nutnost nainstalovat si nástroj pro zhotovení překladu, případně se začít hrabat přímo v souboru se samotným překladem. Druhým důvodem je pak samozřejmě obtížnější spolupráce lidí na překladu. A nelze zapomenout ani na to, že u projektů, kde se stále používá Subversion (i když Wine používá Git), znamenalo zajištění přímého přístupu k aktualizaci překladů dát překladateli přístup k celému repozitáři SVN a doufat, že nebude sahat tam, kam nemá.
Nejjednodušším východiskem je proto přesunout překládání na web. Toto už předvedl například Launchpad a Wine teď hledá něco pro sebe. Vývojáře Wine zaujal nástroj Weblate z dílny českého autora Michala Čihaře. Ti jej kontaktovali a on odpověděl, zejména pak na otázku, jaké jsou plány:
Teď vlastně žádnou pořádnou roadmapu nemám. Urgentně jsem potřeboval náhradu za Pootle, protože jsme naráželi na příliš mnoho chyb a nepodařilo se mi zorientovat se v kódu natolik, abych je dovedl sám opravit. Myslím si, že už je to v dostatečně dobrém stavu pro každodenní práci (ve stavu k dnešní verzi 0.5, kde jsem opravil několik otravných chyb).
Samozřejmě tomu ještě nějaké funkce schází, do mých plánů na verzi 1.0 se můžete podívat na github.com.
Doufám, že verzi 1.0 vydám přibližně za měsíc, ale nerad bych se zavazoval ke konkrétnímu datu.
Wine se ale nespokojí jen tak s nějakým udělátkem a než se vývojáři pro něco rozhodnou, musí si být jisti, že daná aplikace splňuje jejich požadavky. Aric Stewart:
Dostal jsem e-mail od vývojáře Pootle, kde píše, že právě na něčem takovém pracují pro Mozillu, ale ještě to není hotové. Wikimedia Foundation je s nimi na jedné lodi. Nevím, zda Weblate bude pro nás fungovat, nebo ne.
V podstatě máme tři velké požadavky, které zatím možné kandidáty vyřadily.
Hlavně bod 2 mají projekty problém splnit.
Vypadá to ale, že právě bod 2 pro Weblate problémem není. Michal Čihař:
Každá změna udělaná ve Weblate je přímo commitovaná do Git repozitáře s aktuálním překladatelem jako autorem, takže pokud počítáte autorství commitu v Gitu jako přiřazování, tak to splňuje. To bylo právě důvodem, proč jsem začal pracovat na Weblate, a integrace s Gitem je něco, co jej odlišuje od ostatních dostupných nástrojů.
Ukázalo se ale, že hlavní problém představuje vytváření extra commitu pro každý změněný řetězec. Spíše by se hodilo vytvářet hromadnější commity, ale to zase přináší komplikaci v podobě slučování změn. Ale protože to byl problém pro nejeden projekt, tak se Michal odhodlal to řešit:
Ukázalo se, že je tato funkce důležitá pro více projektů, takže ve verzi 1.0 nakonec implementuji nějaký způsob slučování. Podrobnosti najdete v #16.
A nakonec ani nedošlo na slučování samotným Gitem, Michal to vyřešil jinak. Diskuze na mailing listu Wine nedospěla k žádnému závěru, takže otázka, pro jaký nástroj se Wine rozhodne, zůstává doposud otevřená.
Problém chování vývojářů k uživatelům se nejčastěji vztahuje na stížnosti uživatelů, proč vývojáři nechtějí implementovat funkci XYZ nebo urgentně opravit bug ZYX. Ke konfliktům ale dochází i přímo v řadách vývojářů. Charles Davis nebyl potěšen přístupem vývojářů Wine k vývojářům (vývojáři) Apple:
Ahoj, nedávno mě přímo kontaktoval jeden vývojář Apple kvůli bugu v Apple Radaru (#9269783). Na jeho odpovědi je zajímavé to, že odbočil k tématu naší etikety. Jsem přesvědčen, že přinejmenším tento vývojář nás teď vidí jako sprosté a nenávistné stvůry a citoval konkrétní bug (#29922), který zadal a dokonce nabídl, že opraví.
Na vaši obranu: rozumím, že Vitaliyho chování není reprezentativním vzorkem za celou skupinu vývojářů Wine a že Jeremyho chování také nebylo zrovna vzorné. A také si uvědomuji, že tam nedochází k žádnému porouchání sestavování, protože neincludujeme žádné hlavičky v Objective C. Byl ale přesvědčen, že tam k problémům docházet může. Ty Alexandře – mluvím teď hlavně k tobě – jsi mu dostatečně nevysvětlil, proč to nemůže porouchat sestavování. Namísto toho jsi ho ty – hlavně ty, Vitaliyi – prakticky seřval za to, že se snažil pomoct! V tu dobu se už jistě o svůj zážitek podělil se svými kolegy v Apple. Když Wine vyvíjejí lidé jako Vitaliy, můžeme se pak vůbec divit, že nám Apple nechce pomáhat? Jsme my vývojáři tím pravým důvodem, proč Apple nepřispívá? A když už jsme u toho, jsme právě my tím pravým důvodem, proč *obecně* více lidí nepřispívá?
Přinejmenším bychom mohli ochotněji vítat pomoc, i když je od Apple. Potřebujeme to. Možná ne při opravování triviálních chyb, které nejsou vlastně chyby, jako 29922, ale s cílem udělat Wine lepší alternativou k Windows – na Macu, Linuxu, kdekoliv. Ale dokud budou lidé jako Vitaliy řvát na potenciální přispěvatele, tak se více pomoci než té od CodeWeavers nedočkáme.
Ještě než se rozhořel flamewar, tak se k tomu jako první vyjádřil Jerome Leclanche, který pomáhá se správou Bugzilly pro Wine:
Našel bych tisíc bugů, kde bych s tebou souhlasil, jenže druhý Jeremyho komentář zněl „Nemám v plánu vám posílat patche dostatečně často na to, aby mi stálo za to pročítat si vaše pravidla nebo se přihlašovat k odběru vašich mailing listů.“ To není „snaha pomoci“, to je sebestředné chování.
Obecně si ale myslím, že je v Bugzille až zbytečně moc neurvalostí. Někdy mám pocit, že je cílem pozavírat co nejvíce bugů jako neplatné co jen to jde, aniž se lidem dala vůbec šance se lépe vyjádřit. Zejména jsem pak byl svědkem různých lidí, co nemají angličtinu jako mateřštinu, kteří zadávají podivné bugy a pak na ně někdo křičí „přečtěte si tuto brutální stránku s pravidly“, když přitom stěží porozumí pár slovům.
Teď si ale uvědomuji, že čas některých lidí je omezený, neplacený apod. Ale tím to končí – nikdo (pokud vím) není nucen se o tyto lidi starat. Osobně se starám o bugzillu proto, že mě baví vidět, jak se projekt rozvíjí; pokud mě osobně rozčílí nějaký uživatel, tak to nechám být a vím, že někdo jiný (např. Austin) se o něj postará... a pokud ne, tak je lepší mlčet než nadávat.
Nebudeme se tu probírat hádkami. Zajímavá jsou ale slova Dana Kegela:
Když jsem dělal v jedné technicky zaměřené společnosti pohovory, tak bylo naší myšlenkou s kandidátem zacházet dobře a vyvolat v něm dobrý dojem z naší společnosti, i když jsme ho chtěli odmítnout. Důvodem bylo to, že i když jsme nechtěli jeho, tak bychom mohli mít zájem o jeho kamarády. To samé bychom mohli uplatnit zde.
A právě Dan Kegel byl asi také právě tím, kdo se pokusil záležitost uzavřít. Vitaliy, do kterého se původní e-mail opíral, sice fakticky neudělal nic špatně, ale choval se příliš podrážděně a činil unáhlené závěry:
Předpokládáš, že by pokračoval v kopání kolem sebe. A to nemůžeš vědět.
Programátoři aplikací – a troufnu si prohlásit, že hlavně těch proprietárních – nepřestávají překvapovat ve způsobech, jak dělat nějakou věc co nejméně přenositelně. Právě jedna taková zvláštnost je ve hře Star Wars: The Old Republic, která používá strukturu KUSER_SHARED_DATA pro získávání informací o čase. Jde o strukturu definovanou ve Windows Resource Kitu, jehož licence například ani neumožňuje, aby někdo ze souborů citoval více než 50 řádek najednou.
Otázkou pak je, jak interní a všelijaká exotická API správně implementovat ve Wine, aby to mělo hlavu a patu a aby problémová aplikace pracovala správně. Joey Yandle se o to pokusil:
Jak původně odhalil Carsten Juttner, Star Wars: The Old Republic používá časové údaje v KUSER_SHARED_DATA při odesílání síťových bufferů. Wine tyto hodnoty aktuálně neaktualizuje, takže se TOR nedostane za počáteční handshake se serverem.
Přikládám svůj patch, který to napravuje. Aktualizuje hodnoty každých 15600000 nanosekund stejně jako Windows 7 a snad i ostatní verze Windows. [...]
Problém byl v tom, že svůj patch implementoval jako extra vlákno, co běží v aplikaci. To je nepřijatelné. Otázkou tak bylo, jak to udělat správně. Další variantou bylo používat NtTimer a asynchronní volání procedur (APC):
Kód používající APC je sice zakomentovaný, ale přesto je v té verzi patche stále přítomen.
Jenže to nefungovalo, čímž mám na mysli, že se SW:TOR nedokázalo úspěšně přihlásit. Bylo to jednoznačně nejlepší řešení, takže bych se k němu rád vrátil, kdyby se nám podařilo učinit zpětná volání přesnějšími.
Kornél Pál přišel s tím, že by dále bylo nejlepší napodobit chování Windows:
Kdyby user_shared_data bylo zapisováno wineservem a mapováno v režimu jen ke čtení do procesů Wine, tak by nebylo třeba vytvářet ve Wine extra procesy. Pokud tomu rozumím, tak Windows tuto strukturu sdílí a aktualizuje ji z jádra, takže chování Wine by bylo podobné, kdyby aktualizace přicházely z wineserveru.
Vitaliy Margolen později upozornil na to, že je nutné dát si pozor na kopírovací ochrany. Neopatrný zásah do Wineserveru by totiž mohl přivést Safedisk na myšlenku, že běží pod debuggerem:
Ještě jedna věc tu je, tato změna pravděpodobně porouchá řadu kopírovacích ochran. Jako třeba safedisk. Používají sdílené údaje o čase, aby odhadly, jak dlouho která operace jádru trvala. A některé limity jsou opravdu dost přísné.
Později se potvrdilo, že sdílení paměti mezi Wineservem a procesy Wine je skutečně v pořádku, a to za podmínky, že je toto sdílení skutečně jen ke čtení. Potud je tedy jasno. Hlavním problémem tedy zůstává, jak do KUSER_SHARED_DATA dostávat údaj o čase včas a jak přitom ještě neporouchat kvůli jedné nezbedné hře stovky jiných aplikací. Řešení tohoto problému se stále ještě hledá.
Program | Původní stav/verze | Nový stav/verze | Změna |
Metro 2033 Steam | Silver (1.3.32) | Platinum (1.4) | +2 |
Fantasy Grounds 2.7.3 | Garbage (1.3.9) | Platinum (1.4) | +4 |
Skype 5.1.x | Bronze (1.3.16) | Garbage (1.4) | -1 |
Age of Wonders: Shadow Magic GOG Version | Gold (1.2.1) | Platinum (1.4) | +1 |
3DMark 05 | Silver (1.3.36) | Garbage (1.5.0) | -2 |
.NET Framework 4.0 | Garbage (1.3.27) | Bronze (1.4) | +1 |
Adobe Photoshop CS5 (12.0) | Bronze (1.4-rc6) | Garbage (1.5.0) | -1 |
Gex 3D 1.x | Bronze (1.3.17) | Platinum (1.5.1) | +3 |
RealGirls Strip Poker 1.1 | Bronze (1.1.35) | Platinum (1.5.0) | +3 |
Everquest 2 Streaming Client | Garbage (1.3.35) | Gold (1.4) | +3 |
Total War: Shogun 2 1.2.0 | Bronze (1.3.36) | Silver (1.4) | +1 |
3DMark 99 | Garbage (1.3.22) | Gold (1.4) | +3 |
aTubeCatcher 2.7.7 | Silver (1.1.35) | Gold (1.4) | +1 |
Final Fantasy XI Online Final Fantasy XI | Platinum (1.3.34) | Gold (1.4-rc4) | -1 |
MPEG2Schnitt 0.90 | Silver (1.1.6) | Gold (1.4) | +1 |
Steam Official Release | Platinum (1.3.37) | Silver (1.4) | -2 |
LEGO Digital Designer 4.x | Silver (1.3.12) | Platinum (1.4) | +2 |
Everquest 2 Full Install Client | Gold (1.3.37) | Garbage (1.4) | -3 |
Beasts & Bumpkins 1.0 | Bronze (1.2.2) | Gold (1.2.3) | +2 |
ArchiCAD 9.0 | Garbage (1.1.16) | Silver (1.4-rc6) | +2 |
Team Fortress 2 Steam | Bronze (1.3.35) | Gold (1.4) | +2 |
Gothic 1.0x | Silver (1.4) | Gold (1.5.1) | +1 |
BlackBox Component Builder 1.5 | Gold (1.1.42) | Platinum (1.2.3) | +1 |
Star Trek: Starfleet Academy 1.x | Gold (1.3.17) | Silver (1.5.0) | -1 |
eTrading Securities HOTS 2.0 | Silver (1.2.2) | Gold (1.2.3) | +1 |
.NET Framework 3.5 | Garbage (1.3.31) | Bronze (1.4) | +1 |
Daz|Studio 4.x | Gold (1.3.29) | Garbage (1.4) | -3 |
World of Warcraft 4.3.x | Gold (1.2.1) | Platinum (1.2.3) | +1 |
ArchiCAD 12 | Platinum (1.4-rc5) | Gold (1.4-rc6) | -1 |
Magic & Mayhem 1.0 | Garbage (1.3.5) | Gold (1.5.1) | +3 |
MDK 1.0 3DFX | Silver (1.3.35) | Gold (1.4-rc6) | +1 |
NewsbinPro 5.xx | Platinum (1.3.32) | Silver (1.4) | -2 |
Star Trek: Deep Space Nine – The Fallen 1.12 | Gold (1.3.26) | Platinum (1.5.0) | +1 |
Company of Heroes Steam Version | Silver (1.4) | Gold (1.5.1) | +1 |
LDS Scriptures 1.1 | Platinum (1.3.34) | Silver (1.4) | -2 |
3DMark 06 | Garbage (1.3.22) | Silver (1.4) | +2 |
League of Legends 1.0.0.x | Gold (1.4-rc6) | Bronze (1.5.0) | -2 |
Celková změna | +23 |
Program | Původní stav/verze | Nový stav/verze | Změna |
3D Studio MAX 9.x | Silver (1.4-rc6) | Gold (1.5.0) | +1 |
Anarchy Online Internet Play | Bronze (1.4-rc4) | Gold (1.5.0) | +2 |
ICQ 7.x | Garbage (1.3.30) | Gold (1.4) | +3 |
foobar2000 1.x | Platinum (1.2.3) | Bronze (1.4) | -3 |
Call of Duty 2 1.3 | Gold (1.2.2) | Platinum (1.4-rc6) | +1 |
Aquaria First release | Silver (1.3.25) | Platinum (1.4-rc2) | +2 |
Need for Speed II SE | Bronze (1.3.29) | Gold (1.4) | +2 |
Empire Earth II 1.0 | Silver (1.3.21) | Platinum (1.4) | +2 |
Multisim 10.1 | Garbage (1.2) | Silver (1.2.3) | +2 |
MPLAB IDE 8.x | Silver (1.3.10) | Gold (1.4) | +1 |
Far Cry 1.xx / 1.40 from Steam | Gold (1.3.30) | Platinum (1.4-rc6) | +1 |
PDF-XChange PDF Viewer 2.5.x | Silver (1.2.2) | Platinum (1.2.3) | +2 |
The Elder Scrolls V: Skyrim Steam | Platinum (1.4-rc2) | Gold (1.5.0) | -1 |
Maple 15.00 | Platinum (1.2.3) | Silver (1.4) | -2 |
Far Cry 2 Steam | Silver (1.3.4) | Gold (1.4-rc6) | +1 |
Portal 2 Steam | Platinum (1.3.36) | Silver (1.4) | -2 |
EAC – Exact Audio Copy 1.0beta2 | Garbage (1.3.28) | Silver (1.4) | +2 |
EVE Online 7.2x – Crucible | Gold (1.3.36) | Silver (1.4) | -1 |
Rayman Origins 1.3 | Gold (1.5.0) | Platinum (1.5.1) | +1 |
FL Studio 10 | Gold (1.3.37) | Silver (1.4-rc6) | -1 |
Rift Live | Gold (1.3.33) | Bronze (1.4-rc6) | -2 |
SpellForce 2: Shadow Wars Dragon Storm Expansion | Bronze (1.1.43) | Gold (1.5.0) | +2 |
SimCity 4 Deluxe | Platinum (1.2.3) | Silver (1.4-rc6) | -2 |
DirectX Redist 9.0c | Silver (1.0.1) | Garbage (1.2.3) | -2 |
Severance: Blade of Darkness 1.0x | Gold (1.3.26) | Bronze (1.5.0) | -2 |
F.E.A.R.: First Encounter Assault Recon 1.08 | Gold (1.3.19) | Platinum (1.4-rc6) | +1 |
Real MYST 1.1.1 (GOG) | Bronze (1.2.1) | Gold (1.4-rc6) | +2 |
TrackMania 2.11.26 United Forever | Platinum (1.3.31) | Garbage (1.5.0) | -4 |
Grand Theft Auto: Episodes From Liberty City Title... | Garbage (1.3.24) | Bronze (1.4-rc5) | +1 |
Overlord 2 1.0 | Gold (1.3.26) | Bronze (1.4) | -2 |
Majesty 2 1.x | Gold (1.3.24) | Garbage (1.5.0) | -3 |
Alice Madness Returns 1.0 | Gold (1.3.35) | Platinum (1.4) | +1 |
The Master Genealogist 7.04 | Gold (1.2.2) | Bronze (1.4-rc6) | -2 |
Foxit Reader 5.1.4.0104 | Garbage (1.2.3) | Platinum (1.5.0) | +4 |
Skype 5.8.x | Bronze (1.2.3) | Garbage (1.4) | -1 |
Shaiya latest version | Silver (1.3.36) | Gold (1.5.0) | +1 |
Google SketchUp 8.x | Silver (1.2.3) | Gold (1.5.0) | +1 |
Need for Speed – Porsche Unleased 3.5 | Bronze (1.3.34) | Silver (1.4-rc3) | +1 |
Combat Flight Simulator 3 3.1 | Gold (1.2-rc4) | Platinum (1.4) | +1 |
Mass Effect 1.0 | Bronze (1.2.3) | Gold (1.4) | +2 |
Mass Effect Steam | Platinum (1.3.37) | Silver (1.4) | -2 |
You Don't know Jack You Don't Know Jack | Platinum (1.1.17) | Bronze (1.4) | -3 |
Sacred 2.02.5 --> 2.28 | Gold (1.3.28) | Silver (1.4-rc6) | -1 |
Blitzkrieg II 1.5 | Gold (1.3.6) | Garbage (1.4-rc5) | -3 |
The Elder Scrolls III: Morrowind 1.2.0722 | Bronze (1.3.26) | Gold (1.4) | +2 |
Borderlands 1.4.1 | Gold (1.3.33) | Platinum (1.4-rc6) | +1 |
Action Request System (Remedy User) 7.xx | Silver (1.0.1) | Gold (1.4-rc1) | +1 |
NOOKstudy 2.0.2 | Gold (1.3.37) | Silver (1.4) | -1 |
IMVU 453 | Platinum (1.2.2) | Gold (1.4) | -1 |
Mathcad 14 | Garbage (1.2) | Gold (1.4-rc6) | +3 |
Sonic Heroes 1.0 | Garbage (1.2.2) | Silver (1.2.3) | +2 |
EVE Fitting Tool 2.10.4 | Gold (1.1.25) | Platinum (1.4-rc6) | +1 |
Teenage Mutant Ninja Turtles Retail | Silver (1.3.21) | Garbage (1.4) | -2 |
Deus Ex: Invisible War 1.x | Bronze (1.3.35) | Silver (1.4) | +1 |
Megaman X8 1.0 | Silver (1.2-rc7) | Platinum (1.2.1) | +2 |
Worms Reloaded Steam | Platinum (1.3.23) | Silver (1.4) | -2 |
Wing Commander Saga: The Darkest Dawn 1.0 | Gold (1.2.3) | Silver (1.4) | -1 |
Magic & Mayhem 1.1 | Bronze (1.3.34) | Gold (1.4) | +2 |
Grand Theft Auto: San Andreas 1.0 | Silver (1.3.27) | Platinum (1.4) | +2 |
Excel '97 | Bronze (1.0-rc2) | Silver (1.0.1) | +1 |
Watchtower Library 2010 | Gold (1.3.29) | Platinum (1.4) | +1 |
Altium Designer Release 10 | Silver (1.3.36) | Platinum (1.4) | +2 |
Reason 5.0 | Silver (1.2.3) | Gold (1.4) | +1 |
Need for Speed: Hot Pursuit 2 1.0 | Silver (1.3.37) | Gold (1.4) | +1 |
Tex Murphy: Overseer GoG.com version (1.04) | Garbage (1.3.13) | Platinum (1.4) | +4 |
Grand Theft Auto Free Download | Garbage (1.3.32) | Gold (1.4) | +3 |
The Corporate Machine 1.0 | Gold (0.9.53) | Platinum (1.4) | +1 |
3D Driving School 5.1 | Platinum (0.9.60) | Garbage (1.2.2) | -4 |
Cashflow 101 egame 1.0 | Bronze (1.3.37) | Silver (1.4) | +1 |
EAC – Exact Audio Copy 1.0beta1 | Bronze (1.3.19) | Silver (1.4) | +1 |
Overlord 2 Steam Version | Silver (1.1.33) | Bronze (1.4-rc6) | -1 |
Battle Realms 1.50q | Gold (1.1.43) | Platinum (1.4) | +1 |
Mass Effect 3 1.01 | Platinum (1.4-rc6) | Gold (1.5.0) | -1 |
Galactic Civilizations Demo 1.03 | Bronze (0.9.37) | Gold (1.5.1) | +2 |
Dragon Naturally Speaking 11.5 Home | Garbage (1.3.23) | Bronze (1.4) | +1 |
Gangsters: Organized Crime all | Garbage (1.3.10) | Bronze (1.4) | +1 |
Call of Duty 1.5 | Gold (1.1.10) | Platinum (1.4-rc6) | +1 |
War Front: Turning Point 1.0 | Garbage (1.1.39) | Bronze (1.4) | +1 |
Prism 5 | Bronze (1.3.0) | Platinum (1.5.0) | +3 |
Raptr 2.0.3 | Garbage (1.2.3) | Silver (1.4) | +2 |
Guilty Gear X 1.0 | Gold (0.9.29) | Platinum (1.4-rc6) | +1 |
Fritz 11 | Bronze (1.3.8) | Silver (1.4) | +1 |
Will Rock 1.2 | Garbage (1.1.30) | Bronze (1.5.0) | +1 |
IrfanView 4.x | Garbage (1.3.37) | Silver (1.4) | +2 |
Php Designer 8 | Gold (1.3.37) | Silver (1.4) | -1 |
Grand Theft Auto: San Andreas Steam | Gold (1.3.5) | Platinum (1.4-rc6) | +1 |
Space Pirates and Zombies Steam | Silver (1.3.35) | Bronze (1.4) | -1 |
Fallout 1.x | Gold (1.3.37) | Garbage (1.5.0) | -3 |
Heat Online beta | Bronze (1.2.2) | Gold (1.5.0) | +2 |
Microsoft Project 2010 | Silver (1.4-rc4) | Garbage (1.4-rc6) | -2 |
Master of Orion 2: Battle at Antares 1.31 | Gold (1.3.30) | Platinum (1.4-rc6) | +1 |
HeliconFocus 4.50 | Gold (1.1.3) | Garbage (1.4-rc6) | -3 |
EAC – Exact Audio Copy 1.0beta3 | Gold (1.2.2) | Bronze (1.4) | -2 |
Microsoft 3D Movie Maker Retail/OEM | Gold (1.3.30) | Bronze (1.4) | -2 |
Stacking Steam | Platinum (1.4-rc5) | Gold (1.5.0) | -1 |
I wanna be the boshy 1.5.1 | Garbage (1.3.31) | Bronze (1.4) | +1 |
Left 4 Dead 2 Left 4 Dead 2 Full (Steam) | Platinum (1.4) | Garbage (1.5.0) | -4 |
Aselia the Eternal 1.0 English | Silver (1.3.35) | Gold (1.4) | +1 |
Serious Sam: The Second Encounter 1.0x | Gold (1.3.34) | Silver (1.5.0) | -1 |
Sid Meier's Alpha Centauri 4.0 | Bronze (1.3.25) | Silver (1.4) | +1 |
Mafia 2 Full game | Silver (1.3.27) | Bronze (1.4) | -1 |
Overgrowth Alpha | Bronze (1.3.12) | Platinum (1.4) | +3 |
Broken Sword: The sleeping dragon GOG | Garbage (1.1.36) | Platinum (1.4-rc6) | +4 |
Counter-Strike: Source Retail / Steam | Garbage (1.3.37) | Platinum (1.4-rc6) | +4 |
Guild Wars All Versions | Garbage (1.2.3) | Platinum (1.4) | +4 |
Half-Life 2 Retail (32-bit) | Gold (1.2.2) | Platinum (1.5.1) | +1 |
Stronghold Kingdoms ALPHA4 | Bronze (1.3.11) | Garbage (1.4-rc6) | -1 |
Dragon Age II 1.x | Bronze (1.4-rc6) | Gold (1.5.1) | +2 |
Atlantica 10904 | Bronze (1.1.29) | Gold (1.4-rc6) | +2 |
Call of Juarez Demo | Garbage (1.1.1) | Gold (1.4) | +3 |
Star Wars: The Old Republic 1.0.x | Bronze (1.4) | Gold (1.5.0) | +2 |
Starship Titanic 1.00.42c | Silver (1.3.35) | Bronze (1.4-rc6) | -1 |
Touhou Fuujinroku ~ Mountain of Faith 1.00 | Silver (1.3.17) | Bronze (1.4) | -1 |
Adobe Acrobat 6.0 | Platinum (1.2.2) | Garbage (1.4-rc6) | -4 |
Runes of Magic Official release | Gold (1.3.37) | Garbage (1.4-rc6) | -3 |
Gómez Peer Latest | Bronze (1.3.33) | Silver (1.4-rc6) | +1 |
Microsoft Office (installer only) 2010 (32 bit) | Platinum (1.4-rc6) | Garbage (1.5.0) | -4 |
Celková změna | +36 |
S těmi webovými překlady to není tak jednoznačné. Sice naroste kvantita (což vývojáři vidí), ale klesne kvalita (což už vývojáři nepoznají). Když si překladatel musí stáhnout překladový soubor k sobě a použít nějaké nástroje, tak překládá, jen když o to má opravdu zájem a navíc může překlad snadno otestovat naživo. Na webu do překladů hrabe každej Franta, které jde kolem, aniž by obvykle znal kontext daného výrazu.
$ ls ~/Dokumenty/ Má hudba Mé videa Moje obrázkyMééééééé.
zjistit, že se tam nic jako ono přivlastňovací zájmeno v "lokalizaci" nevyskytujeAno, čeština přivlastňování zdaleka tolik nepoužívá - když Brit/Amík řekne "I was driving in my car", tak Čech neřekne "jel jsem ve svém autě", aniž by chtěl z nějakého důvodu dávat najevo, že to je fakt jeho auto a ne někoho jinýho. Čekal bych, že to překladatel bude vědět. I když je pravda, že dabingy jsou toho plné.
I když je pravda, že dabingy jsou toho plné.A tak novodobé české "dabingy" snad nemá ani smysl rozebírat. Muselo tě to stát hodně námahy a míčů, aby si sem přišel...
Muselo tě to stát hodně námahy a míčů, aby si sem přišel...To je hustý, z čeho to je?![]()
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.