Dla systemu wbudowanego z interfejsem GUI używamy naszego niestandardowego systemu tłumaczenia. Struny są przechowywane w kodzie ROM mikrokontrolera.Gettext bez systemu plików
Obecnie mamy do 10 języków i około 400 przetłumaczonych ciągów (w zależności od wersji produktu).
Nasz obecny system jest raczej uciążliwy i uważam, że lepszym rozwiązaniem byłby gettext.
O ile rozumiem gettext, wymaga użycia bindtextdomain
do ustawienia katalogu zawierającego skompilowane pliki tłumaczeń (* .mo).
Czy istnieje sposób, aby zamiast tego odczytać tłumaczenie z pamięci? To znaczy, chciałbym dołączyć skompilowane pliki * .mo w pliku binarnym i skonfigurować gettext do ich użycia. Alternatywnie, dane translacji będą przechowywane w pamięci EEPROM danych bez systemu plików.
Czy możesz polecić inny system translacji do użycia w systemie mikrokontrolerów (16 lub 32-bitowy, 256 do 512 kilobajtów ROM) z interfejsem C?
Edycja: Powinienem dodać, że bycie w stanie utrzymać tłumaczenia poza oprogramowaniem mikrokontrolera byłoby powodem do przejścia na gettext. Odpowiednie dane translacyjne zostaną załadowane przez użytkownika za pomocą oprogramowania konfiguracyjnego, które już dostarczamy naszym systemom.
Może gettext będzie zbyt duży w twoim przypadku? Może zrobisz coś takiego [this] (http://code.google.com/p/bta-meteo-logger/source/browse/C/daemon/lang.h)? –
Można ustawić dysk RAM na wierzchu binarnego lub fałszywego pliku I/O. –