Skip to content
Front end to Luma3DS compatible locale system.
C Other
  1. C 98.8%
  2. Other 1.2%
Branch: master
Clone or download
Pull request Compare This branch is 44 commits ahead, 298 commits behind Steveice10:master.
Latest commit a599501 Apr 22, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
buildtools @ 616b50e Update buildtools Mar 10, 2017
meta Branding May 7, 2016
qr Version 0.04 Apr 22, 2017
romfs Update colors Jul 5, 2016
source Hide unlikely titles Apr 22, 2017
.gitignore Ignore vim swapfiles May 7, 2016
.gitmodules Remove unnecessary svchax Mar 10, 2017
LICENSE.txt Removes whitespace from LICENSE file Jul 5, 2016
Makefile README Apr 22, 2017


LumaLocaleSwitcher can be used to manage per-title locales for Luma3ds (and compatible forks such as SaltFW).


Install the .cia file using a CIA installer such as FBI.

If you are using the latest stable version of Luma3DS (6.6 at this time), scan the QR code below for the latest release (0.04):


If you are using the nightly version of Luma3DS (or any version newer than 6.6), scan the QR code below for the latest nightly compatible release (0.04-NIGHTLY):



Requires devkitARM and citro3d to build. You also need ctrulib.

To build, just call git submodule sync (to pull in svchax and buildtools) and make and you should be good.

If you are running nightly Luma3DS, you can run make LUMA_NIGHTLY=1 to get sane defaults.

Set up

If you use Luma3DS and downloaded the appropriate verison (nightly or stable) you can just select "Titles" and make your changes. Otherwise, you can choose from the list in the app or write your own custom path to /locales.conf

Known Limitations

Currently requires the parent path of the locales directory to exist (i.e., it will not create the directory for you). If it fails to set the region for a title, that is the most likely reason. If you are using Luma, and everything is properly set up, this shouldn't affect you, since the "/luma" directory should exist anyway.

There is no file chooser built in, so if you need to use a custom directory for some reason, you will have to write the path to /locales.conf manually.

Changing the region emulation is not always a magic bullet, due to the way the 3ds services are set up. In particular, online play may not function even when the region emulation is set up properly. If you are receiving 003-0399, either give up or use a search engine to look for workarounds.


Please report bugs at


This is largely based on FBI by Steveice10.

This also would not be possible without AuroraWright's work on the region emulation feature in Luma3DS.


  • Possum - project maintainer
  • CouldBeWolf - beta tester, bug reports
  • ericjwg - patches, testing, and building

As always, big thanks to the 3DS homebrew/CFW community!


This software is provided under the MIT license. Please see LICENSE.txt for full details for the license.

You can’t perform that action at this time.