Aptivi - Manual
ProjectsWebsiteBlog
Nitrocid KS v0.1.0 - Rolling Manual
Nitrocid KS v0.1.0 - Rolling Manual
  • Welcome!
  • Version Release Notes
  • Installation and Maintenance
    • Installing the Kernel
      • Windows
      • macOS
      • Linux
      • Android
    • Upgrading the Kernel
      • Windows
      • macOS
      • Linux
      • Android
    • Dependency Information
  • Fundamentals
    • What is the Kernel?
    • What is Nitrocid KS?
    • Simulated Kernel Features
      • Extra Features
        • More Networking
          • FTP Client
          • SFTP Client
          • RSS Client
          • HTTP Client
          • Mail Client
        • Games and Amusements
          • Hangman
          • BackRace
          • Meteor
          • Russian Roulette
          • ShipDuet
          • Snaker
          • Solver
          • SpeedPress
          • Wordle
        • More Editors
          • JSON Editor
          • SQL Editor
        • Common Programs
          • Archive
          • Caffeine
          • Calendar
          • Calculator
          • Contacts
          • Dictionary
          • Git Shell
          • Music Player
          • Notes
          • SSH Connection
          • Timers
          • To-do List
          • Unit Converter
          • Weather
        • Docking
        • Language Studio
        • Theme Studio
      • Accounts
        • Groups
        • Permissions
      • Editors
        • Text Editor
        • Hex Editor
      • Shells
        • Commands List
        • Addon Commands List
      • Files and Folders
        • Hashing and Encryption
      • Networking
      • Languages
      • Screensavers
  • Advanced and Power Users
    • Building the Kernel
      • Building on Windows
      • Building on macOS
      • Building on Linux
      • Building on Android
    • Kernel Modifications
      • Building your Mod
      • Analyzing your Mod
        • Text - NKS0001
        • ConsoleBase - NKS0002
        • ConsoleBase - NKS0003
        • ConsoleBase - NKS0004
        • ConsoleBase - NKS0005
        • ConsoleBase - NKS0006
        • ConsoleBase - NKS0007
        • ConsoleBase - NKS0008
        • ConsoleBase - NKS0009
        • Files - NKS0010
        • Files - NKS0011
        • Files - NKS0012
        • Files - NKS0013
        • Files - NKS0014
        • Files - NKS0015
        • Files - NKS0016
        • Files - NKS0017
        • Files - NKS0018
        • Files - NKS0019
        • Files - NKS0020
        • Files - NKS0021
        • Files - NKS0022
        • Files - NKS0023
        • Kernel - NKS0024
        • Kernel - NKS0025
        • Kernel - NKS0026
        • Kernel - NKS0027
        • Kernel - NKS0031
        • Kernel - NKS0032
        • Kernel - NKS0033
        • Kernel - NKS0037
        • Kernel - NKS0038
        • Kernel - NKS0039
        • Kernel - NKS0040
        • Kernel - NKS0041
        • Kernel - NKS0042
        • Kernel - NKS0043
        • Kernel - NKS0052
        • Kernel - NKS0053
        • Languages - NKS0044
        • Languages - NKS0045
        • Languages - NKS0046
        • Network - NKS0051
        • Text - NKS0047
        • Text - NKS0048
        • Text - NKS0049
        • Text - NKS0050
        • Text - NKS0054
        • Text - NKS0055
      • Managing your Mod
        • Inter-Mod Communication
        • Inter-Addon Communication
    • Diagnostics
      • Debugging
        • Local Debugging
        • Remote Debugging
      • Testing
      • Other Diagnostics
    • Inner Workings
      • Kernel Settings
        • Mechanics of Settings App
        • Settings Format
        • Custom Settings
      • Shell Structure
        • Help System
        • Command Parsing
        • Command Information
        • Command Switch Management
        • Command Switch Information
        • Shell History
        • Shell Scripting
        • Shell Presets
        • Extra Shell Features
      • Multilingual Kernel
        • Custom Languages
      • Inner Essentials
        • Kernel Drivers
          • Console Drivers
          • Debug Logger Drivers
          • Encoding Drivers
          • Encryption Drivers
          • Filesystem Drivers
          • Hardware Prober Drivers
          • Input Drivers
          • Network Drivers
          • RNG Drivers
          • Regular Expression Drivers
          • Sorting Drivers
        • Kernel Placeholders
        • The Permissions
        • The Users
        • Kernel Threads
        • Kernel Arguments
        • Kernel Journaling
        • Remote Procedure
        • Nitrocid Filesystem
        • Screensaver Internals
        • Splash Internals
        • Kernel Platform
        • Theme Internals
        • Color Internals
        • Privacy Consents
        • System Notifications
        • MAL and MOTD
        • Progress Handlers
        • Assembly Signing
        • Assembly Reflection
        • Random Number Generation
        • Network Tools
        • Date and Time
        • Mod Manual Pages
      • Miscellaneous APIs
  • Project Dependencies
  • Report an issue
  • Source code
  • API Reference
