Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Django: Internacionalizace

Mintaka
Mintaka (neregistrovaný) 82.100.4.---
6. 11. 2009 15:22 Nový

Po Editory

celé vlákno

Tip pro zhýčkané uživatele GUI. Editory překladových souborů: http://gorm.po.dk/ a živejší projekt http://www.gted.org/.

Jakub Vrána aura:43
6. 11. 2009 18:34 Nový

Zásadní chyba

celé vlákno

Zásadní chyba tohoto řešení je v tom, že identifikátor jazyka se nepřenáší v URL. Jedním z důsledků je, že do indexu vyhledávačů se dostane jen jedna jazyková verze. Další problém tkví v tom, že stránky nejdou kešovat v HTTP.

Funkce string_concat je ukázaná na zcela nevhodném příkladě.

Proč v příkladu pro stažení není soubor settings.py? Je to jeden z nejdůležitějších souborů a rekonstruovat ho ručně dá dost práce.

Pavel Dvořák
6. 11. 2009 22:19 Nový

Re: Zásadní chyba

celé vlákno

Díky za odezvu. Tu první výhradu Django samo o sobě vyřešit neumí, musí se mu pomoct rozšířením nebo si napsat vlastní přesměrování URL.

U druhé výhrady mě nenapadá, jak by měl vypadat vhodný příklad funkce string_concat. Jedná se o jednoduchou funkci, která vezme nějaký seznam řetězců a sestaví řetězec nový – nevidím v tom nic, co by mělo kohokoliv zmást.

Co se týče souboru settings.py, ten je závislý na adresářové struktuře. Seriál je koncipován tak, že si čtenář díl po dílu postupně buduje projekt, jestliže má o to zájem. Tento soubor je opravdu důležitý a myslím si, že by se v něm každý Djangista měl naučit vyznat a být schopen si sestavit ke každého projektu vlastní.

Jakub Vrána aura:43
7. 11. 2009 14:16 Nový

Re: Zásadní chyba

celé vlákno

Lepší příklad by byl třeba string_concat([_(u'Sta­v'), ‚: ', _(u‘nový')]. Příklad z článku rozděluje řetězec, který by měl být přeložen vcelku a ještě navíc z něj kus nepřeloží. Z dobrého příkladu by měla být vidět nejen syntaxe, ale i smysluplné použití.

Při chybějícím settings.py tedy nechápu, proč se v článku projekt vůbec nabízí ke stažení. Stejný argument by šel totiž použít i na jeho ostatní části. Verze pro stažení by měla sloužit k tomu, aby si čtenář ověřil, jestli má všechno správně nebo aby se podíval, jestli to vůbec správně funguje. Když tam chybí nejdůležitější soubor, tak to oba účely plní špatně.

os.path
os.path (neregistrovaný) ---.vsb.cz
9. 11. 2009 10:28 Nový

Re: Zásadní chyba

celé vlákno

ad 3)settings.py je závislý na adresářové struktuře, protože s ním tak nakládáte vy, stačilo by v něm použít os.path a na adresářové struktuře by již závislý nebyl, tím že v tomto seriálu tyto cesty píšete „natvrdo“ dáváte dle mého názoru úplným začátečníkům špatné návyky.

calyx
calyx (neregistrovaný) ---.net.upc.cz
9. 11. 2009 10:31 Nový

Re: Zásadní chyba

celé vlákno
Pavel Dvořák
9. 11. 2009 20:19 Nový

Re: Zásadní chyba

celé vlákno

To vypadá dobře, ale funguje to i mimo mod_wsgi?

calyx
calyx (neregistrovaný) ---.149.100.141.adsl.nextra.cz
10. 11. 2009 20:34 Nový

Re: Zásadní chyba

celé vlákno

To fakt netusim, mimo wsgi som django app nikdy nenasadzoval.

PMD
PMD (neregistrovaný) 88.103.85.---
25. 12. 2009 21:39 Nový

Re: Zásadní chyba

celé vlákno

