So I am using GrapheneOS for few weeks already, it's cool, I like it. But it seems like all GrapheneOS related functionality has been not localized. Firstly I thought it's just because I use Russian, but then I went to check source codes and found out that there are only default English strings, not even Deutsch. So I am not sure right now: does project accept l10n/i18n as a thing? Or it will be single language?

I've prepare a PR with Russian l10n here for the Camera app: https://github.com/GrapheneOS/Camera/pull/316
Want to continue, but without clarifying answer it would be probably a waste of time.

    I have mentioned this to the dev team, and have received the response that the project isn't currently looking into localisation.

    This is due to multiple factors:

    • lack of funding to implement what's needed for it and to organize translation teams per the projects requirements
    • lack of committed contributors and maintainers
    • requiring splitting out the strings/other preparation work as a prerequisite to forming translation teams
    • lack of contributions adherence to code review or fixing issues addressed by it

    It maybe considered again in the future but right now the team are focusing resources on the primary scope of the project.

    Considering the funding issue however all users can help bring it closer to fruition if people donate, GrapheneOS is entirely funded by donations.

    https://grapheneos.org/donate

    Only for anyone serious enough about doing it, in a professional, considered and thought out way respectful of what is requested and has been written to do complete translations, that can be reviewed & maintained should join the public development room on [Matrix] https://matrix.to/#/#dev:grapheneos.org
    Help with things currently being asked for to demonstrate ability, commitment etc

    lord The first step is splitting strings out into resources properly and organizing a translation team for the language, not submitting incomplete translations we can't review.

    • lord replied to this.

      strcat sure, it was just a first try to listen a feedback. What do you mean by "splitting out resources properly"? I could try, but would be nice to see some examples where it done right.

      Please take a look at weblate.org, it's free for open source projects or even could be selfhosted on gos servers.

      Many projects using this (me too for my own apps).

      a year later

      Titan_M2 GrapheneOS is not interested in the usual "crowdsourced" way to do translations.

      For the OS, services, and docs to be translated, it would have to be done by dedicated teams which are capable, highly skilled and able to work fast.

      It is extremely important that translations are done on time to avoid half of the strings being translated while others are not, and to ensure that the meaning of settings etc. is captured 100%. Something being unclear in the translation can mean someone toggling the wrong thing, which can do real damage.

        Titan_M2 Could GrapheneOS consider community contributed translations via https://crowdin.com ?

        It would be great to support more languages. Clearly many GrapheneOS users -- and potential users -- would benefit from support for languages other than English.

        A many-editors model works for Wikipedia. But it works because of the moderators who ensure quality, mediate disputes, clean up mistakes, ensure consistency, etc. I suspect the GrapheneOS team would be interested in people willing to take on management/infrastructure/coordination roles for translation, and that having somebody in such a role would be a prerequisite for individual volunteer contributions.

        Please note that I do not speak for the GrapheneOS project.

        2 months later

        Would it be possible to review this once more? I mean, would it not be beneficial to create the foundations for localization ready and then decide how you want to control the quality of the translations in some way. Some kind of local file support would be a good first step for anyone interested.

        I would be interested in localizing to Finnish, since I recently installed GrapheneOS for my mother, who only has a basic knowledge of English. I have never tried Finnish before with GrapheneOS, so the reality came as a suprise for me as well. Of course, majority of the OS is already in Finnish, but the GrapheneOS specific parts are here and there mixed in.

        • de0u replied to this.

          matchboxbananasynergy For the OS, services, and docs to be translated, it would have to be done by dedicated teams which are capable, highly skilled and able to work fast.

          I'm actually happy to hear this. There are too many open source projects with terrible translation quality, leading to user confusion because the translator either mistranslated or provided imprecise translations for technical terms.

          • modu replied to this.
          • N1b likes this.

            modu Would it not be beneficial to create the foundations for localization ready and then decide how you want to control the quality of the translations in some way.

            My (completely unofficial!) sense is that a commitment from a manager is viewed as the foundation. While tools exist, they do not by themselves result in coverage or accuracy. Setting up tools without the human infrastructure to deploy the translations could result in volunteers wasting their efforts and feeling mistreated.

            So far this thread has (understandably) heard from people hoping translations can be added. It would be good to hear from people with experience running a successful translation team.

            Relaks You are probably correct on this one. I just checked Weblate and it's and at a first glance it seems to be a terrible tool for managing localization if the translator has no deep knowledge of the product's layout design and such. Where are the tools that give example use cases of the strings in, for example, UI elements. Now that I wrote this line, I might start capturing screenshots and context concerning localizing GrapheneOS.