Powered by GitBook
On this page
Edit on GitHub
  1. Fundamentals
  2. Simulated Kernel Features
  3. Extra Features

Language Studio

Making your own language...

Last updated 7 months ago

You can make your own language using the language studio, which allows you to make your own kernel translation strings file for your own custom language. You can usually use this program to translate the kernel to your own native language. However, translation takes a lot of time, so you'll need to have some patience and focus.

Once you're done using the language studio, it provides you with an option to save your translation work. Afterwards, you can use the language manager, langman, to load your custom language using langman <load> <customlanguagename>. Once your language is loaded, you can set the language to your custom one using the settings command.

How to use

In order to be able to use the language studio, you'll need a folder with a text file containing English strings, called eng.txt, at least one or more text files with the three-lettered language names as their file names, such as spa.txt, and a language metadata file containing information about a language, called Metadata.json. For example, AddonTranslations contains the following files as of 0.1.0:

-a----         2/29/2024  11:39 AM         232234 arb-T.txt
-a----         2/29/2024  11:39 AM         184438 arb.txt
-a----         2/29/2024  11:39 AM         133504 chi-T.txt
-a----         2/29/2024  11:39 AM         198677 chi.txt
-a----         2/29/2024  11:39 AM         134067 cnt-T.txt
-a----         2/29/2024  11:39 AM         198850 cnt.txt
-a----         2/29/2024  11:39 AM         171209 dtc.txt
-a----         2/29/2024  11:39 AM         149696 eng.txt
-a----         2/29/2024  11:39 AM         150170 enk.txt
-a----         2/29/2024  11:39 AM         192963 fre.txt
-a----         2/29/2024  11:39 AM         255617 frs.txt
-a----         2/29/2024  11:39 AM         186980 ger.txt
-a----         2/29/2024  11:39 AM         336842 grk.txt
-a----         2/29/2024  11:39 AM         404558 ind-T.txt
-a----         2/29/2024  11:39 AM         176800 ind.txt
-a----         2/29/2024  11:39 AM         179106 ita.txt
-a----         2/29/2024  11:39 AM         222422 jpn.txt
-a----         2/29/2024  11:39 AM         189789 kor-T.txt
-a----         2/29/2024  11:39 AM         184358 kor.txt
-a----         2/29/2024  11:39 AM         145953 ltn.txt
-a----         2/29/2024  11:39 AM           3329 Metadata.json
-a----         2/29/2024  11:39 AM         174317 ptg.txt
-a----         2/29/2024  11:39 AM         181449 rmn.txt
-a----         2/29/2024  11:39 AM         295653 rus-T.txt
-a----         2/29/2024  11:39 AM         174255 rus.txt
-a----         2/29/2024  11:39 AM         181854 spa.txt

You can learn more about how to make this folder with this structure by going to the translation internals here:

Once you point mklang to a directory containing these files, you'll be taken to a screen that allows you to select an English string to be translated. You can select one of them by moving up or down and pressing ENTER. Then, you'll be provided with a list of languages and their translations like below:

Select any of them, and you'll be presented with an input text telling you to enter a translation of the selected string in the selected language. Once done, press ENTER, and your translation will be placed.

If you're done translating the same string in all the languages, you can go back by highlighting Go Back. Repeat this process for every single string that you want to translate.

  • You can also add a new string by highlighting the New string option. You'll be prompted to write the string that you want translated. You can then translate the same string for all the languages.

  • If you want to remove a string, you'll have to choose the Remove string option. You'll be prompted to select a string that you want removed.

If you want to save the translations and make them usable as a language, you can choose Save translations, and your translation files will be placed under the Output folder.

Custom Languages