Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Języki w aplikacji
adbacz
post 14.01.2017, 18:24:21
Post #1





Grupa: Zarejestrowani
Postów: 524
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Piszę aplikację w której potrzebuję mieć języki, osobno dla treści edytowanej przez użytkowników, i osobno dla panelu administracyjnego. Będą nim zarządzać osoby z różnych krajów a i sama strona będzie zawierała treści w różnych językach. Wiem jak rozwiązać języki w treściach w bazie danych, i języki UI w plikach językowych. Problemem dla mnie jest rozgraniczenie w aplikacji tych dwóch wartości.

1. Jak nazwać obydwa języki? UILanguage i ContentLanguage? Może ktoś już kiedyś coś wymyślił, tylko ja tego nie znalazłem w G?
2. Znalazłem jakiś artykuł w którym ktoś pisał o language i locale. Czym to się różni? Czy to jest rozwiązanie mojego problemu?
3. Jak to rozwiązać w postaci kodu? Obydwie te rzeczy powinny mieć swoje własne klasy? Może jedną, jako Language|Localisation a w niej dopiero rozgraniczenie pomiędzy te dwa typy?

Języki UI i języki treści będą oczywiście inne. Języki treści będą dodawana dynamicznie przez panel administracyjny, ale pliki językowe UI będą dodawane tylko przez developerów, więc będą to dwie osobne listy języków.


--------------------
PHPCenter.pl - Portal Informacyjny

Informacje o PHP, Artykuły, Aktualności, Wydarzenia, Biblioteki
Go to the top of the page
+Quote Post
kpt_lucek
post 14.01.2017, 19:17:26
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


W Symfony masz coś takiego, co nazywa się DOMAIN. W praktyce komponent http://symfony.com/doc/current/translation.html


--------------------


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post
adbacz
post 15.01.2017, 18:49:57
Post #3





Grupa: Zarejestrowani
Postów: 524
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Dziękuję za odpowiedź, ale to troszkę mija się z moim problemem. Jak już wspominałem, wiem jak rozwiązać tłumaczenia w plikach językowych.


--------------------
PHPCenter.pl - Portal Informacyjny

Informacje o PHP, Artykuły, Aktualności, Wydarzenia, Biblioteki
Go to the top of the page
+Quote Post
phpion
post 15.01.2017, 20:42:32
Post #4





Grupa: Moderatorzy
Postów: 6 062
Pomógł: 857
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Nie bardzo wiem po co to rozgraniczać. Wersja językowa to wersja językowa, nieważne czy dla użytkowników czy administratorów. Dotyczy to zarówno treści definiowanych w panelu (baza danych) jak i zwykłych statycznych komunikatów (pliki lub też baza danych). Skoro administratorzy bedą mieć prezentowane treści w zależności od swojego języka to czym to sie różni od zwykłych użytkowników? Administrator to taki sam użytkownik tylko ze z większymi uprawnieniami. Opisz może bliżej problem bo w sumie nie do końca wiadomo o co chodzi.
Go to the top of the page
+Quote Post
adbacz
post 15.01.2017, 21:52:16
Post #5





Grupa: Zarejestrowani
Postów: 524
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Załóżmy taką sytuację (nie rozgraniczamy tych języków):

Mamy panią Kasię z sekretariatu, która ma za zadanie uzupełnić stronę podanymi danymi (artykuły, kontakt i parę innych zakładek) z podanych plików DOC. Pani Kasia się loguje, wrzuca język Niemiecki i dostaje jebca, bo cały Panel jej zmienił język. A ona chciała tylko wrzucić artykuł o firmie w języku niemieckim, a tak na prawdę ma Panel w języku niemieckim i ma zagwozdkę, czy ona coś popsuła, jak teraz to cofnąć. Musi zmieniać z powrotem na polski, wejść w odpowiednie miejsce w Panelu, zmienić ponownie język na niemiecki i wrzucić treść. A co jeśli zapomni wrzucić tytułu, i pokaże jej się komunikat o błędzie w języku niemieckim, bo akurat edytowała język niemiecki?

Mam nadzieje, że to rozwieje wątpliwości zmiany języka, osobno dla treści i osobno dla UI.

Ten post edytował adbacz 15.01.2017, 21:54:39


--------------------
PHPCenter.pl - Portal Informacyjny

Informacje o PHP, Artykuły, Aktualności, Wydarzenia, Biblioteki
Go to the top of the page
+Quote Post
Pyton_000
post 15.01.2017, 21:56:53
Post #6





Grupa: Zarejestrowani
Postów: 7 809
Pomógł: 1373
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Ale jaki masz problem bo nie bardzo rozumiem?

Język dla treści definiujesz przy treści, a język dla UI w tabeli z tłumaczeniami dla UI
Go to the top of the page
+Quote Post
phpion
post 16.01.2017, 06:54:20
Post #7





