What's new

Trying to change language from Japanese to English on ASUS RT-AC86U

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

fireaza

Occasional Visitor
I just bought a RT-AC86U with the idea that even though it was bought in Japan, I can install Asuswrt-Merlin and set the language of the router to English. Well, I've installed the firmware and now there's a language bar, but it can't be changed (clicking on it does nothing).

I found some instructions that showed how to change the language via SSH:
#nvram set preferred_lang=EN
# nvram commit
# nvram reboot

But this didn't work.

Any idea where to go from here? Do I need to change my region to US to get the English option or something?
 
Are you talking about the post where he says he's worked out a solution? He doesn't say how he did it, so it's not that helpful...

How about changing the region of the router? How would I do that?
 
yes, you can ask him, showed me his solution, easy done, but I cant compile it on my own.

How should this be done, cfe is encrypted on 68U where this info will be found ...
 
I just bought a RT-AC86U with the idea that even though it was bought in Japan, I can install Asuswrt-Merlin and set the language of the router to English. Well, I've installed the firmware and now there's a language bar, but it can't be changed (clicking on it does nothing).

Any idea where to go from here?

Not sure if it totally works, but have you simply tried mapping a different language dictionary file over the current dictionary?

e.g. On my RT-AC68U I can dynamically change the current English dictionary to the Japanese dictionary to have the GUI suddenly appear in Japanese
Code:
mount -o bind   /www/JP.dict   /www/$(nvram get preferred_lang).dict

df

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                34816     34816         0 100% /
devtmpfs                127744         0    127744   0% /dev
tmpfs                   127848      1716    126132   1% /tmp
/dev/mtdblock4           64256     17072     47184  27% /jffs
/dev/sda1             29887852   3237524  25132080  11% /tmp/mnt/RT-AC68U
<snip>
/dev/mtdblock4           64256     17072     47184  27% /www/EN.dict

service restart_httpd
Done.
To reset issue:
Code:
umount   /www/$(nvram get preferred_lang).dict


Obviously you will reverse your mapping i.e. 'EN.dict' -> 'JP.dict' etc. and will need to source the appropriate RT-AC86U 'EN.dict' file if it isn't installed on your router. ;)
 
Last edited:
Not sure if it totally works, but have you simply tried mapping a different language dictionary file over the current dictionary?

e.g. On my RT-AC68U I can dynamically change the current English dictionary to the Japanese dictionary to have the GUI suddenly appear in Japanese
Code:
mount -o bind   /www/JP.dict   /www/$(nvram get preferred_lang).dict

df

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/root                34816     34816         0 100% /
devtmpfs                127744         0    127744   0% /dev
tmpfs                   127848      1716    126132   1% /tmp
/dev/mtdblock4           64256     17072     47184  27% /jffs
/dev/sda1             29887852   3237524  25132080  11% /tmp/mnt/RT-AC68U
<snip>
/dev/mtdblock4           64256     17072     47184  27% /www/EN.dict

service restart_httpd
Done.
To reset issue:
Code:
umount   /www/$(nvram get preferred_lang).dict


Obviously you will reverse your mapping i.e. 'EN.dict' -> 'JP.dict' etc. and will need to source the appropriate RT-AC86U 'EN.dict' file if it isn't installed on your router. ;)
Hot damn! That worked a treat! GUI is in English now, even the language bar at the top says "English"! Thanks a bunch! That was nice and easy and I don't need to mess around with region settings!
 
Hmmm, I found it resets back to Japanese when I reboot the router. Any way to make the change permanent?
 
Hmmm, I found it resets back to Japanese when I reboot the router. Any way to make the change permanent?

You will need to use a script to apply the mapping e.g. use init-start.
 
I'm not terribly experienced with command lines, any hints for how I would make a startup script for that?
 
I'm not terribly experienced with command lines, any hints for how I would make a startup script for that?

Depends on the amount of complexity required in the script but the Wiki has info on using the built-in vi/nano editors to create scripts if the preferred windows WinSCP editor isn't available .

