Adam W.

Adam W. senior php
developer, Symfony

Temat: i18n

cześć,

Opracował już ktoś sposób jak łatwo i dobrze zrobić serwis wielojęzyczny?
Chciałbym tłumaczenia trzymać w bazie, żeby ułatwić zadanie tłumaczowi.
Próbowałem skorzystać z pluginu mgI18nPlugin ale coś mi z tym tłumaczeniem nie wychodzi. Wydaje mi się, że ten plugin nie działa poprawnie, albo po prostu coś jeszcze trzeba dodatkowego ustawić o czym nie ma w doc.

z góry dziękuję za konkretne info.
Marek Wywiał

Marek Wywiał Programista,
administrator,
instruktor

Temat: i18n

Używam wbudowanego mechanizmu, zbieram dane do plików *.po, a potem taskiem wczytuję do bazy danych.

I18n mam ustawione na czytanie z bazy (ew. coś poprawiałem w tym sterowniku, symfony 1.0.19). W GUI interfejs do edycji/szukania wg frazy, statusu (przetłumaczony/do tłumaczenia)
Adam W.

Adam W. senior php
developer, Symfony

Temat: i18n

coś czuję, że zrobienie różnych wersji językowych w symfony 1.2.8
nie będzie wcale łatwe.

1. niedopracowana obsługa tłumaczeń w mysql

trzeba zakomentować mysql_close w pliku sfMessageSource_MySQL.class.php
 function __destruct()
{
//@mysql_close($this->db);
}


2. niedopracowane wyciąganie tłumaczeń (i18n:extract)

nie wyciąga tekstów z innych plików niż widoki i akcje (np. z formularzy).

3. jeżeli domyślny język to en to na stronie teksty tego języka powinna wyświetlać się już bez [T] [/T]. teraz trzeba wpisywać 2 razy ten sam tekst
<trans-unit id="1">
<source>Hello world!</source>
<target>Hello world!</target>
</trans-unit>
<trans-unit id="2">
<source>Another text message</source>
<target>Another text message</target>
</trans-unit>
Adam W. edytował(a) ten post dnia 20.09.09 o godzinie 01:11

konto usunięte

Temat: i18n

ad.1. A po co taki haniebne posunięcie?
ad.2. Tak - nigdy nie wyciągał ;)
ad.3. Debugowanie [T][/T] jest tylko dla Ciebie ... i powinno być ustawiane w factories.yml tylko dla trybu deweloperskiego a nie produkcyjnego.

W razie czego pisz też na http://symfony.pl/forum :)
Adam W.

Adam W. senior php
developer, Symfony

Temat: i18n

Piotr Plenik:
ad.1. A po co taki haniebne posunięcie?

hmm, próbowałem zrobić extract wprost do bazy i zauważyłem, że przez mysql_destruct nie udaje się to - stąd to zakomentowanie;)
ad.2. Tak - nigdy nie wyciągał ;)

czyli np z formularzy nie trzeba wyciągać tylko ręcznie wprowadzić do tłumaczeń? czy może w formularzach w ogóle nie można używać i18n ?
ad.3. Debugowanie [T][/T] jest tylko dla Ciebie ... i powinno być ustawiane w factories.yml tylko dla trybu deweloperskiego a nie produkcyjnego.

aha, to już coś:)

konto usunięte

Temat: i18n

hmm, próbowałem zrobić extract wprost do bazy i zauważyłem, że przez mysql_destruct nie udaje się to - stąd to zakomentowanie;)

no cóż, ostatnio tylko w Doctrine pracuję, więc nie wspomogę.
czyli np z formularzy nie trzeba wyciągać tylko ręcznie wprowadzić do tłumaczeń? czy może w formularzach w ogóle nie można używać i18n ?

Można i oczywiście jest to zalecane :).
Mniej zalecane, ale również możliwe to dodanie do configure()
$this->getWidgetSchema()->setLabels(array(
'nazwa_pola1' => 'Etykieta 1',
'nazwa_pola2' => 'Etykieta 2',
));
Adam W.

Adam W. senior php
developer, Symfony

Temat: i18n

Piotr Plenik:
hmm, próbowałem zrobić extract wprost do bazy i zauważyłem, że przez mysql_destruct nie udaje się to - stąd to zakomentowanie;)

no cóż, ostatnio tylko w Doctrine pracuję, więc nie wspomogę.

ja też w doctrine. ale to chyba nie ma znaczenia bo w tej klasie nie jest używany żaden orm tylko jest wprost mysql_connect().

czyli np z formularzy nie trzeba wyciągać tylko ręcznie wprowadzić do tłumaczeń? czy może w formularzach w ogóle nie można używać i18n ?

Można i oczywiście jest to zalecane :).
Mniej zalecane, ale również możliwe to dodanie do configure()
$this->getWidgetSchema()->setLabels(array(
'nazwa_pola1' => 'Etykieta 1',
'nazwa_pola2' => 'Etykieta 2',
));

właśnie o to mi chodziło:) że z forma automatycznie pobierane są etykiety. ale pytanie czy i18n:extract wyciągnie te labele z pliku i wpisze je do pliku xml z tłumaczeniami?

dzięki.

konto usunięte

Temat: i18n

właśnie o to mi chodziło:) że z forma automatycznie pobierane są etykiety. ale pytanie czy i18n:extract wyciągnie te labele z pliku i wpisze je do pliku xml z tłumaczeniami?

Nie - trzeba je ręcznie wyciągać.

Następna dyskusja:

i18n w bazach danych




Wyślij zaproszenie do