Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7708151
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 1, 20262026-06-01T00:32:16+00:00 2026-06-01T00:32:16+00:00

I have an embedded system with Flash and a very low end CPU and

  • 0

I have an embedded system with Flash and a very low end CPU and less RAM. I wanted to know how efficient is the gettext language translation using .MO file.

For doing the locale language string fetch, do every time gettext read MO file from flash OR, the complete MO binary file is first loaded into RAM, and do the locale string fetch from there ?

If the MO file (It will be large ~1Mb since there are a lot of strings) is always loaded into RAM, it will eatup my RAM.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-01T00:32:18+00:00Added an answer on June 1, 2026 at 12:32 am

    As MSalters said it is open source, so you could tweak it.

    If you give a fuller definition of the system (as per my comment) we might be able to help more.

    If this is a deeply embedded system (the sort of stuff I do), with no OS, and no external file system of any type, the strings must all be in memory. There will very likely be a mechanism to store those strings in flash, so that they consume no RAM.

    For example, on an ARM, data structures can easily be stored in flash. To do that, you need to tell the compiler which segment of the program to store them, using something like:

    const char mesg1[] __attribute__((section (".USER_FLASH"))) 
                 = "Ciao a tutti";
    const char mesg2[] __attribute__((section (".USER_FLASH"))) 
                 = "Riesco a sentire la mia mente va Dave";
    

    When the program is linked, the linker script needs to be written to place the strings into Flash, and they will not be copied to RAM.

    Approximately how much space can you dedicate to messages? How much space do they take?

    You may be fighting a well researched problem; the amount of programming effort increases exponentially as resource limits are approached. It may take tremendous effort to fit stuff into the final few % of memory.

    Once ‘obvious’ tweak is to try a few simple compression techniques. One might get applied on the raw messages, and uncompressed as the messages are printed.

    Edit: I thought your question seemed so straightforward and natural, that I had assumed the answer would be straightforward to find.

    I had a look at the gettext documentation, but failed to find it there. I downloaded the source. After 10 minutes, I honestly could not tell you how it worked. I can tell you it is much more complicated than I’d expected. I looked at the extensive documentation. Lots of documentation on how to best organise to do translation, on how to prepare the program, on things that can cause problems. Very helpful insights. Yet I could not find any documentation explaining its overall run-time architecture. None. Nothing.

    My best advice is to go to the GNU gettext mailing lists, search/look and if necessary ask. The mailing list archives can be found at http://savannah.gnu.org/projects/gettext/ I apologise that I couldn’t be more helpful.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have an embedded system (ARM 9263) running an RTOS, IAR tools. The system
We have a small embedded system without any video or serial ports (i.e. we
I have a remote embedded system which it is telnet-able. How can I download
On a small embedded system project we have some code which we would like
We have two tasks (T1 and T2) in our vxWorks embedded system that have
We have an embedded device that needs to interact with an enterprise software system.
My new project is targeting an embedded ARM processor. I have a build system
I am looking at an embedded system where secrets are stored in flash that
I have an embedded system that I expect to be in use for the
I have a code that runs on an embedded system and it has to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.