Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

Lokalizace, která zpomaluje - jak údajně funguje.

Zabza12 (87)|10.1.2008 14:40
Všude na netu jsou nářky na lokalizaci jedné firmy, která má i z nadupané mašiny dělat šneka. Je možné, že tato firma prodává takový shit?
Protože jsem se od agentuty JPP (jedna paní povídala) dozvěděl, jak má tato nešťastná lokalizace fungovat, napadlo mě podělit se o informace. Předem upozorňuji, že nevím zda to je úplně pravda, ale celkem to sedí.

Způsob lokalizace závisí na tom, jak je program napsaný:

1) Pokud autor s likalizací nepočítá, píše všechny zobrazované texty přímo do zdrojáků programu. Pro autora to je pohodlné a přehledné. Výsledkem je jedno EXE v němž jsou smíchány instrukce a texty.
Lokalizace takové prasárny je prakticky vyloučená. Lokalizaci musíte dělat vyhledáním textů hlášek přímo v EXE a nahrazením původního textu překladem. Při překladu musíte zachovat délku původního textu, protože když by přeložený text byl o jeden jediný znak delší přepíše instrukce programu a ten nejspíš spadne. Tato práce je výhradně ruční a s každou novou verzí programu se musí dělat znovat. Toto je práce pro masochisty a je jasné že nikam nevede. Tak takto to ona firma nedělá.


2) Když autor s lokalizací počítá, nepíše texty zpráv přímo do zdrojáku programu ale dává je do externího souboru. Kařdý text umístěný do tohoto souboru označí např. číslem podle kterého se dokáže příslušný text snadno a rychle nalézt. Do zdrojáku nepíše texty, ale jen čísla podle kterých se potřebný text v externí souboru najde. Pro programátora to je pracné a poměrně nepřehledné. Výsledkem je EXE a soubor s texty. Dnešní vývojová prostředí a operční systémy přímo obsahují podporu pro lokalizace.
Lokalizace takto připraveného programu je snadná - vezmu soubor se zprávami, přeložím a nahradím původní soubor. Je možné používat delší texty než byly původně, i když pokud to přeženu nemusí se mi nový text vejít na volné místo a ořízne se. Ale program tím nezbožím, jen to vypadá lajdácky. Toto je profi řešení, ale tak to udělné taky není.


Jak to tedy je?
Použité řešení vzniklo historicky - první verze Win CE byly podle varinaty 1. Jak jsem uvedl, to se lokalizovat nedá, ale tato firma našla originální řešení: Zjistili že pro psaní na displej používají Windows jednu nebo několik málo funkcí. Tak tyto funkce nahradili vlastními, které dělají on-line překlad. Doplnili databázi použitých textů, doplnili k nim překlady a už to jede. Funguje to takto: Funkce dostane příkaz, aby vypsala text "Hello". Ale ona, místo aby ho psala, tak si najde si "Hello" v databázi vypíše jeho překlad "Ahoj". Je jasné, že tyto cviky mají svou režii a tak musí zpomalovat běh PDA. Použité řešení má řadu výhod - je opravdu bezpečné a snadno použitelné pro libovolný jazyk.

Dnes jsou ale WM dělané podle varinaty 2, ale ona lokalizace prý stále používá svou metodu.

Pokud to tak doopravdy je, ta to kdysi bylo optimální řešení a skvělý nápad. Klobouk dolů. Ale jestli se používá i dnes....

Jak jsem psal, nevím do jaké míry to je pravda, ale protože všechno tak přesně sedí, myslím že to tak bude.
htcjirka (1875)|10.1.2008 14:47
Bohuzel cestina sunnysoftu nenanhrazuje puvodni knihovny,ale prida dalsi knihovny,kterymi se pda po restartu ridi.U programu to pak vypada takto,obsahuje oba tyto soubory

wlansettings.exe (original soubor)
wlansettings.exe.405.mui(soubor sunnysoft)

Bohuzel cestina stale zpomaluje zarizeni i ve windows mobile 6,mene oproti predchozim WM5,ale zpomaluje.
Zabza12 (87)|10.1.2008 15:05
Naprosto správné řešení by bylo doplnit soubor s lokalizovanými texty a v OS oznámit, že je má používat.

