Извините, но учебник, на который вы полагаетесь, - это только верхушка айсберга.
Если вы хотите сделать что-то на 100% открытое, легкое и быстрое, делайте как я (дерзость)в разобранном виде):
1 - создать очень файл простых языков, например файлы "ini", содержащие только ассоциации, например:
text1 = my text
text2 = my text2
text3 = my text3
email_customer = Dear customer
...
Таким образом, вы сможетечтобы перевести это очень легко.
2 - Затем создайте файл кэша "php", который создаст файл "class", который вы включите.3 - Создайте файл класса "php" для переводчика, который будет содержать материал для перевода.В нем вы можете написать такой код:
if language file more recent than cache file
=> create cache file
...
code to generate "language cache file"
...
include "language cache file"
...
3 - База вашего языкового файла на хосте: используйте $_SERVER['HTTP_HOST']
.Вот как я это делаю:
- if it's "fr.mysite.com" => it's french language
- if it's "es.mysite.com" => it's spanish language
- ... and so on ...
- if it's "www.mysite.com" => it's default language (your choice)
Шаг № 1 очень важен, потому что вы выиграете много времени, просто отправив соответствующие файлы переводчикам.Больше никаких головных болей.Вы потратите 2-3 дня, чтобы написать его, вы получите 4-5 дней для каждого нового языка.
И для последней (и самой сложной) проблемы: (К вашему сведению, я в четвертый раз переписываю свойвся структура, включающая эти вещи, и то, что я объясняю здесь, представляет собой много месяцев разработки, даже если это кажется простым): многоязыковые файлы.Вот как выглядит мой каталог:
templates/
|-- common
| |-- css
| |-- htm
| | `-- intranet
| |-- img
| |-- js
| | `-- openid
| |-- pdf
| `-- txt
|-- fr
| |-- css
| |-- htm
| |-- img
| |-- js
| |-- pdf
| `-- txt
`-- us
|-- css
|-- htm
|-- img
|-- js
|-- pdf
`-- txt
И в своем коде "файл класса переводчика" сделайте что-то вроде:
...
include "language cache file"
...
**after the include**
...
function get_expanded_path_file() {
if file exists in language template directory
return full "language" path + filename
if file exists in "common" template directory
return full "common" path + filename
return "/" filename
}
...
Теперь я надеюсь, что вы поняли всю идею.Если вы хотите увидеть реальное действие такой платформы, взгляните на мой последний веб-сайт (удалите мою ссылку, если вы считаете, что это спам или что-то в этом роде): mysite Если вы будете мудро использовать мой совет с чем-то вроде Smarty, выможет в конечном итоге, как я: просто сделать базовый файл Php, и позволить все переводчикам, и веб-дизайнер.К вашему сведению, этот сайт занял у меня две недели, 1 день, чтобы перевести на французский и испанский, и ... 3 недели, чтобы согласиться с веб-дизайном (смеется (или сарказм, который знает)) !!!
Надеюсь, этопомогает