ПредишенСледващото

И тъй като 00 години, нито една от които не се е променила драстично. Ако четете kamenty, става ясно, че някои от хората, изобретяваме колелото в проекта им и да ги оставят в какво служи резултат. По принцип правя със задачи и i18n модул се обърна gettext.

Бих препоръчал това. gettext използва за рядко се променя информация. Меню, различни надписи правят чрез него. Това дава редица предимства:

1) Форматът на съществуващите в продължение на много години и работи върху голямо разнообразие от платформи. Това означава, че тя ще бъде ясно за всеки, който знае за него, дори и ако някой не е запознат с, в които писмено системата на езика. Т.е. всички предимства на стандарти. С велосипеди също трябва да продължава да razbiratsya как работи.

2) кеширане. gettext активно keshitsya RAM.

3) изобилието на софтуер за преводачите.

4) Подкрепа за няколко номера. Не всички мотори мислят за него във формата, в която се извършва в gettext-е.

5) какво служи подкрепа в темплейт двигателя.

6) С какво служи-то можете да работите не само от PHP. Действително на разнородни проекти.

Но в съдържанието често се препоръчва да се отведе до ниво база данни. Аз лично ползване за всеки език отделна таблица. Плюс това, в сравнение с място за съхранение в една колона - без ALTER-ите при добавяне / премахване на език.

Харесва ми опцията, когато
$ Lang [ 'mTitle'] "Начало '=;
$ Lang [ 'mAbout'] = 'За нас';

Първо, той се обажда на оригиналния език, а след това на текущия език, ако е различно от оригинала. По този начин, ако прехвърлянето и няма да можете да получите нищо.
Въпреки че PHP успешно използват gettext (напр phpmyadmine), но е по-трудно да се влезе. Необходими са Utilities, от които изобилстват на различни системи.

Аз съм привърженик на низови константи, т.е. конструкции като i18n :: получават ( "Hello% е!", $ потребителско име), или съкратено л ( "Hello% S ', $ потребителско име). Но аз съм с помощта на имена за струни, вместо глобално съхранение. Реализирани много прост (открита, чете, да добавяте, консервирани), и удобен за новия ред автоматично се добавя към мястото на имената и се съхранява.


Лично за себе си, във всеки i18n мисля, че е важно да се внасят и изнасят места (преди употреба CSV, но поради проблеми с UTF включите PO), подкрепа на словообразуване на различни езици (1 ябълка, 2 ябълки, 6 ябълки), кеширане и ускорена (чрез мета структура) локализация файлове виждат.


За съжаление, всичко това е част от рамката, но при поискване мога да изпращате файлове с обяснения.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!