Jen nevím, jestli WM toto umí.
MaXyM (28)|10.1.2008 15:05
Netyka se to pouze cestiny. Polska lokalizace, take Sunnysoftu, stejne spomaluje OS, a se uzivatele moc na to stezuji.
Pak vyhodou je znat anglictinu

PS. pouzivani lokalizacnich souboru ulozenych do externich souboru windows nepodporuje. Je to prekvapijici, protoze takovym zpusobem fungoval jiz AmigaOS
Standa999 (138)|10.1.2008 15:34
Jenom doplneni:
Kazda lokalizace (Sunnysoft, Mobilnaut, ....) je pouze vykopirovana od Microsoftu.
Jedine usili pri pocesteni muzou vyvinout pouze u programu z ExtROM.
PhSnake (872)|10.1.2008 15:52
ono to xyz.0405.dll.mui je presne podla postupu 2. ked si pozres mui tak zistis ze obsahuje len Strings, Menu, Dialog (v 99% pripadov), lenze aj keby si dal tie file do ROM, pripadne Windows musis nastavit v boot.hv ze system language je CSY(0405). A kedze to musis nastavovat pred vytvorenim image ROM napr pred vytvorenim signed.nbh, nbf.... tak oni to musia obist kniznicami ktore ojebabru system - tj napr volas akukolvek dll, exe - najprv sa zavola kniznica "redirect.dll" ta zisti aku dll volas a cez sw jej prikaze napr namiesto xyz.dll.0409.mui nacitat xyz.dll.0405.mui, pripadne je este jedna varianta docasne zmeni nazov xyz.dll.0409.mui na xyz.dll.0405.mui

predpokladam ze je +- jedno ci pouzivas lokalizaciu na Eten alebo HTC (celkovo) system je ten isty (lebo system tiez, rozdiel moze byt v nejakych DLL) ...
Pavel Koza (4761)|10.1.2008 17:18
[QUOTE="Standa99"]Jenom doplneni:
Kazda lokalizace (Sunnysoft, Mobilnaut, ....) je pouze vykopirovana od Microsoftu.
Jedine usili pri pocesteni muzou vyvinout pouze u programu z ExtROM. [/QUOTE]

A mate pro to nejaky dukaz nebo je to jen Vase domnenka:)? Pokud vim, tak Sunnysoft lokalizoval uz v dobe, kdy mobilni divize Microsoftu ani netusila, ze neco jako cestina existuje...
kubesa (76)|10.1.2008 18:08
Jenom takove upozorneni, ktere mozna souvisi s lokalizaci - na WM6 po nahrati .NET 2.0 dojde k zaseknuti po restartu na M700 verze rom 436 a nepomuze ani safe mod... uz se mi to bohuzel podarilo 2x - vzdy kdyz jsem mel lokalizaci. Ted jsem se na lokalizaci vykaslal a po instalaci .NET 2.0 je to v pohode. Take nefunguji nektere aplikace, jako napr. Pocket Mechanic...
Pavel Koza (4761)|10.1.2008 18:34
...moc tomu nerozumim, ale podle tohoto dokumentu je v kazdem zarizeni WM6 instalovany compactNET 2.0 SP1...

The .NET Compact Framework 2.0 Service Pack 1 (SP1) and Microsoft SQL Server™ 2005 Compact Edition are in the ROM of all Windows Mobile 6 devices, which allows your application to use .NET Compact Framework 2.0 and SQL Server 2005 Compact Edition without needing to distribute or install either product on the user's device. This reduces the time and cost of application deployment resulting in direct monetary savings.
Standa999 (138)|10.1.2008 19:40
[QUOTE="Pavel Koza"]A mate pro to nejaky dukaz nebo je to jen Vase domnenka:)? Pokud vim, tak Sunnysoft lokalizoval uz v dobe, kdy mobilni divize Microsoftu ani netusila, ze neco jako cestina existuje...[/QUOTE]

Napr. soubor "browsres.dll.0405.mui" a z nej maly vynatek:

