Знакомство с интернационализацией¶
У вас есть проект и вы хотите перевести его на несколько языков? Это руководство вам в этом поможет. В нём приведены несколько типовых ситуаций, но большинство примеров достаточно общие, так что они могут быть применены и в других случаях.
Перед тем, как переводить какое-либо программное обеспечение, вы должны осознать, что языки в мире сильно отличаются друг от друга, так что вы не должны делать никаких предположений, основанных на вашем опыте. Если вы попытаетесь собрать предложение из отдельно переведённых сегментов, в большинстве языков оно будет выглядеть очень странно. Также вы должны правильно обрабатывать множественные формы, поскольку во многих языках они строятся по сложным правилам, а используемая вами среда интернационализации должна их поддерживать.
И последнее, но не менее важное: иногда в переведённую строку может понадобиться добавить некий контекст. Представьте себе, что переводчик получил для перевода строку Sun
. Без контекста большинство людей перевели бы её как «Солнце», подразумевая, что речь идёт о нашей ближайшей звезде, но на самом деле она могла бы быть аббревиатурой для воскресенья (Sunday).
Выбор среды интернационализации¶
Выбирайте ту среду, которая является стандартом для вашей платформы, постарайтесь не изобретать заново колесо, создавая свою собственную среду для работы с локализациями. Weblate поддерживает большинство широко используемых сред, подробнее смотрите раздел Поддерживаемые форматы файлов (особенно его подраздел Возможности типов переводов).
Наши личные рекомендации для некоторых платформ приведены в следующей таблице. Эти рекомендации основаны на нашем опыте, но он не всеобъемлющ, поэтому, когда делаете выбор, всегда учитывайте своё окружение.
Платформа |
Рекомендуемый формат |
---|---|
Android |
|
iOS |
|
Qt |
|
Python |
|
PHP |
|
C/C++ |
|
C# |
|
Perl |
|
Ruby |
|
Расширения браузеров |
|
Java |
|
JavaScript |
Более подробно рабочий процесс для некоторых форматов описан в следующих главах:
См. также