У меня есть веб-приложение, построенное на основе codeigniter. Это прежде всего на английском языке, но теперь я хочу добавить поддержку и для других языков.Интернационализация PHP-приложения Codeigniter с использованием таблицы Excel
Я знаком с библиотекой языка CodeIgniter в: http://codeigniter.com/user_guide/libraries/language.html
Который кажется довольно хорошее решение, однако у меня есть одна проблема. Для каждого языка вы должны создать отдельный файл операторов $ lang [KEY] = VALUE. Это означает, что, если я хочу, чтобы мой испанский говорящий друг помог мне перевести мое приложение, он должен открыть другой файл рядом с тем, над которым они работают. Это может быть довольно легко потерять следы вашей позиции.
Я хотел бы перевести это с помощью электронных таблиц подход (CSV), картина что-то вроде этого:
Какие пути я мог бы идти о выполнении этого? Я рассмотрел создание «главной» таблицы для приложения, а затем написал программу php для командной строки для анализа файла csv и создания соответствующих языковых файлов, которые я бы вставлял в свое приложение. Есть ли способ лучше?
... как насчет использования базы данных, мм? –
Я не против этого, но не использовал бы базу данных немного дороже, чем чтение из локального файла на сервере приложений? (время обратного хода запроса базы данных) –
С помощью db вы можете загружать все переводы для языка за один раз или использовать кеш, или вы можете загружать только нужные части для одной страницы (возможно, используя идентификатор столбца). .. С CSV-подобным файлом вам нужно открыть/прочитать/разбор/процесс, чтобы извлекать данные каждый раз, когда вам нужна одна строка. DB может быть оптимизирована, и она должна работать так. Если вы останетесь со своими сомнениями, вы всегда можете попробовать оба подхода и бенчмарк –