Zdravím, zdá se mi, že žádoucí chování by bylo: pokud není v url specifikován jazyk a není nastaveno cookie, zjisti jazyk z hlavičky requestu a teprve pokud ten není mezi podporovanými jazyky, použij nastavení settings.py. Podle výsledku nastav cookie a přesměruj nás na správně „lokalizované“ url.
Vámi odkazovaná aplikace je sice užitečná pro vyhledávače, ale uživatelům na drzovku nastaví implicitní jazyk podle settings.py a proto nejde použít zároveň s LocaleMiddleware, které si čte ACCEPT_LANGUAGE a stará se o ty cookies. Tlučou se spolu kdo má pravdu.
Docela by mě potěšilo, kdyby existovalo _univerzální_ řešení a nemusel bych ho psát sám. Znáte nějaké?

.
. (neregistrovaný) ---.net.upc.cz
9. 11. 2009 19:54 Nový

Re: Zásadní chyba

celé vlákno

Co ti brani napsat si vlastni middleware, kterej bude v URL resit identifikator jazyka?

Vrat se k PHP a Django nech na pokoji.

Pavel Dvořák
9. 11. 2009 20:18 Nový

Re: Zásadní chyba

celé vlákno

Prosím, žádné osobní výpady. Návrhy na zlepšení Jakuba Vrány byly rozhodně opodstatněné a cením si jich.

kiot
kiot (neregistrovaný) 195.113.224.---
10. 11. 2009 11:00 Nový

Jak udelat jen a pouze CZ verzi?

celé vlákno

Dobry den,
chtel bych mit web pripraven k multijazycnosti s EN identifikatory, ale zatim mit vse pouze v CZ jazyce.

Identifikatory {% trans „i want this in EN“ %}.

Problem je v tom, ze pokud prijdu na stranky s jazykem pro ktery neni preklad (EN, PT, …) , tak potrebuju nastavit, aby se automaticky nastavila CZ verze.

Muzete me poradit, jak se toho da dosahnout?

Dekuji,
Tom

Pavel Dvořák
10. 11. 2009 11:03 Nový

Re: Jak udelat jen a pouze CZ verzi?

celé vlákno

V tom případě bych uvedl v konfigurační konstantě LANGUAGES pouze češtinu.

kiot
kiot (neregistrovaný) ---.cust.nbox.cz
10. 11. 2009 23:48 Nový

Re: Jak udelat jen a pouze CZ verzi?

celé vlákno

Zajimave je, ze pokud si vlozim do projektu (‚cs‘, u'Čeština'), tak se mi objevi error serveru. nevite cim to muze byt?

Muj kus kodu ze settings.py

LANGUAGE_CODE = ‚cs‘
LANGUAGES = (
(‚cs‘, u'Čeština')
)
USE_I18N = True

MIDDLEWARE_CLASSES = (
‚django.middle­ware.common.Com­monMiddleware‘,
‚django.contrib­.sessions.mid­dleware.Sessi­onMiddleware‘,
‚django.contrib­.auth.middlewa­re.Authentica­tionMiddleware‘,
‚django.middle­ware.locale.Lo­caleMiddleware‘,
)

TEMPLATE_CONTEX­T_PROCESSORS = (
„django.core.con­text_processor­s.auth“,
„django.core.con­text_processor­s.debug“,
„django.core.con­text_processor­s.i18n“,
„django.core.con­text_processor­s.media“,
 )

Pavel Dvořák
10. 11. 2009 23:51 Nový

Re: Jak udelat jen a pouze CZ verzi?

celé vlákno

Je na začátku souboru správně definované kódování? Musí tam být řádek  # coding: utf-8.

kiot
kiot (neregistrovaný) ---.cust.nbox.cz
11. 11. 2009 7:58 Nový

Re: Jak udelat jen a pouze CZ verzi?

celé vlákno

Mam tam znacku:
# coding=UTF-8

Pri pouziti
# coding: utf-8 me to napise unsupported encoding

Mintaka
Mintaka (neregistrovaný) 82.100.4.---
5. 1. 2010 3:07 Nový

Re: Jak udelat jen a pouze CZ verzi?

celé vlákno

Používám na začátku souboru
# -- coding: utf-8 --

( ty -*- jsou tam pro parádu ale leckde se používají)

Kromě téhle informace, která se hledá (tuším) na prvních dvou řádcích souboru je také dobré si zkontrolovat, zda editor ukládá daný soubor opravdu ve formátu utf-8

Zasílat nově přidané příspěvky e-mailem