Translating the Web Client

How to translate the web client to your own language or propose changes.

Web Client Translation

The OpenAudioMc web client relies on "language files" to translate the web client into different languages. These language files are contributed by the community and are available in the GitHub repository (look for all the files ending in .lang).

How do these files work?

Each language file can be opened like a plain text document. The file is structured in a way that each line is a key-value pair. The key is the key that is used in the web client to translate a string, and the value is the translated string. For example, the following line:

home.confirmLoginHeader=Welcome back!
home.confirmLoginBody=Are you trying to login as <i>%player</i>?<br />If you are not, please clo



Values can:

  • Include basic HTML
  • Contain emojis
  • Include HTML/Utf encoded characters

Values cannot:

  • Include line breaks
  • Include raw special characters (like & or <) without encoding them
  • Include non-alphanumeric characters (like é or ü) without encoding them

How do I contribute?

If you have a language that is not yet supported, you can contribute a language file by following these steps:

  1. Fork the GitHub repository
  2. Create a new file in the client/public folder, and name it lang-<language code>.lang (for example lang-en.lang for English)
  3. Translate the file, and make sure to follow the rules above
  4. Register your new language file in the service, mapping the country code to the language file name. Please make sure to keep it valid JS, so take care of the trailing comma before the last entry.
  5. Create a pull request on GitHub, and tell us in our Discord server that you have created a new language file. We will review your pull request and merge it if it is valid.

How do I propose changes to an existing language file?

If you want to propose changes to an existing language file, you can do so by following these steps:

  1. Fork the GitHub repository
  2. Edit the file in the client/public folder, and name it lang-<language code>.lang (for example lang-en.lang for English)
  3. Translate the file, and make sure to follow the rules above
  4. Create a pull request on GitHub, and tell us in our Discord server that you have changed a language file. We will review your pull request and merge it if it is valid.

How do I preview my changes?

If you want to preview your changes, you can do so by following these steps:

  1. Fork the GitHub repository
  2. Open a terminal in the root of the repository, and run cd client/ && npm install --force && npm start
  3. Open a browser and go to http://localhost:3000

Javadoc