Microsoft:
STRINGTABLE
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
{
4352, "Hledanou stránku nelze najít.\0x00"
4353, "Stránky tohoto typu nelze pomocí aplikace Internet Explorer Mobile zobrazit.\0x00"
4354, "Tato adresa URL nemá správný formát. Ověřte, zda jste zadali adresu správně.\0x00"
4355, "Stránku nelze aktualizovat bez opakovaného odeslání informací. Znovu odeslat informace?\0x00"
4356, "Stránku nelze zobrazit, protože nelze najít server nebo došlo k chybě služby DNS.\0x00"
4357, "Stránku nelze najít. Zkontrolujte název a opakujte akci.\0x00"
4358, "Stránku nelze zobrazit, protože web nelze ověřit.\0x00"
4359, "Stránku nelze zobrazit nebo stáhnout, protože spojení bylo přerušeno. Zkontrolujte spojení a opakujte akci.\0x00"
4360, "Stránku nelze zobrazit, protože spojení bylo přerušeno. Opakujte akci.\0x00"
4361, "Adresa není platná. Zkontrolujte adresu a opakujte akci.\0x00"
4362, "Uživatelské jméno či heslo jsou nesprávné. Zkontrolujte, zda není zapnutá klávesa CAPS LOCK, a zadejte uživatelské jméno a heslo znovu.\0x00"
4363, "Relace FTP skončila, protože připojení bylo přerušeno. Zkontrolujte připojení a opakujte akci.\0x00"
4364, "Hledanou stránku nelze najít v důsledku neznámé chyby 0x%1!x!.\0x00"
4365, "%s (%d B)\0x00"
4366, "Šifrované\0x00"
4367, "Žádné\0x00"
}

Mobilnaut:
STRINGTABLE
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
{
4352, "Hledanou stránku nelze najít.\0x00"
4353, "Stránky tohoto typu nelze pomocí aplikace Internet Explorer Mobile zobrazit.\0x00"
4354, "Tato adresa URL nemá správný formát. Ověřte, zda jste zadali adresu správně.\0x00"
4355, "Stránku nelze aktualizovat bez opakovaného odeslání informací. Znovu odeslat informace?\0x00"
4356, "Stránku nelze zobrazit, protože nelze najít server nebo došlo k chybě služby DNS.\0x00"
4357, "Stránku nelze najít. Zkontrolujte název a opakujte akci.\0x00"
4358, "Stránku nelze zobrazit, protože web nelze ověřit.\0x00"
4359, "Stránku nelze zobrazit nebo stáhnout, protože spojení bylo přerušeno. Zkontrolujte spojení a opakujte akci.\0x00"
4360, "Stránku nelze zobrazit, protože spojení bylo přerušeno. Opakujte akci.\0x00"
4361, "Adresa není platná. Zkontrolujte adresu a opakujte akci.\0x00"
4362, "Uživatelské jméno či heslo jsou nesprávné. Zkontrolujte, zda není zapnutá klávesa CAPS LOCK, a zadejte uživatelské jméno a heslo znovu.\0x00"
4363, "Relace FTP skončila, protože připojení bylo přerušeno. Zkontrolujte připojení a opakujte akci.\0x00"
4364, "Hledanou stránku nelze najít v důsledku neznámé chyby 0x%1!x!.\0x00"
4365, "%s (%d B)\0x00"
4366, "Šifrované\0x00"
4367, "Žádné\0x00"
}

