Предположим, структура файла локализации состоит из числового значения в качестве ключа и строки в качестве значения. Часть строкового значения может указывать на одну из локализованных строк внутри того же или другого файла следующим образом: [TPL:file:key]
,
Вот пример файла:
1 => "Common",
2 => "Advanced",
3 => "Greataxe",
4 => "[TPL:ITEM:1] [TPL:ITEM:3]",
5 => "[TPL:ITEM:2] [TPL:ITEM:3]"
Как я могу выполнить текстовый поиск в файле, как это? Скажи, что я хочу искать ced Gre
и получите результат № 5. Я вижу два возможных пути:
Эти файлы локализации хранятся как обычные файлы, так как они используются при каждом запросе для создания веб-страницы. Первый способ — выполнить поиск с использованием PHP, а не делегировать его MySQL. Однако я не уверен, как эффективно это делать, не говоря уже о том, что каждый файл содержит около 20-50 тыс. Пар.
Другой способ — обработать все файлы, заменив шаблоны фактическими строками, сохраняя итоговый список в MySQL и используя его для поиска. Однако это был бы плохой путь, потому что файлы обновляются примерно каждую неделю.
Задача ещё не решена.
Других решений пока нет …