Giter Club home page Giter Club logo

firefoxios-l10n's Introduction

Firefox for iOS localization

Localization for the Firefox for iOS project.

The application code with build instructions can be found at https://github.com/mozilla-mobile/firefox-ios.

Matrix channel: #fx-ios.

String updates

Automation is used to extract strings from the code repository, and expose them to all other locales.

  1. Strings are extracted and saved in the en-US XLIFF file.
  2. The updated en-US XLIFF is used as a template. Existing translations are copied over if all these elements match:
    • id attribute of trans-unit.
    • original attribute of file.
    • source text.

As a consequence, the default update removes translations if:

  • The source text was changed.
  • The string was moved from one file to another.

This is not ideal when the change in the source text is trivial, or the string move is caused by code refactoring.

It’s possible to invoke automation manually, and use a different matching criterion:

  • nofile will copy translations if the ID and source text match, ignoring the file. This is useful to minimize the impact of code refactoring.
  • matchid will ignore both file and source text, copying translations if the ID matches. This is useful for source changes that don’t require invalidating existing translations.

Linter for reference strings

When opening a pull request that touches the en-US folder, a GitHub workflow is used to check for common issues in the reference strings (misused quotes or ellipsis, hard-coded brand names). It's possible to add exceptions in this JSON file.

Locales in build

Check product locales

Brand new locales might not be correctly imported in the product. This workflow tries to identify missing locales looking at .lproj folders in the product repository.

License

Translations in this repository are available under the terms of the Mozilla Public License v2.0.

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.