Как справиться с локализацией имен контроллеров? - PullRequest
4 голосов
/ 08 мая 2009

Я управляю сайтом, на котором важно иметь хорошие и простые URL-адреса, которые необходимо локализовать.

Пример для английской версии: example.com/car/?type=fiat

Пример для шведской версии: example.se/bil/?typ=fiat (бил на шведском языке)

И, конечно же, я хотел бы обработать все эти URL из одной и той же кодовой базы. Каков наилучший способ справиться с этим?

Должен ли я установить несколько контроллеров (CarController, BilController) или есть более «чистый» способ обработки локализованных имен контроллеров?

BR Никлас

Ответы [ 2 ]

1 голос
/ 08 мая 2009

Не делай этого. Когда-либо.

Microsoft, действительно большая, мощная и находчивая компания, попробовала это с помощью Excel. В английских версиях Excel вы используете IF() в формулах. В немецкой версии это WENN(). По-французски, это QUAND(), я думаю. В Японии это, вероятно, ば(). Теперь представьте, что кто-то из Японии отправляет мне лист Excel ... Есть два варианта:

  1. «Извините, я не могу открыть этот файл»
  2. Перевести все имена на лету

Выполнение # 2 кажется достаточно простым ... пока вы не наткнетесь на слово, которое использует те же буквы, но имеет разное значение в двух языках. Пример "смотри". Означает «смотреть» на английском и «озеро» на немецком. Поскольку вы не знаете всех языков мира, у вас нет возможности выяснить, какие столкновения у вас возникнут, пока не стало слишком поздно.

Кроме того, как вы знаете, какое имя использовать? С языка в браузере? Или вы ненавидите своих международных клиентов, которые иногда используют основной сайт Швеции? Как вы относитесь к азиатским языкам? Будет ли URL-адрес server/%E6%AC%80%E6/?%AD%81%E6%AB=fiat?

Не. Делать. Тот. Когда-либо.

0 голосов
/ 08 мая 2009

А как насчет переписывания URL в зависимости от домена? Таким образом, Zend Framework будет получать только английские имена, в то время как URL может использовать локализованные имена.

...