However, for a quick'n'dirty method without the need to use an editor, simply copy'n'paste the following command line to create a script:
Code:
echo -e "#!/bin/sh\nmount -o bind   /www/EN.dict   /www/\$(nvram get preferred_lang).dict\ndf\nservice restart_httpd\n" >/jffs/scripts/Dictionary_MSG.sh;chmod +x /jffs/scripts/Dictionary_MSG.sh
then ensure the new Dictionary mapping script is executed at some stage during the boot process from an appropriate script

EDIT: 28/05/2019 Use the following if '/jffs/scripts/init-start' already exists:
Code:
echo -e "/jffs/scripts/Dictionary_MSG.sh\n" >> /jffs/scripts/init-start;chmod +x /jffs/scripts/init-start
Use the following if you don't already have a custom ''/jffs/scripts/init-start' script
Code:
echo -e "#!/bin/sh\n/jffs/scripts/Dictionary_MSG.sh\n" >> /jffs/scripts/init-start;chmod +x /jffs/scripts/init-start

You can of course copy 'n'paste Dictionary_MSG.sh for comprehensive visual confirmation/error checking :p
 
Last edited:
Hmm, doesn't seem to work for me. I've using your commands has gotten me "Dictionary_MSG.sh" and "init-start" in "/jffs/scripts/" but the router still boots in Japanese. Any clues?
 
I recommend learning Japanese, it's good to learn a new language to stimulate your neurons and more if you watch anime.
I am learning Japanese, I know around 500 kanji now. But routers have a LOT of technical words that I don't know, it's just easier to have it in my native language.
 
Hmm, doesn't seem to work for me. I've using your commands has gotten me "Dictionary_MSG.sh" and "init-start" in "/jffs/scripts/" but the router still boots in Japanese.

Any clues?

Presumably either the mapping is applied too early in the boot sequence or overridden.:(

If you manually execute init-start after the boot process has fully completed, does the English mapping get applied as expected?

If it does, then try adding a delay before calling 'Dictionary_MSG.sh'

/jffs/scripts/init-start

Code:
sleep 180
/jffs/scripts/Dictionary_MSG.sh
or move the call from init-start to services-start (again with say a 30 second delay)
 
Or maybe I don't have a clue how to use Linux :\ I tried testing what you said before, I reboot my router then ran "init-start" (changed directory to "/jffs/scripts/" then entered "init-start") but it just said "-sh: init-start: not found". Is there supposed to be a file extension on it or something?
 
Or maybe I don't have a clue how to use Linux :\ I tried testing what you said before, I reboot my router then ran "init-start" (changed directory to "/jffs/scripts/" then entered "init-start") but it just said "-sh: init-start: not found". Is there supposed to be a file extension on it or something?
Unlike DOS Linux doesn't include the current directory in the search path. So you have to tell it where the script is.
Code:
cd /jffs/scripts/
./init-start
 
If the above fails, you can use

mQaFDZM.png


to check whether init-start was actually created and whether it's executable.
 
Code:
cd /jffs/scripts/
./init-start
[/QUOTE]
Ah, that worked! Yep, the script works, it changed the router's language to English.

I tried adding sleep 180 to the start of the script, but it didn't work. Renaming the script "services-start" didn't help either.
 
I think there's an option on the router to enable the running of custom scripts. Make sure that is turned on.
 
I think there's an option on the router to enable the running of custom scripts. Make sure that is turned on.

Indeed, there is. In Administration > System > Persistent JFFS2 partition:

sapqmP3.png


Probably not what @fireaza wants to hear, but I believe JFFS should be formatted before first use (only if @fireaza hasn't done so before). I don't know whether that's mandatory or if it's a recommendation.
 
but I believe JFFS should be formatted before first use (only if @fireaza hasn't done so before). I don't know whether that's mandatory or if it's a recommendation.
I'd guess that's not necessary anymore. Unlike in the past the router uses /jffs to store things like log files, so it should already be formatted.
 

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top