<![CDATA[ В помощь переводчикам ;) - My Forums]]> https://forums.modx.com/thread/?thread=63021 <![CDATA[Re: &#1042; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1087;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076;&#1095;&#1080;&#1082;&#1072;&#1084; ;)]]> https://forums.modx.com/thread/63021/#dis-post-371869 Насчет строк на входе и выходе, согласись, если у нас на входе $_lang[en_str] = en_value то на выходе у нас будет строка в точности такого же формата, $_lang[ru_str] = ru_value, но никак не $string[ru_str] = ru_value или define(ru_str, ru_value)
В целом, оно конечно же так. Но если сделать так, чтобы и входной и выходной шаблон описывались одной строкой, то как тогда распарсить исходный текст? Положим, задали мы регулярку для импорта:
$_lang[’{{str_alias}}’] = ’{{string}}’;
В таком случае, из файла быдут вычитаны только те строки, у которых индекс массива обязательно в апострофах, строка также заключена в апострофы, и знак "=" отделен пробелами. Все другие строки пройдум мимо.
А насчет таблицы я думал)) возможно, так и сделаю, просто в файлах модикса видел довольно большие тексты, посему и решил сделать пока так.
Но все равно, спасибо за конструктивные предложения. Все учту и обдумаю.)))]]>
toxxic Feb 11, 2007, 06:03 AM https://forums.modx.com/thread/63021/#dis-post-371869
<![CDATA[Re: &#1042; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1087;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076;&#1095;&#1080;&#1082;&#1072;&#1084; ;)]]> https://forums.modx.com/thread/63021/#dis-post-371868 Quote from: toxxic at Feb 10, 2007, 09:21 PM

...
И еще, уважаемый Metaller, ты не мог бы подсказать какими утилитами ты пользовался?

Ну в общем-то да, со многим сказанным согласен, но может стоит сначала сделать работоспособную версию для того же МОДх, а потом уже продолжить развивать вширь, а не пытаться с нуля сделать нечно универсальное.

Насчет строк на входе и выходе, согласись, если у нас на входе $_lang[en_str] = en_value то на выходе у нас будет строка в точности такого же формата, $_lang[ru_str] = ru_value, но никак не $string[ru_str] = ru_value или define(ru_str, ru_value)

Извини, если туплю и может понимаю что-то не так.

По поводу утилит, после твоей программы они нервно курят в углу wink В общем-то я имел ввиду утилитку на PHP которая была встроена в движок и занималась тем же, что на основе регулярных выражений так же выводила исходный и целевой файл.

Правда там было несколько поудобнее, как мне кажется сделано. Сейчас в программе слева идет список языковых констант, а справа сверху и снизу большие окна для редактирования. Я думаю такие большие окна не нужны, потому что обычно каждая строчка имеет очень небольшую длину. Может имеет смысл выводить все в 3 столбца - 1 столбец название языковой константы, второй столбец - исходный текст (причем только для чтения) и третий окна для редактирования. Вот скрин.]]>
Metaller Feb 11, 2007, 01:44 AM https://forums.modx.com/thread/63021/#dis-post-371868
<![CDATA[Re: &#1042; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1087;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076;&#1095;&#1080;&#1082;&#1072;&#1084; ;)]]> https://forums.modx.com/thread/63021/#dis-post-371867 По поводу шаблонов экспорта и импорта: на мой взгляд одинаковыми они быть никак не могут, ибо шаблон импорта задает лишь общий вид строки. Он служит лишь для того, чтобы приблизительно указать как должны выглядеть строки файла и где следует искать идентификатор строки и саму строку. Ведь учитывая, что файл мог быть создан и ручками, а значит, где-то могут быть пробелы, где-то будут отсутствовать, кто-то любит пользовать апострофы для строковых значений, а кто-то кавычки. Именно поэтому и были использованы регулярные выражения. А вот генерируемый файл имеет вполне определенный формат, посему здесь регулярки ни к чему.
А чтобы иметь возможность работать с другими форматами языковых файлов шаблоны экспорта и импорта вынесены в настройки программы. Хотите работать с define? Пожалуйста:
Шаблон импорта (упрощен):
\s*define\s*\(\s*[’"]?{{str_alias}}[’"]?\s*,\s*[’"]?{{string}}[’"]?\s*\)
Шаблон экспорта:
define( ’{{str_alias}}’, ’{{string}}’ );

А насчет комментов надо подумать. Как реализовать проверку... Дело в том, что я не привязываюсь к обработке файлов определенного формата. Идеая была в создании программы, которую легко было бы использовать для обработки любых языковых файлов, и чтобы для этого достаточно было лишь поменять опции.

И еще, уважаемый Metaller, ты не мог бы подсказать какими утилитами ты пользовался?
]]>
toxxic Feb 10, 2007, 03:21 PM https://forums.modx.com/thread/63021/#dis-post-371867
<![CDATA[Re: &#1042; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1087;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076;&#1095;&#1080;&#1082;&#1072;&#1084; ;)]]> https://forums.modx.com/thread/63021/#dis-post-371866
Что увидел на вскидку - надо бы сделать возможность сохранения Import и Export template в виде списка и сделать стандартный список шабонов для самых распространенных вариантов. $_lang[str]=val, $strings[str]=val - эти оба варианта кстати можно заменить одним регулярным выражением. Кроме того возможен вариант define(str, val) и т.д.

А вообще не совсем понятно назначение Export template - и так понятно что шаблон на выходе будет таким же как и шаблон на входе.

Кроме того программа не распознает закомментированные строки, если в исходном файле будет строка
// $_lang[str]=val
то в целевой файл она попадет уже раскомментированной
$_lang[str]=val

Как пожелание - было бы неплохо сохранять в настройках например данные о переводчике (имя, сайт, емайл), чтобы они автоматом вставлялись в переведенный файл. Ну и сохранение целевого файла в том же формате что и исходный (расширение, < ? php ? >).]]>
Metaller Feb 10, 2007, 01:25 PM https://forums.modx.com/thread/63021/#dis-post-371866
<![CDATA[Re: &#1042; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1087;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076;&#1095;&#1080;&#1082;&#1072;&#1084; ;)]]> https://forums.modx.com/thread/63021/#dis-post-371865 toxxic Feb 10, 2007, 09:07 AM https://forums.modx.com/thread/63021/#dis-post-371865 <![CDATA[Re: &#1042; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1087;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076;&#1095;&#1080;&#1082;&#1072;&#1084; ;)]]> https://forums.modx.com/thread/63021/#dis-post-371864 ]]> TonatosSN Feb 10, 2007, 07:06 AM https://forums.modx.com/thread/63021/#dis-post-371864 <![CDATA[Re: &#1042; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1087;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076;&#1095;&#1080;&#1082;&#1072;&#1084; ;)]]> https://forums.modx.com/thread/63021/#dis-post-371863 Во-вторых, пока что в программе есть ограничение на вид шаблона импорта: в шаблоне теги {{str_alias}} и {{string}} должны следовать именно в таком порядке, каждый из них обязательно должен присутствовать и быть в единственном экземпляре.
В-третьих, у меня пока нет возможности протестировать программу при переводе на другие языки, кроме русского, посему прошу сообщать о любых багах или некорректном поведении программы в этом плане.
Надеюсь, ничего не забыл)))]]>
toxxic Feb 10, 2007, 05:28 AM https://forums.modx.com/thread/63021/#dis-post-371863
<![CDATA[Re: &#1042; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1087;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076;&#1095;&#1080;&#1082;&#1072;&#1084; ;)]]> https://forums.modx.com/thread/63021/#dis-post-371862 TonatosSN Feb 10, 2007, 04:15 AM https://forums.modx.com/thread/63021/#dis-post-371862 <![CDATA[&#1042; &#1087;&#1086;&#1084;&#1086;&#1097;&#1100; &#1087;&#1077;&#1088;&#1077;&#1074;&#1086;&#1076;&#1095;&#1080;&#1082;&#1072;&#1084; ;)]]> https://forums.modx.com/thread/63021/#dis-post-371861 ]]> toxxic Feb 09, 2007, 10:58 PM https://forums.modx.com/thread/63021/#dis-post-371861