![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 9 Dołączył: 18.06.2013 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Po raz pierwszy wrzucam translację do projektu i mam z tym drobne problemy. Polega on na tym, że jak robię to w ten sposób: $translator->trans('some_translation', array(), 'domain') To wszystko idzie, a bez podania domeny nie śmiga. A więc pytanie, jak zarejestrować domenę, żeby nie było potrzeby podawania jej przy wywoływaniu translacji? Interesuje mnie zainteresowanie paru domen. Coś w stylu, że rejestrujemy je w config.yml. Inna sprawa, że pewnego czasu pracowałem nad projektem, który korzystał z translacji na podanych przeze mnie zasadach(czyli bez podawania domeny), ale za cholerę nie mogłem znaleźć gdzie te domeny zostały zarejstrowane. Ten post edytował BigPig 18.07.2015, 18:07:23 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 22 Dołączył: 20.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie da sie zmienic, zeby domyslna domena byla inna: https://github.com/symfony/Translation/blob...slator.php#L208
Trzebaby je przekazywac za kazdym razem. Jezeli po raz pierwszy wrzucasz translacje to polecam jeszcze raz przeczytac dokumentacje translacji w symfony i dokumentacje komponentu translacji. Domeny sa uzyteczne w takiej formie, Ty chcialbys je usunac poprzez ladowanie wszystkiego do jednej. Nie ma takiej opcji konfiguracji translatora o jakiej mowisz, ale translator posiada metode addResource: https://github.com/symfony/Translation/blob...slator.php#L129 Zakladajac ze uzywasz plikow yml masz juz zarejestrowany loader 'yml', wiec wystarczy dodawac sciezki z tlumaczeniami. Zakladajac, ze masz nastepujace pliki translacji: $ cat app/Resources/translations/messages.en.yml key: one i $ cat app/Resources/sample.yml key: translatedKey Po wywolaniu gdzies w template {{ 'key'|trans }} dosaniemy: one. Teraz wystarczy dodac nasz customowy plik sample.yml poprzez addResource do translatora, np w kontrollerze:
Nie podajac domeny pliki zostana dodane do domeny messages, czyli domyslnej. Oczywiscie, jesli ma to byc robione zawsze to lepiej uzyc compiler pass. W AppBundle dodajemy pass:
i w samym compiler passie dodajemy resource do translatora:
Wtedy juz bedziemy dostawac z {{ 'key'|trans }} wynik: translatedKey. Zeby nie ptrzeba bylo dodawac kazdego pliku osobno mozna pomyslec nad wyszukaniem wszystkich plikow w folderze albo dodaniem sobie opcji konfiguracji plikow i ladowanie tutaj wszystkich potrzebnych pod jedna domene. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 06:30 |