У меня есть решение для Cakephp2.0, которое, возможно, тоже работает с Cakephp1.3, также я никогда не тестировал. Вы должны переименовать вещи и редактировать некоторые вещи, но это может сработать.
В случае: я рекомендую вам обновить Cakephp2.0 до тех пор, пока вы находитесь в раннем состоянии вашего проекта. 1.3 устарела с тех пор, как Cakephp2.1 был наконец выпущен.
Я прошел этот процесс обновления два или три раза, и это день работы, может быть, два. В моем случае это перезапущенный проект с нуля. Я не очень доверяю этой обновленной оболочке, хотя она действительно отлично работает.
Короче говоря.
Мой метод включает перезапись существующего TranslateBehavior, добавление нового TranslationBehavior, помощника и компонента.
Вот архив с файлами.
http://www.func0der.de/cakephp/MultiLanguageForms.zip
Как только я пойму, как правильно использовать GIT, я отправлю запрос им.
Билет с файлами уже находится в: http://cakephp.lighthouseapp.com/projects/42648/tickets/2463-multi-language-forms#ticket-2463-4;)
Использование довольно просто.
В контроллере вы включаете компонент и помощник. Модели получают перевод и перевод. Translatio идет первым из-за обратного вызова. Но скрипт все равно будет выдавать исключение.
Компонент сам найдет все языки, существующие в папке «Locale», и сохранит их в классе Configure.
В представлении вы используете $ this-> Translation-> input ('Modelname.field') ;.
Название модели важно, потому что я еще не нашел способ определить это автоматически, потому что я не уверен, совпадает ли экземпляр FormHelper в моем помощнике с представлением. И у меня есть утечка времени. ^^
Поведение перевода подтвердит КАЖДУЮ! языковых полей на основе имени поля.
Если есть какие-либо вопросы: Задайте вопрос ^^
Я не часто бываю здесь, постараюсь взглянуть на этот вопрос;)
Поздравления
func0der