You are here

AREDN mesh firmware languaje translation

14 posts / 0 new
Last post
AREDN mesh firmware languaje translation

Hello and pologies if this is not right forum.

A group of friends of mine are helping me translate AREDN firmware
interface to spanish and we like to ask a few questions.
- We are using docker image arednmesh/builder, is it current?
- Test device is TPlink CPE 510 V3.8, there is support for v3.0, Do you
   forsee any problems with this specific version?
- We already compiled firmware for that target, but noticed that size is
   somewhat larger than image shared in your website, will you share the
   configuration files used to produce images? We like to check any
   differences with our settings
- Are you aware of other efforts in this direction?

Thank you, we appreciate any help you can provide.


K6AH's picture
We will contact you.

Hey, that's great!  Before you go any further, let us set you up as an AREDN contributor in github.  One of us will contact you.

Andre, K6AH

Thank you Andre!

Thank you Andre!

Not sure about having all the qualifications to code at your standards, but I hope I´ll get them ASAP...

José Luis, KG5UHV/XE2JLG


K5DLQ's picture
The part of the issue that

The part of the issue that makes this really difficult is that the original web ui for AREDN (aka. formerly BBHN), was never built to be localized.
The new AREDN "Angular" UI project will make the translations trivial to implement in a single codebase (via locale files and browser locale detection).

This reminds me, are there any Angular developers on the forums that would like to contribute to this effort?   Let me know.

You are correct, all strings

You are correct, all strings are embedded in Perl scripts print commands, we envision taking
all strings to a configuration file, give each string a symbolic name and use that name in the
print command. There will be a configuration file for each Perl script, like status_EN or status_ES,
script will read from status.conf where this is a symlink to one of the language files. Any new
languages will need to translate files from one of existing ones.

Angular seem interesting, Is there a place where I can read about it? Effort on our part may not
make sense if Angular is close to be released.


EDIT: Never mind, found the git project repository. Thanks


AA7AU's picture
Angular - The Complete Guide (2020 Edition)

I signed up for this on-line course (at $9.99) awhile back but have yet to get the time to get into it: Angular - The Complete Guide (2020 Edition) -
There are a number of free previews there but here's one to look at:

I am not promoting this whatsoever, only suggesting it as a place to get a feel for Angular. If I ever get into it, I'll try to volunteer to help here, but that's not going to happen for a while yet.

Good luck,
- Don - AA7AU

Im ready for first tests, but

Im ready for first tests, but run into a problem. I am using a TPlink CPE-510 v3.8,
tried to load aredn- and get back a popup
window stating my hardware is not supported.

Then tried aredn-1501-31c6669-ath79-tplink_cpe510-v3-factory.bin and bricks it.
I already recovered my TPlink. Is there a different firmware i should load?

Also tried nightly build aredn-1532-80619b7-ath79-tplink_cpe510-v3-factory.bin, same result. TPlink is bricked,
at some point i have a pop up with reboot, in a sniffer running in that etherent port of my mac
I see bootp  packets.

Thanks for any advise or pointers.

José Luis, KG5UHV/XE2JLG

Languaje translations ready for test

Hi All,

My name is Raymundo Vega, I don't have yet an amateur radio license so I'm using José Luis account to let
you know that we have completed the necessary modifications needed to support languages other than English.

We worked on version of AREDN code, a summary of modifications follow:
- strings from perl scripts other than HTML tags were stripped from scripts and put together on a file
     under /www/cgi-bin/languages directory, the files have names like: status_str_EN.We selected the ISO 639-1
     to show the language, ES for Spanish, EN for English, etc.
 - Inside the file strings are organized in lines with a name associated with the string.  Each variable name is like
     status_str01, status_str02 to be used in the status program.
- All scripts now use variables instead of strings to show the html code to client.
- status script has an extra dropdown list that show available languages and available to select one, same as CSS
- Files help.html, about.html and upgrademode.html were also translated and moved to languages directory and
     renamed to reflect the language
- a language change modifies symlinks to read the right language file

Translate to a new language mean translate html files and string files.

Now a few questions, how do we share the new files? what format do you prefer?



AE6XE's picture
~rv,  ideally, a compressive

~rv,  ideally, a compressive commit in github for this code change would be submitted.     If I understand the work done, it would be just a little more work to add a setup menu option to select and save a particular language.   If this perl coding is a daunting task and github unfamiliar, suggest to upload a .zip of the files here, then others can review to leverage and possibly develop this general code change to submit into the code repository in github. 

We would all like to replace the UI with a modern implementation :) .  This perl coding, that spits out html, let's just say is not the recommend way to develop and maintain a UI, and perl takes way too much space in flash on our limited embedded devices.   But it is the current implementation and will continue to evolve until replaced.


I saw the post from K5DLQ

I saw the post from K5DLQ about Angular, that is new to me, well even Perl is not
my language, my area of expertise is C programming, bash and python scripts, but
I can manage to modify Perl code for something like this translation.

How is the angular project going? It may be better to just wait and do the translation
there instead of pushing this extension into code base.

Language is selected on the status page, I added a dropdown list, Perl code scan the
language folder for available languages and then populate the dropdown menu list.
A change in language delete the symlinks of previous language and sets new ones
for selected language.

Today I found a bug and I'm working on a fix, I'm planning a more thorough tests and
post here zip file with code after I'm done with that, hopefully next weekend.



AE6XE's picture
There are several

There are several technologies in consideration for re-writing the UI.  angular has been investigated with some prototyping, but the effort has lost steam. angular is one of the more complex options.   A new UI would happen more quickly if someone with interest and knowledge of UI technologies wishes to contribute. Myself and others are in for a learning curve for the UI technology that is ultimately determined.  We have several people that are interested to support this effort.    i would focus my time on the back end to re-write the perl code and support the front-end UI client.  re-doing the UI, inherently means removing the perl language, which consumes too much flash and memory.  Perl is not efficient for embedded devices.


Oh well, I'm afraid I'm in

Oh well, I'm afraid I'm in same boat. GUI has not made it to the top 5 interests of mine :-) .

I have not researched modern UI used in embedded devices, but it seems to me like there are not that many and much less when we are talking about the very limited flash memory in ham radios. In terms of efficiency I think it is a lot better to move GUI to the desktop machine used to monitor the radio and in the radio run a daemon to receive queries and execute the commands currently executed from Perl scripts.

In the meantime, something that can be done to alleviate the pressure to free flash memory is to ship code with GUI in a compressed tar file and decompress it to /tmp RAM filesystem  from service script, and set some symlinks for web server to access all needed files, it will save about 1.2 MB of /www directory in my tplink test radio, may not seem like much, but you know when memory is a scarce resource,every byte counts.

Happy long weekend!


AE6XE's picture
Under AREDN and inherited

Under AREDN and inherited from openwrt, the file system is compressed at this level to efficiently use the flash space.  Although, some of the techniques also include compressing the data that is sent between the server to the client  to improve preference for the UI in a browser.  AREDN doesn't do this today.


Other languages GUI modifications

Attached you will find a compressed tar file with perl mods and added files to have a Spanish
language translation.

Please don't hesitate to contact me directly if you want to clarify something or if you find I broke something in the process.

My direct email is:


Support File Attachments: 

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer