Вы полностью не смогли предоставить какую-либо информацию о том, какое программное обеспечение или какая платформа. С другой стороны, похоже, что вы собираетесь писать программное обеспечение, поэтому вы уже не застряли с неправильным решением.
Что будет важнее всего - это дисплей, поэтому держите его отдельно от остальных. Не повторяйте , не , жестко запишите любые строки. Они должны храниться в отдельной таблице функций с максимально возможным контекстом. Не кодируйте макеты в жестком коде, особенно потому, что для большинства целей английский является очень кратким языком, и большинству алфавитных языков обычно требуется больше места, чтобы сказать то же самое. Остерегайтесь делать что-либо с регистром, так как прописные и строчные буквы делают разные вещи на разных языках. Убедитесь, что вы используете Unicode для всего текста, который может увидеть пользователь.
Помните, что строки исключений должны быть единообразными, если вы их используете, и сообщения об ошибках, которые нужно регистрировать, лучше всего хранить на английском (или на каком бы родном языке вы ни находились), в зависимости от того, являетесь ли вы или местные собираюсь исследовать их.
В любой системе, с которой вы работаете, скорее всего, есть какая-то локаль. Используйте это для всего, что он обрабатывает. Вы не хотите писать, скажем, 9 февраля как 9 февраля 2009 года в Великобритании, потому что они будут читать это как 2 сентября. Люди поймут, что выписывать миллион - 1 000 000, но для некоторых людей это явно иностранная конструкция, и они хотят это как 1.000.000,0.
Старайтесь избегать встраивания чисел в предложения. На английском языке можно сказать «напечатана 1 страница» и «напечатано 2 страницы» и, скорее всего, «страницы не напечатаны». На других языках все становится очень сложно. Что-то вроде «Страниц напечатано: 2» гораздо проще перевести.
Убедитесь, что пользователи могут использовать метрическую систему и температуру Цельсия. Либо используйте всюду метрику, либо конвертируйте ее в слой отображения.
Получите настоящих переводчиков для каждого места, куда вы собираетесь локализоваться. Google отлично работает для начальных макетов, но вы, вероятно, хотите быть более грамотным в странах, в которых вы продаете, чем, скажем, «Вся ваша база теперь принадлежит нам». Убедитесь, что у них достаточно информации для выполнения работы; некоторые слова и фразы на английском языке неоднозначны, и их значение зависит от контекста, и поэтому их невозможно перевести без контекста. Бюджет на хорошее программное обеспечение для перевода, если оно доступно для вашей платформы. Переводчики недешевы, и потратить несколько тысяч долларов, чтобы помочь им работать быстрее, окупится довольно быстро.
Если возможно, попросите кого-нибудь локально протестировать бета-версию локализованной версии и обратите внимание на то, на что он или она жалуется.
Это то, что я уже изучил, и я постепенно использую наше программное обеспечение в Японии.