Mysql
 sql >> Baza danych >  >> RDS >> Mysql

internacjonalizacja strony php

Istnieje wiele sposobów radzenia sobie z tym problemem. Żaden z nich nie jest „najlepszy sposób” i wszyscy mają problemy w perspektywie krótko- lub długoterminowej. Pierwszą rzeczą do powiedzenia jest to, że strony wielojęzyczne nie są łatwe, tłumacze i wspaniali ludzie, ale ciężko się z nimi pracuje, a większość programistów postrzega problem wyłącznie jako techniczny. Istnieje również inny wymiar, poza zakresem tej odpowiedzi, dotyczący tego, czy tłumaczysz, czy lokalizujesz. Obejmuje to przyjrzenie się obyczajom kulturowym docelowych odbiorców, a następnie dostosowanie języka, stylu, układu, koloru, kroju pisma itp. do tej kultury. Wreszcie, nie używaj MT, tłumaczenia maszynowego, do niczego poważnego lub jeśli musi być dokładne, a pozyskując tłumaczy, upewnij się, że tłumaczą z języka obcego na swój język ojczysty, co oznacza, że ​​rozumieją wszystkie niuanse języka docelowego.

Prawidłowy. Rozwiązania. Zakładając, że nie chcesz przepisywać witryny, po prostu sklonuj witrynę, którą masz i przetłumacz jej kopie na język docelowy. Zakładając, że baza kodu jest stabilna, możesz użyć VCS do zarządzania wszelkimi zmianami w kodzie. Możesz dostosować poszczególne części witryny, aby pasowały do ​​języka docelowego, na przykład tekst francuski jest średnio o 30% większy niż odpowiednik tekstu w języku angielskim, więc korzystanie z jednej witryny do dostarczania tego oznacza, że ​​możesz (będzie) mieć problemy z formatowaniem i będziesz musiał zamienić różne pliki css wchodzące i wychodzące w zależności od języka. Może się to wydawać niezręcznym sposobem, ale jak długo będą istnieć witryny? Narzut kierownictwa związany z robieniem tego w ten sposób może być mniejszy niż w przypadku innych opcji.

Drugi sposób bez przebudowy. Zastąp całą zawartość bieżącej witryny tagami, a następnie umieść inny język w plikach lub tabelach bazy danych, powąchaj żądany język użytkownika (czy masz zarejestrowanych użytkowników, którzy mogą wybrać preferencje, czy chcesz uzyskać tag języka przeglądarki, czy będzie to adres URL kropka-com kropka-fr, kropka-de, które dokonują wyboru), a następnie zastąp tagi językiem docelowym. Następnie musisz osobno zająć się problemami z rozmiarami i obrazami. To rozwiązanie działa, gdy frameworki takie jak Symfony i Zend robią, aby zaimplementować l10n.

Następnie możesz przebudować za pomocą frameworka lub za pomocą gettexta i być może uzyskać czystsze rozwiązanie, ale pamiętaj, że frameworki zostały zaprojektowane do rozwiązywania innych problemów, a nie tłumaczenia, a komponent translacji pojawił się we frameworku jako rozwiązanie częściowe, a nie pełne.

Dużym problemem wszystkich rozwiązań jest ciągła konserwacja. Ponieważ nie tylko masz bazę kodu, ale także wiele baz językowych do utrzymania. O ile wszystko w jednym rozwiązaniu nie jest naprawdę sprytne i skuteczne, to bieżące zadanie będzie trudne.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyłącz ograniczenie klucza obcego Doctrine

  2. Jak wybrać dane z tabeli par klucz-wartość

  3. Czy aktualizujesz tylko zmienione pola czy wszystkie pola?

  4. Sequelize:Rodzic z co najmniej jednym dzieckiem

  5. Błąd przygotowanej instrukcji mysql:MySQLSyntaxErrorException