Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Локализация через файл
Форумы портала PHP.SU » » Вопросы новичков » Локализация через файл

Страниц (1): [1]
 

1. pantela - 03 Июня, 2016 - 00:47:48 - перейти к сообщению
Имею яз. файлы для локализации, в каторых массив виде
PHP:
скопировать код в буфер обмена
  1. return array(
  2.         'categories'=>'Категории',
  3.         'user_confirm pass'=>'Повтор пароля',
  4.         'user_pass'=>'Пароль',
  5. );


В админ части требуеться сделать модуль через который можно будет выполнять Удаление, Добавление, Редактирования содержание массива.

Как... Может готовая библиотека есть... Растерялся

спс.Ув.
2. Botik - 03 Июня, 2016 - 00:59:06 - перейти к сообщению
Вот вам быдло-код Улыбка
Для нормальной реализации можете либо токарным станком пройтись либо библиотеки поискать в инете Улыбка
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. // получаем массив
  3. $data = include('./lang/ch.php');
  4.  
  5. // Редакттируем
  6. $data['categories'] = 'Хыхки';
  7.  
  8. // Сохраняем
  9. $from_file = [];
  10.  
  11. foreach ($data as $k => $v) {
  12.   $from_file[] = '  \''.$k.'\' => \''.$v.'\'';
  13. }
  14.  
  15. file_put_content('./lang/ch.php', '<?PHP
  16. return array(
  17. '.implode(',
  18. ', $from_file).'
  19. );');
3. IllusionMH - 03 Июня, 2016 - 02:00:37 - перейти к сообщению
pantela, а не лучше ли сделать файл в любом читаемом формате и просто парсить/сохранять его, вместо велосипедов с пых файлами?
К примеру JSON (можно будет даже на клиент послать и рендерить частично на клиенте сразу с локализацией) или CSV (сталкивался с тем что переводчикам так было проще всего их редактировать)
4. Мелкий - 03 Июня, 2016 - 09:06:10 - перейти к сообщению
INI-файлы ещё проще. Правда, в ядре нет функции записи ini-файла, но в комментариях к parse_ini_file есть сколько-то примеров готовых.

Botik пишет:
Вот вам быдло-код

Заменить извращения с циклом на var_export и пойдёт.
5. pantela - 03 Июня, 2016 - 12:51:57 - перейти к сообщению
Как я опсиал так работает локализация в фреймоврке Кохана, поэтому мне надо под неё сделать инструмент.

Botik пишет:
Вот вам быдло-код
Для нормальной реализации можете либо токарным станком пройтись либо библиотеки поискать в инете

спс, но я так понимаю определённую переменую я не смогу изменить...
т.е. надо вроде: Вижу переменные виде списка, нажимаю на определённые и перехожу в редактировании его значения, ну и при сохранении файл обновляет это значение... Растерялся
6. IllusionMH - 03 Июня, 2016 - 12:59:23 - перейти к сообщению
pantela, я не верю что там "только файл с массивом иначе хрен". Всё равно там лоден быть метод получаения объекта с переводами. Его и нужно переопределить на адекватный который не просто инклюд, а прочтет/распарсит и вернет массив.

В крайнем случае можно прям в этом файле чтение/парсинг сделать и в конце вернуть результат.
7. pantela - 05 Июня, 2016 - 00:54:40 - перейти к сообщению
Ну файл каторый парсит этот яз. файл ясно, но мне надо свой модуль сделать для редактирования только одной записи...
Хотяб направление кода мне увидеть, теоритичекий ясно всё...
8. pantela - 08 Июня, 2016 - 14:25:14 - перейти к сообщению
Появилось идея, на сколько верно...
Напр. при попытке редактировать значение или ключь, подгружать файл в БД. от туда потом делать редактирование, и далее потом билдить файл заного... Закатив глазки

 

Powered by ExBB FM 1.0 RC1