• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Angular tłumaczenie

VPS Starter Arubacloud
0 głosów
392 wizyt
pytanie zadane 21 marca 2020 w JavaScript przez michal_php Stary wyjadacz (13,700 p.)
Cześć.

Tworzę apke w Angular 9  i chciałby aby była dwujęzyczna. W sensie aby user mógł wybrać język tłumaczenia strony np: polski lub angielski.

Pytam o dobre praktyki jak to zrobić. Z góry dziękuje za wskazówkę.
komentarz 21 marca 2020 przez Aisekai Nałogowiec (42,190 p.)

https://angular.io/guide/i18n to powinno wystarczyć chyba :D

komentarz 22 marca 2020 przez michal_php Stary wyjadacz (13,700 p.)
A nie da się tego prościej zrobić ? Np.: w pipe określić tłumaczenie i dać zmienna , która definiuje jaki wybrać język dla pipe ?
komentarz 22 marca 2020 przez Aisekai Nałogowiec (42,190 p.)
Nie wiem, nigdy nie bawiłem się z internacjonalizacją. Ale, uważam, że za dużo miałbyś wtedy pipe'ów. Jeżeli miałbym samemu korzystać z internacjonalizacji, to jednak poszedłbym w to, co Angular oferuje. Pipe'ów do tego bym nie wykorzystywał.
komentarz 22 marca 2020 przez michal_php Stary wyjadacz (13,700 p.)

W sumie to miałby tylko jednego pipe :

html:

<p>
 {{ language | pipe-translation : 'teks po polsku' : 'text in english' }}
</p>

i w zależności jaki będzie ustawiony język wartość language obierze pewną wartość. Pipe natomiast pobierze oba argumenty i zwróci tylko ten , w zależności jaka będzie ustawiona wartość language.

Może to niezbyt wyrafinowane podejście , ale uważam ,że proste i skuteczne i mamy tylko jednego pipe.

komentarz 22 marca 2020 przez Aisekai Nałogowiec (42,190 p.)
Działać działa, ale po pierwsze language jak już to powinien być argument który przyjmuje pipe, nie obiekt traktowany jako value. Dwa, w każdym miejscu, gdzie masz teraz jakikolwiek tekst, w komponencie będziesz musiał mieć informacje o tym jaki język jest wybrany (oraz value które będziesz "pipe'ował"). Trzy, przekazywanie argumentu do funkcji, który ma zostać zwrócony, jest mocno podejrzane.
komentarz 22 marca 2020 przez JakSky Stary wyjadacz (14,770 p.)
Ja osobiście nie mam styczności z Angularem, ale robiłem już kilka stron gdzie jest wiele języków. Najlepiej to rozbić i stworzyć coś na zasadzie słowników. Najlepiej utworzyć osobny plik np. XML albo JSON i przechowywać w nim pary id oraz dane słowo w danym języku. Każdy osobny plik to oczywiście inny język(nie musisz wtedy pobierać jedno wielkiego pliku z kilkoma językami, gdy ktoś używa tylko jednego z nich).
komentarz 22 marca 2020 przez michal_php Stary wyjadacz (13,700 p.)

@Aisekai, W przypadku dwóch języków to nie będzie to takie trudne. 

komentarz 22 marca 2020 przez michal_php Stary wyjadacz (13,700 p.)
A jak to robisz ten słownik w senie ,że rozpoznaje , który język wybrać itp .
komentarz 22 marca 2020 przez JakSky Stary wyjadacz (14,770 p.)
Aktualnie ustawiony język trzymam w pliku cookie. Dzięki temu backend (u mnie to zawsze ASP.NET) też wie jaki jest ustawiony język w przypadku wysyłania żądania do serwera.

A słowa podmieniam za pomocą JS w momencie wczytywania się strony.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
1 odpowiedź 457 wizyt
0 głosów
0 odpowiedzi 120 wizyt
0 głosów
1 odpowiedź 603 wizyt

92,452 zapytań

141,261 odpowiedzi

319,074 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...