Grupa: Moderatorzy
Postów: 6 062
Pomógł: 857
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Juz widzę w czym problem: uzależniasz język wprowadzanej przez administratora treści od języka panelu. Ja zawsze robiłem to niezależne tj. w zasadzie obsługiwałem tylko język panelu. Wprowadzanie treści robiłem w ten sposób, ze dla listy zdefiniowanych języków tworzyłem pola formularza. Przykładowo jeśli mam do wprowadzenia tytuł i treść, a system obsługuje 3 języki to łącznie wyświetlam 6 pół - po 2 dla każdego języka. Języki grupuje w zakładki (np. JQuery UI) wyświetlając w tabach flagi obrazujące język. Domyślny język zawsze miał ustawioną walidacje na wymagalność, dla pozostałych pola były opcjonalne.
Go to the top of the page
+Quote Post
adbacz
post 16.01.2017, 13:07:21
Post #8





Grupa: Zarejestrowani
Postów: 524
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Cytat(phpion @ 16.01.2017, 06:54:20 ) *
uzależniasz język wprowadzanej przez administratora treści od języka panelu.


Ale napisałem na początku, że chcę to zrobić niezależne.

Potrzebuję tyko pomysłu na to, jak to spiąć w kodzie, samo zarządzanie językami, przechowywanie listy języków.
Napisałem już, że mam ogarnięte pliki językowe i przechowywanie w bazie danych.


--------------------
PHPCenter.pl - Portal Informacyjny

Informacje o PHP, Artykuły, Aktualności, Wydarzenia, Biblioteki
Go to the top of the page
+Quote Post
Puszy
post 16.01.2017, 15:03:28
Post #9





Grupa: Zarejestrowani
Postów: 278
Pomógł: 42
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


Cytat(adbacz @ 16.01.2017, 13:07:21 ) *
Ale napisałem na początku, że chcę to zrobić niezależne.

Potrzebuję tyko pomysłu na to, jak to spiąć w kodzie, samo zarządzanie językami, przechowywanie listy języków.
Napisałem już, że mam ogarnięte pliki językowe i przechowywanie w bazie danych.


Phpion podał Ci rozwiązanie, wyświetlasz n pól formularza przy n języków lub robisz <select> z formularzu który zmienia język danych pól.

Poniżej rozwiązanie które stosuję.



Ten post edytował Puszy 16.01.2017, 15:06:17
Go to the top of the page
+Quote Post
adbacz
post 16.01.2017, 16:01:22
Post #10





Grupa: Zarejestrowani
Postów: 524
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Może ja źle tłumaczę. Chodzi mi o kod PHP, rdzenia systemu. Pomysł na wdrożenie tego w OOP. Nie o kod HTML i widoki dla użytkownika :/

PS. Wszystko jest zawarte w 3 pytaniach na początku tematu, nie wiem już jak to inaczej opisać.

Ten post edytował adbacz 16.01.2017, 16:02:10


--------------------
PHPCenter.pl - Portal Informacyjny

Informacje o PHP, Artykuły, Aktualności, Wydarzenia, Biblioteki
Go to the top of the page
+Quote Post
Puszy
post 17.01.2017, 12:05:51
Post #11





Grupa: Zarejestrowani
Postów: 278
Pomógł: 42
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


Cytat(adbacz @ 16.01.2017, 16:01:22 ) *
Może ja źle tłumaczę. Chodzi mi o kod PHP, rdzenia systemu. Pomysł na wdrożenie tego w OOP. Nie o kod HTML i widoki dla użytkownika :/

PS. Wszystko jest zawarte w 3 pytaniach na początku tematu, nie wiem już jak to inaczej opisać.


No to ja nie rozumiem. Jeżeli obecnie korzystasz z i18n no to problem interfejsu masz z głowy. A dane które wprowadza użytkownik udźwignij w ten sposób który Ci pokazałem od strony kodu to jest zwykły formularz z tym że pola generowane są dynamicznie foreachem po aktywnych językach. Odpowiednie ustawienia pól formularza, walidacja pól językowych, flush do bazy i ot tyle.
Go to the top of the page
+Quote Post
adbacz
post 17.01.2017, 16:13:06
Post #12





Grupa: Zarejestrowani
Postów: 524
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Przepraszam, ale czy:
Cytat
A dane które wprowadza użytkownik udźwignij w ten sposób który Ci pokazałem od strony kodu to jest zwykły formularz

to jest to samo co:
Cytat
Chodzi mi o kod PHP, rdzenia systemu. Pomysł na wdrożenie tego w OOP. Nie o kod HTML i widoki dla użytkownika

?

Poddaje się...


--------------------
PHPCenter.pl - Portal Informacyjny

Informacje o PHP, Artykuły, Aktualności, Wydarzenia, Biblioteki
Go to the top of the page
+Quote Post
Puszy
post 17.01.2017, 16:52:04
Post #13





Grupa: Zarejestrowani
Postów: 278
Pomógł: 42
Dołączył: 10.10.2011

Ostrzeżenie: (0%)
-----


Cytat(adbacz @ 17.01.2017, 16:13:06 ) *
Przepraszam, ale czy:

to jest to samo co:

?

Poddaje się...


Jeżeli dla Ciebie obsługa formularzy to HTML to ja się poddaję.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.09.2019 - 21:28