Sunnysoft:
STRINGTABLE
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
{
4352, "Stránka, kterou hledáte nemůže být zobrazena\0x00"
4353, "Stránky tohoto typu nelze pomocí aplikace Internet Explorer Mobile zobrazit.\0x00"
4354, "Tato adresa URL nemá správný formát. Ověřte, zda jste zadali adresu správně.\0x00"
4355, "Stránka nemůže být obnovena bez odeslání informace. Odeslat informaci?\0x00"
4356, "Stránku nelze zobrazit, protože nelze najít server nebo došlo k chybě služby DNS.\0x00"
4357, "Stránku nelze najít. Zkontrolujte název a opakujte akci.\0x00"
4358, "Stránku nelze zobrazit, protože web nelze ověřit.\0x00"
4359, "Stránku nelze zobrazit nebo stáhnout, protože spojení bylo přerušeno. Zkontrolujte spojení a opakujte akci.\0x00"
4360, "Stránku nelze zobrazit, protože spojení bylo přerušeno. Opakujte akci.\0x00"
4361, "Tato adresa je neplatná. Zkontrolujte ji a akci zopakujte.\0x00"
4362, "Uživatelské jméno či heslo jsou nesprávné. Zkontrolujte, zda není zapnutá klávesa CAPS LOCK, a zadejte uživatelské jméno a heslo znovu.\0x00"
4363, "Relace FTP skončila, protože připojení bylo přerušeno. Zkontrolujte připojení a opakujte akci.\0x00"
4364, "Hledanou stránku nelze najít v důsledku neznámé chyby 0x%1!x!.\0x00"
4365, "%s (%d B)\0x00"
4366, "Šifrované\0x00"
4367, "Žádné\0x00"
}

Sunnysoft ma par slov zmenenych, ale obrazek si muze udelat kazdy sam.
Zdenek Malinsky (9781)|10.1.2008 20:15
No, ono na překladu toho nejde zas tak moc vymyslet jinak - yes je ano, no je ne, delete smazat...


Ale pořád nevím, o kom si myslíš, že od koho opisoval. :?
RStein (2012)|10.1.2008 21:15
Ad Compact .Net Framework) Nektere aplikace vyzaduji jiny service pack - napr. SP2, a proto se CNF vetsinou znovu instaluje i na zarizeni, ktera v ROM nejakou verzi CNF maji.

Standa 66: Dlouho jsem se tak nepobavil :D- v Sunnysoftu uz urcite po odhaleni takovehoto plagiatu zacnou prekladat originalne :)
"Stránku nelze najít. Zkontrolujte název a opakujte akci.\0x00"

Lépe a originálně:
Html dokument se aplikaci Internet Explorer přes veškerou snahu nedaří najít. Nedame repete? . LOL :)
jval (453)|11.1.2008 08:21
Cece Stando99 ty jsi fakt srandista.

Dej nejaky odstavec prelozit nezavisle 3 lidem a uvidis, ze ty preklady se zase az tak lisit nebudou. Maximalne v par slovech. Ovsem tedy za predpokladu, ze to budou dobri anglictinari.
Pavel Koza (4761)|11.1.2008 08:39
OK, uznavam, ze mate sve tvrzeni podlozene, ale jako clovek, ktery prelozil cca. 10 aplikaci stale budu tvrdit, ze tohle nedokazuje zhola nic:) Jednak se jedna o kratke vety, navic z maximalne proflaknute aplikace jako je Internet Explorer, a pak sam Microsoft ma na svych strankach ruzne guidy, glosare a terminologicke slovniky pro ruzne jazyky pro zajisteni jiste urovne, takze pokud se jich prekladatel drzi, obzvlast texty v aplikaci se budou dost podobat. Nehlede na to, ze z jednoho uhlu pohledu neni prilisna kreativita pri vymysleni prekladu prinosna...

Podle meho nazoru se da plagiatorstvi odhadnout spise na textech s napovedou, jednak je tam textu radove vic, pak je souvisly a navic je samozrejme preklad helpu casove nejnarocnejsi (a zkopcenim se da usetrit spousta casu/penez).

