Локализация может быть огромной болью во встроенных системах.Сначала необходимо рассмотреть несколько вещей: потребуются ли для ваших переведенных языков альтернативные наборы символов?Вы выводите текст на графический дисплей или что-то вроде последовательной консоли?
Если набор переведенных языков относительно мал, а набор текстовых строк четко определен, вы можете избежать полноценного перевода.библиотека.Я унаследовал встроенный продукт, который использовал набор языковых строковых таблиц.Каждый текстовый элемент имеет позицию в таблице, поэтому конкретный переведенный фрагмент текста можно найти в 2D-таблице по языку, а затем по элементу.(Эти таблицы были сохранены в ПЗУ в этом приложении.)
Если вы пойдете по этому пути, есть ряд других вопросов, которые необходимо рассмотреть.Некоторые языки могут выразить содержание более или менее кратко, чем английский.Хороший пример - немецкий язык - простые фразы могут иметь длину, подобную предложению.В результате вы должны быть готовы к случаю, когда длина одного текстового элемента существенно отличается от языка к языку.В моем унаследованном приложении это было сделано путем расширения таблицы до 3D, чтобы текстовый элемент мог иметь более одной «строки».Разумеется, текстовое расположение (аббревиатуры, длина предложения, нумерация страниц и т. Д.) Также простирается от этого.
Если пространство в ПЗУ ограничено, вы можете рассмотреть переведенные фрагменты фраз, а затем вставить их по мере необходимости.Этот так называемый подход к консолидации строк может быть сложным, потому что нужная локализованная фраза может неуклюже перевести в фрагменты.Другими словами, будьте готовы к "Engrish", если вы вставляете фрагменты переведенного текста вместе, волей-неволей.Babelfish, и другие, могут помочь - но защита - хороший внутренний обзор конечного продукта носителем языка.(Примечание: носитель языка должен представлять «средний» диалект.)