2012-02-16 3 views
-2

Все в порядке, если вы передаете HTML-фрагменты переводчикам? Если нет, что вы им даете и как вы получаете фрагменты HTML?Перевод сайта: что вы даете переводчикам?

Как это нормально сдать? Hey <i>Bob</i>, what's your <span class="important">name</span>?

+2

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

+0

Да, я использую его. Итак, я не понимаю, мой пример хорошо? –

+0

Почему downvote? –

ответ

1

Выработать на мой комментарий на ответ Квентина:

Мы используем Ruby On Rails для нашего пользовательского интерфейса, но мы грузите машину. Нет никакого URL-адреса, который мы можем отправить нашим переводчикам для контекста. Мы должны отправить им всю ISO, и даже тогда они не смогут фактически использовать приложение без надлежащих данных.

Вместо этого мы отправляем им необработанные файлы Yaml от config/locales, где имеется один файл ресурсов на целевой язык: en-US.yml, fr.yml, de.yml и т. Д.Они импортируют эти файлы в любую систему, которую они используют, переводят, экспортируют и отправляют нам переведенный Yaml. Если им нужен контекст, мы отправляем им скриншоты.

Итак, все, что Rails принимает как переводимую строку, мы отправляем ее непосредственно нашим переводчикам. Мы даже расширили возможности Rails для принятия шаблонов ERb в строках. Это была очень плохая идея :-)

Я не говорю, что это лучшее решение. Мы часто возвращаем неверный Yaml, или они пропускают строки или не переводят так точно, как могли, с идеальным контекстом. Но он работает в целом.

4

Вы предоставляете переводчикам все, что вы с ними согласны (т. Е. Спрашивают переводчиков, что им нужно, а не других программистов).

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

+1

+1 для «контекста» –

+0

Я им даю контекст. И вы все еще не ответили на мой вопрос;) «Что обычно дается переводчикам?» ... –

+2

Мы предоставили строки переводчиков со встроенным Ruby («Успешно импортированные записи # {count}»), которые не будут имели смысл без включения интерполированной переменной. Вам просто нужно убедиться, что они достаточно технические, чтобы не испортить ваш синтаксис. – Brandan

0

Если вы используете какое-либо программное обеспечение для генерации html (то есть - php/asp/asp/net/etc), тогда не предоставляйте переводчикам результирующий html, дайте им файл ресурсов, который вы использовали для генерации html ,

После этого у вас будет файл ресурсов для каждого языка, который вы хотите поддерживать. Затем вы можете использовать настройки языка браузера (доступные через серверную серверную часть), URL-адрес запроса или даже файл cookie (после того, как вы спросите их, какой язык они предпочитают), см. Пример quietpc.com), чтобы выяснить, на каком языке пользователь хочет видеть вас на сайте.

Теперь вы знаете, на каком языке вы представляете свой сайт, вы можете затем написать вам код на стороне сервера, чтобы прочитать соответствующий файл ресурсов, и все готово!

Таким образом, вместо этого ...

Hey <i>Bob</i>, what's your <span class="important">name</span>? 

... ты бы это ...

<%=Resources.Hey%> <i><%=Name%>, <%=Resources.Whatsyour%> <span class="important"><%=Resources.Name%></span> 

Но, расщепляющие вещи, как это очень плохо IMO. Лучше переделать вещи, чтобы они не разделились. Я не думаю, что это отличный пример, поскольку вы спрашиваете Боба, как его зовут. Это Боб!

Я всегда стараюсь выкладывать свои страницы, чтобы я не смешивал переменные с текстом.

Пример ...

Name: Bob 
Mood: Happy 

Имя и Настроение может быть переведено. Боб и Благ происходят из переменных где-то, т. Е. - они динамичны.

Пример разметки ...

<table> 
    <tr> 
     <td><%=Resources.Name%></td> 
     <td><%=Name%></td> 
    </tr> 
    <tr> 
     <td><%=Resources.Mood%></td> 
     <td><%=Mood%></td> 
    </tr> 
</table> 

Это просто, как я подошел к ней в прошлом, как я уже не говорю о других, отличных от (плохой) английский языки, я не знаю, если способ предложений структурирован в зависимости от контекста. Поэтому я всегда старался избегать предложений со встроенными переменными в них.

+0

Итак, если это плохо, как бы * вы это сделали? –

+0

Я бы не спросил Боб, как его зовут! Серьезно я стараюсь использовать небольшие таблицы с информацией в них. Поэтому у меня может быть метка, которую я могу перевести, тогда текст будет справа/ниже этой метки. –

+0

Я думал, что это очевидно, что это * не * реальный код жизни, а просто пример. Я надеюсь, что вам будет лучше: Hey Bob, как вы doin '? Тем не менее, я не понимаю вашу технику, поэтому разделите фрагмент HTML так? Можете ли вы уточнить свой ответ? –

Смежные вопросы