Giter VIP home page Giter VIP logo

protondb-i18n's Introduction

protondb-i18n

A crowdsourced journey to translate ProtonDB (News post)

Overview

ProtonDB loads its text using react-i18next resource bundles in JSON.

Each language, as represented by their 'xx-XX' BCP-47 language tag, lives within locales. Within each locale's directory are the following files:

  • protondb-content.json (translations for content around the site)
  • proton-report.json (translations for the reporting flow specific to Proton)
  • questionnaire.json (translations for generic items in the reporting flow)
  • general.json (everything else)

Prerequisites

None! You can browse this repository and edit the files manually. But editing language files can be fiddly and typos are common. It's preferable to grab some tools:

  • Node.js
  • yarn (if you want to skip this, npm is included with node and will probably work fine as a substitute).
  • A text editor, ideally one with colored formatting for JSON.

Contributing

All native speakers are welcome to contribute! Please do not make pull requests with automated translations.

  • Fork this repo
  • Download your fork
  • In your downloaded directory, install dependencies by running yarn
  • If starting a new locale, create the directory named after your language tag within locales and copy over files from the locales/en-US directory
  • Make your changes/additions
  • Review them visually (see Verify Your Changes below)
  • Run yarn lint:json to validate everything is alphabetized and formatted properly
  • Commit, push, and open a pull request!

Any questions? Ask us on Discord You might want to let us know on there anyway that you're starting work so that we can add you to Known Active Translations below.

Verify Your Changes

Keep an eye out for page rendering issues if your text is smaller or larger than the English equivalent, and open an issue with a screenshot if you cannot fit readable words for your language.

  • Learn how to modify your browser's local storage (here are instructions for Chrome and Firefox)
  • Visit ProtonDB
  • If you're not already, switch to English
  • (NEW): For both files, copy the values for i18nStamp and i18nVersion that occur in the ones that are stored in your local storage.
  • For each file in the locales directory, copy its contents into a local storage entry of i18next:en-US-filename, i.e. i18next:en-US-proton-report
  • Reload and review
  • (NEW): When finished, remove the values you added for i18nStamp and i18nVersion before submitting your PR

Maintenance

As ProtonDB continues development, new text will be added that may need translation. For a quick way to verify if a language is missing translations (or has identical ones to English), you can run: yarn compare --locale <locale-code>

Hall of Fame

Coming soon

  • An expanded ProtonDB help section will need translations too!

protondb-i18n's People

Contributors

bdefore avatar newbytee avatar noxphasma avatar julroy67 avatar kabinbr1 avatar mialy avatar iodream avatar homyakin avatar laichiaheng avatar flashonfire avatar apontini avatar nocymer avatar mte90 avatar hypothermic avatar csengor avatar kherchel avatar pedrofleck avatar dependabot[bot] avatar xnick avatar protoroto avatar infopcgood avatar fjuro avatar ciliane avatar xathech avatar wuku0 avatar spagoc avatar citroenboter avatar voxelcubes avatar sebgoliot avatar santisteban avatar

Watchers

 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.