_RVK_
Новичок
Многоязычная версия сайта (преобразование шаблонов утилитой sed)
Есть задача сделать англоязычную версию для существующего ресурса, причем версии могут отличаться не только языками, но и элементами дизайна. Предпологается что изначально таких различий бедет немного и они не будут глобальными. То есть 90% кода все таки будут идентичны.
У меня родилась идея использовать в качестве базовых шаблонов, шаблоны рускоязычной версии, а для англоязычной получать шаблоны преобразованием базовых.
Покопав немножко я обнаружил 2 уттилиты sed и awk. Возможности awk хороши, но выбор пал на sed, ибо его возможностей должно хватить. Попробовал на простом примере:
Тестовый базовый шаблон:
Прогоняем через такой sedовский скрипт:
И получаем на выходе нужный результат:
Собственно один раз написанный скрипт должен меняться очень редко. Чаще всего для добавления нового перевода.
Но вот что интересно. Когда я высказал подобную идею меня назвали извращенцем, и пояснили что это слишком сложное решение. А проще написать свой компилятор на PHP....
Для меня выгодность моего решения является очевидной. Я никогда не отличался уперстостью, и всегда мог признать собственную неправоту, если привести нормальные доводы. Мне внятных доводов паривести не смогли. Может кто нибудь незаинтересованный сможет оценить это решение?
Чем все таки оно извратно?
Есть задача сделать англоязычную версию для существующего ресурса, причем версии могут отличаться не только языками, но и элементами дизайна. Предпологается что изначально таких различий бедет немного и они не будут глобальными. То есть 90% кода все таки будут идентичны.
У меня родилась идея использовать в качестве базовых шаблонов, шаблоны рускоязычной версии, а для англоязычной получать шаблоны преобразованием базовых.
Покопав немножко я обнаружил 2 уттилиты sed и awk. Возможности awk хороши, но выбор пал на sed, ибо его возможностей должно хватить. Попробовал на простом примере:
Тестовый базовый шаблон:
PHP:
<html>
<table width="100%" border="1">
<tr>
<td>Ru</td>
<td>Сайт</td>
</tr>
</table>
<table width="100%" border="1">
<tr>
<td>Эта фраза будет переведена</td>
<td>
<div id='banner'>Этот банер должен быть вырезан</div>
</td>
</tr>
</table>
<table width="100%" border="1">
<tr>
<td></td>
<td><a href="http://mail.ru">Mail.ru</a></td>
</tr>
</table>
</html>
Код:
s/Ru/En/g
s/Сайт/Site/g
s/Эта фраза будет переведена/This phrase will be translated/g
s/<a href="http:\/\/mail.ru">Mail.ru<\/a>/<a href="http:\/\/yahoo.com">Yahoo.com<\/a>/g
s/<div id='banner'>Этот банер должен быть вырезан<\/div>/ /g
PHP:
<html>
<table width="100%" border="1">
<tr>
<td>En</td>
<td>Site</td>
</tr>
</table>
<table width="100%" border="1">
<tr>
<td>This phrase will be translated</td>
<td>
</td>
</tr>
</table>
<table width="100%" border="1">
<tr>
<td></td>
<td><a href="http://yahoo.com">Yahoo.com</a></td>
</tr>
</table>
</html>
Но вот что интересно. Когда я высказал подобную идею меня назвали извращенцем, и пояснили что это слишком сложное решение. А проще написать свой компилятор на PHP....
Для меня выгодность моего решения является очевидной. Я никогда не отличался уперстостью, и всегда мог признать собственную неправоту, если привести нормальные доводы. Мне внятных доводов паривести не смогли. Может кто нибудь незаинтересованный сможет оценить это решение?
Чем все таки оно извратно?