Ale logicky jediny, kdo vi presne, jak texty vznikaji, jsou Sunnysofti / Mobilnauti a za ty samozrejme mluvit nemuzu.
Zabza12 (87)|11.1.2008 09:56
Standa 66: Co vlastně Mobilnaut a Sunnysoft lokalizují, když MS to už česky má? Nevloudila se někde chybička?
Pavel Koza (4761)|11.1.2008 10:03
Od Windows Mobile 5 nabizi Microsoft vyrobcum zarizeni system v mnoha jazykovych mutacich vcetne cestiny. Je pouze a jen na vyrobci, kterou mutaci pouzije. Pouziti ceske verze ma vyhodu, ze vyrobce dostane zaklad hotovy a nemusi si lamat hlavu s lokalizaci. Nevyhodou jsou naopak vyssi naklady pri vyrobe ROMek, protoze kazda verze samozrejme neco stoji. Takze i pres tuto dostupnost je vetsina zarizeni (s dotykovym displejem) i na nasem trhu k dispozici s anglickou ROM a to je misto pro Sunnysoft nebo Mobilnauty nebo dalsi.
quick_pd (67)|18.1.2008 18:48
Tak pokud to dobře chápu,
někde v systému jsou soubory které obsahují různé hlášky apod ... ?
A co když si alespoň některé přeložím amatérsky sám ? :)
Pavel Koza (4761)|18.1.2008 19:34
Hodne zjednodusene se to tak da rict, ale rozhodne to neni tak, ze je nekde jeden velkej textak, ten staci prelozit a hotovo:) Konkretni byt vic nemuzu, pac to jednoduse nevim, ale pro preklady je nutne mit nejaky nastroj (nevim, jesli je free nebo se musi kupovat) a pak musite mit urcite znalosti, jak system funguje. Ale v principu nebrani vytvoreni vlastni cestiny vice mene nic;)
Zabza12 (87)|18.1.2008 20:03
Když to je tak, tak proč se má tak nesnesitelně zpomalovat? To přece nemá žádný technický důvod.
Pavel Koza (4761)|18.1.2008 20:16
To se ptate nebo konstatujete:)? Pokud vychazite z vlastnich zkusenosti, obratte se s konkretnimi pripominkami a/nebo reklamacemi na Sunnysoft. Ja osobne o zadnem tragickem zpomaleni kvuli lokalizaci nevim, ale priznavam bez muceni, ze cestinu nepouzivam (ani na PDA, ani nikde jinde v oblasti vypocetni techniky). Z principu bude lokalizace instalovana jako klasicky program vzdy trochu pomalejsi nez kdyby byla soucasti systemu primo v ROM image, predevsim pri prvnim nacitani do RAM po resetu, ale pak uz to beha normalne a znam dost uzivatelu, kteri nemaji s cestinou problem. Rovnez nezaskodi sledovat Sunnysofti web, nejsou neomylni a nove, opravene verze obcas vydaji.

Pokud vychazite z toho, co se "pise na webu", tak Vam nepomuzu. "Na webu" se pise tolik veci, ze by se jeden zblaznil. Na kazdou vec najdete na netu plno kritiky a cim je rozsirenejsi, tim vic te kritiky je (v absolutnich cislech). Proste mejte na pameti, ze nespokojeni uzivatele rvou mnohem vic nez ti spokojeni a ne vzdy je duvod toho kriku opravneny:) Naopak si dovolim tvrdit, ze ti spravedlive rozhorceni jsou v mensine, mnohem casteji byva problem mezi klavesnici a zidli.
PhSnake (872)|18.1.2008 21:14
v zasade nie je problem si to prelozit sam, treba si zohnat RESHACKER, PE Explorer o pozret si Resource kazdeho exe,dll,mui - na zaciatok a prelozit. Pozret registre a prelozit. Potom skusit flashnut. len nesmies zabudnut ze niektore exe,dll musia byt "podpisane" certifikatom.... Pripadne mozes skusit vytiahnut nejake mui z existujucej lokalizacie(ale tie nemusia fungovat). Takze asi tak
Zabza12 (87)|18.1.2008 21:37
Osobní zkušenost nemám, protože lokalizaci nepoužívám.
Pokud je lokalizace na té úrovni, že originální verze si bere resource stringy souboru A a lokalizovaná ze souboru CZ nebo SK, nevěřím že je možné aby lokalizace zpomalovala. To nemá technický důvod.
Máte pravdu, že na internetu najde člověk cokoli, zejména kydání hnoje na cokoli a kohokoli. Pravda je, že u uživatelů takových zařízení bych občas čekal určitou úroveň.

