Какой самый умный способ организовать SVN для переведенных версий того же проекта? - PullRequest
0 голосов
/ 02 апреля 2010

Я извиняюсь, потому что знаю, что это повторялось снова и снова, но я пытаюсь понять самый умный способ ловко использовать subversion в нашу пользу. (* Примечание: я знаю, что наш метод не ЛУЧШИЙ способ обработки локализованных версий, но внешние факторы заставляют нас работать таким образом в текущих проектах)

  • У нас довольно статичный веб-сайт на английском языке ... HTML, CSS, JS и т. Д.

  • После того, как сайт вернется от переводчика, у нас будет 5 вариантов одного и того же кода (на этой неделе ... потом, возможно, еще 25 в будущем!). Так что скоро у нас будет папка для EN, FR, SP, DE и т. Д. Большинство файлов (css, js, img) останутся точно такими же; HTML-файлы (структура, идентификаторы, классы) будут различаться только в зависимости от локализованного текста внутри элементов.

Есть ли способ использовать умную структуру папок SVN, которая поможет нам в случае, если требуется небольшое изменение, нам не нужно вручную изменять файлы в каждой переведенной версии сайта?

Спасибо! --bp

Ответы [ 2 ]

2 голосов
/ 02 апреля 2010

Вы должны использовать свойство svn: externals для этой цели. Здесь - краткое руководство.

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

1 голос
/ 02 апреля 2010

Хм, как правило, вы хотите избежать дубликатов "нейтральных" файлов, и вам никогда не следует переводить файлы с реальной логикой в ​​них (если, конечно, сама логика не зависит от языка).

Вы можете легко поместить инвариантные файлы CSS и JS в отдельный каталог верхнего уровня как в дереве исходных текстов, так и на сервере, так что это не должно быть слишком большой проблемой.

Нет хитрого SVN-трюка, который вы можете использовать, чтобы избежать необходимости изменять все HTML-файлы, но разве вам не придется обновлять переводы для этого?

...