Code Monkey home page Code Monkey logo

infiniteflight-localization's Introduction

Infinite Flight Localization

This repository is for translating the Infinite Flight app into other languages. Contributors must sign the CLA and contribute via Pull Requests.

Supported languages

The base language of the app is English. Infinite Flight will provide all the base strings inside the strings/AppResources.resx file. We have added additional translations for:

  • Spanish
  • French

If you are interested in contributing a language, please create an Issue first so you can be assigned by Infinite Flight staff to make sure this isn't already being contributed.

Adding support for a new language

To begin translating Infinite Flight into a new language, create a new file called strings/AppResources.[code].resx. This code should be the two-digit ISO-639-1 language code, which you can reference from here.

Once you have edited this, you can add translations using the same code inside ServerMessages and Tips.

How to edit

Localization string files are in resx format, which is a version of XML designated for localizing app strings. This means you can edit these files inside a text editor or using a specialist editor.

Recommended: ResxResourceManager

This is only supported on Windows

ResxResourceManager allows you to easily see all missing translations from the base English version. You can show the original English version in a column for easy editing, or import/export to a spreadsheet.

Download: https://github.com/dotnet/ResXResourceManager/releases

ResX Editor for VSCode

Download: https://marketplace.visualstudio.com/items?itemName=DominicVonk.vscode-resx-editor

Edit the source

Each .resx file is an XML file and can be edited inside a text editor.

ServerMessages and Tips are json files and can be edited in any text editor. VSCode is an example of this.

Formatting and Verbiage

  • Use commonly known aviation terms where possible. Infinite Flight aims to be accessible without requiring technical language to be learned.

  • Text strings with values such as {0} and {1} represent variables which are replaced at runtime in the simulator. The comments should explain what these variables represent, but please ask if you are unsure.

  • Translated text should be equal or shorter in length to the English equivalent whenever possible to ensure it will fit in the UI. Please state in the Pull Request if this isn't possible.

  • For ServerMessages, it is important to state the following in the welcomeMessages:

    Communications with ATC and other pilots is done in English (the official language of aviation)

Getting started with GitHub

If you are new to GitHub and don't know where to start, go here. You should then create a GitHub account if you haven't already, and fork this repository to contribute.

Pull Request Reviews

Before a new language is added into Infinite Flight, the PR should be reviewed by another speaker of this language to ensure the content is correct.

infiniteflight-localization's People

Contributors

carmichaelalonso avatar mlaban avatar moritzbabl avatar henriquechen avatar linkhousemedia avatar prollin avatar lordwizrak avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.