Cytat
Co znaczy, że masz do przetłumaczenia całą podstronę?
To znaczy że mam do przetłumaczenia treść z tej podstrony, sam content bez żadnych znaczników. Chodzi o to że ta treść to nie jest pojedyncze zdanie tylko powiedzmy dziesięć długich zdań wiem że jak wrzucę całą tą treść do helpera __() to ją znajdzie i przetłumaczy tylko czy w przypadku tak długich treści nie jest to zbyt czasochłonne (porównywać tak długie stringi), sądzę że dążąc do optymalizacji kodu lepiej by było użyć jakiegoś id treści do przetłumaczenia niż samej treści. No i z tego cytatu z książki wynika że jest taka możliwość tylko że nie pokazali przykładu.
W sumie teraz to nawet jest mniej ważne bo okazało się że nawet tak jak jest w książce mi nie działa. Napiszę co się dzieje:
Robiłem wszystko standardowo (jak opisali w książce od jobeeta) poza jednym szczegółem zamiast selecta zmieniającego język mam nad menu dwa linki
[<a
<?php echo $kultura == 'pl' ?
"class=\"active\" href=\"\"" : "href=\"".url_for
('@zmien_jezyk')."\"" ?>>Polski</a>] [<a
<?php echo $kultura == 'en' ?
"class=\"active\" href=\"\"" : "href=\"".url_for
('@zmien_jezyk')."\"" ?>>English</a>]
linki kierują do akcji która zmienia kulturę następująco:
if ($this->getUser()->getCulture() == 'pl')
$this->getUser()->setCulture('en');
else
$this->getUser()->setCulture('pl');
return $this->redirect('@localized_homepage');
Linki działają bo jak sprawdzam na pasku deweloperskim config->user->culture to zawsze w zależności od wyboru jest en lub pl poza tym link też ma prefix pl/ lub en/
w templatce strony głównej w menu mam taki link do przetłumaczenia:
<a href="">
<?php echo __
('Strona Główna') ?></a>
no i jest zonk bo niezaleznie czy klikne polski czy english dostaję 'Strona Główna',
dodam że
symfony i18n
:extract frontend en
--auto
-save
dziwnie tworzy pliczek tłumaczeń, wygląda tak:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xliff PUBLIC "-//XLIFF//DTD XLIFF//EN" "http://www.oasis-open.org/committees/xliff/documents/xliff.dtd">
<xliff version="1.0">
<file[color="#FF0000"] source-language="EN" target-language="en"[/color] datatype="plaintext" original="messages" date="2011-01-28T12:58:07Z" product-name="messages">
<header/>
<body>
<trans-unit id="1">
<source>Strona Główna</source>
<target>Home<target/>
</trans-unit>
...
...
...
</body>
</file>
</xliff>
czyli zarówno 'source-language' jak i 'target-language' ustawia en, (nawet gdy zmienię któryś na pl to i tak nie tłumaczy)
Czy widzicie gdzieś błąd? Albo macie jakieś pomysły co może być nietete?