quick_pd (67)|18.1.2008 22:59
[QUOTE="Pavel Koza"]Hodne zjednodusene se to tak da rict, ale rozhodne to neni tak, ze je nekde jeden velkej textak, ten staci prelozit a hotovo:) Konkretni byt vic nemuzu, pac to jednoduse nevim, ale pro preklady je nutne mit nejaky nastroj (nevim, jesli je free nebo se musi kupovat) a pak musite mit urcite znalosti, jak system funguje. Ale v principu nebrani vytvoreni vlastni cestiny vice mene nic;)[/QUOTE]
Tak to neni nic pro mě, já mám PDA od vánoc.
Myslel sem to presne tak jak to neni, myslel sem ze je vse v textaku. Mel sem v planu prelozit si jen caste hlasky, a vzbec ne doslovne (neumim zkoro vubec Anglicky).
Takze skoda no :(
Mam ETEN M700, ale nedaly mi k tomu CD cestinou (ktere mi mely dat) a tak si nevim rady, ale nebydlim v Praze tak nechci cekat dobu nez se PDA vyreklamuje.
Je to hold tezsi no :(
Pavel Koza (4761)|18.1.2008 23:03
Na poslani CDcka snad neni nutne zarizeni reklamovat? Proste to zaurgujte a kdyz se k tomu nebudou mit (lokalizaci jste si ZAPLATIL, tedy pokud nejde o nejaky sedy dovoz, tak na ni mate narok), tak si stezujte u distributora, jakou jim dany prodejce dela reklamu.
zivan (615)|19.1.2008 00:01
[QUOTE="Aladin 2"]...
Pokud je lokalizace na té úrovni, že originální verze si bere resource stringy souboru A a lokalizovaná ze souboru CZ nebo SK, nevěřím že je možné aby lokalizace zpomalovala. To nemá technický důvod.
...
[/QUOTE]

No je potreba otevrit dalsi soubor a nacist z nej prelozeny text. To nejaky cas zabere. Takze lokalizace urcite zpomaluje minimalne start aplikaci.
Nevim, jestli je pak cely lokalizacni soubor nacteny v pameti nebo se musi pri dalsich pozadavcich (napr. nove okno) opakovane otevirat.
PhSnake (872)|19.1.2008 00:38
Zivan: v tom by som problem nevidel, ked si pozres dump ENUK(0x409) romky tiez tam najdes xyz.0409.mui.zyx subory (niekedy napr. resources nenajdes v exe vobec - mas tam len "odvolavky" na resource.dll)
Zabza12 (87)|19.1.2008 11:15
Zivan: jenže původní texty se také musí číst z nějakého souboru, takže ten rozdíl musí být téměř nula.
Nebo je to jinak:
A) Dnes už zpoždění není, jedná se o pověru
B) Funguje to jinak

Kdyby tak někdo, kdo tomu fakt rozumí, řekl jak to funguje.
bjirka (380)|19.1.2008 12:45
Proč by to musel řešit někdo kdo tomu "rozumí"? Ten může mít tak akorát teoretické doměnky a vysvětlení, jak zde už bylo uváděno a jak známo teorie se od skutečnosti občas (hodně) liší.
Nejjednodušší je vzít dvě stejná zařízení se stejnými programy, jedno s lokalizací a druhé bez ní. A vyzkoušet ten rozdíl v reálu.
Pak není o čem hovořit!
Vyzkoušel jsem to na dvou Kaiserech vedle sebe a ať si říká kdo chce co chce praxe je taková, že zpomalení existuje - v tomto konkrétním případě veliké. Při některých akcích i několikanásobně větší (File explorer a načtení složky Windows)!
Druhá věc je, proč tomu tak je a co udělat jinak pro to, aby tomu tak nebylo. To nevím!
htcjirka (1875)|19.1.2008 13:34
Bohuzel zpomaleni stale je u lokalizace.Povera to neni,je to stale pretrvavajici fakt.Bylo to znatelne jak u Kaisera tak i u Touch Duala,ktere jsem vlastnil a tez srovnaval se zarizenim s totoznou rom,ale bez lokalizace.
Zabza12 (87)|19.1.2008 14:01
Bylo by dobré dát video s ukázkou.
doficz (27)|20.3.2008 09:23
Mám to vyzkoušené. Měl jsem 2 telefony vedle sebe a ten s českou lokalizací byl cca o 20% pomalejší.
Tak jsem ho flashnul na anglickou, tu samou verzi a hned se zrychlil.
Ceskou uz tam zpet nechci