Archivní soubor národního prostředí (/usr/lib/locale/locale-archive) občas neobsahuje národní prostředí, které chcete použít. V tomto případě musíte vytvořit nový soubor národního prostředí nebo zkompilovat národní prostředí z existujícího pomocí:
# localedef -f [charmapfile] -i [inputfile] [outputpath]
například:
# localedef -f SHIFT_JIS -i ja_JP ja_JP.SJIS
Varovná zpráva „není kompatibilní s ASCII, národní prostředí není kompatibilní s ISO C “ lze ignorovat. Tento příkaz může poskytnout vhodné národní prostředí, i když se při spuštění výše uvedeného příkazu zobrazí varovná zpráva. Zpráva znamená, že „některé znaky (které jsou poskytovány převodem ASCII do vámi zmíněného národního prostředí) se neshodují s kódy, které jsou převedeny na UCS-4. Například '\' a '^' jsou typické znaky, které nejsou kompatibilní s UCS-4 ('\' je 0x00a5 a '^' je 0x203e v UCS-4, ačkoli '\' je 0x5c a '^' je 0x7e v ASCII).
Nyní můžete používat nové národní prostředí ja_JP.SJIS. Můžete zkontrolovat, zda je národní prostředí aplikováno na archiv locale:
# localedef --list
Uvedené národní prostředí může být malé a může se lišit od skutečného názvu národního prostředí. Upozorňujeme, že nové národní prostředí může změnit pravidlo zpracování textových znaků. V tomto případě možná budete muset odstranit národní prostředí z locale-archive pomocí:
# localedef --delete-from-archive [existent_locale_listed_in_localedef--list]