Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translations #88

Open
allo- opened this issue Jul 20, 2017 · 6 comments
Open

Translations #88

allo- opened this issue Jul 20, 2017 · 6 comments

Comments

@allo-
Copy link
Owner

allo- commented Jul 20, 2017

Help us to translate the site.

@Atavic
Copy link

Atavic commented Nov 13, 2017

So it's in english only for now?

@allo-
Copy link
Owner Author

allo- commented Nov 13, 2017

Yes. But there is support for translations, note the _() at
https://github.com/allo-/firefox-profilemaker/blob/master/forms.py#L95

There is currently no support for automatic .po generation for the settings, but it should work to compile them with ./manage.py compilemessages. See https://github.com/allo-/firefox-profilemaker/issues/74 and an (unfinished) example at rmoch@ec7c0fa.

@Atavic
Copy link

Atavic commented Nov 13, 2017

Can't I just fork and translate the json files in /settings/?

@allo-
Copy link
Owner Author

allo- commented Nov 13, 2017

If you use gettext, the site can easily switches from one language to another and there are good programs which allow you to match your translation with changed strings in future versions, so you can update it without search what's changed.

Have a look at the wikipedia page for gettext: https://en.wikipedia.org/wiki/Gettext. The system features things like plural forms, fuzzy matching, single line vs. block translations and much more. And there are a lot of programs to make it easier to deal with the files. I like to use gtranslate, but from the screenshots Poedit looks nice as well.

If you really want to, go on and translate the raw text. This can still be converted to gettext files and I do not want to stop you from helping. If you want to do so, put your translated files in another folder, so I can merge them without overwriting the original files.

@olivertzeng
Copy link

If you use gettext, the site can easily switches from one language to another and there are good programs which allow you to match your translation with changed strings in future versions, so you can update it without search what's changed.

Have a look at the wikipedia page for gettext: https://en.wikipedia.org/wiki/Gettext. The system features things like plural forms, fuzzy matching, single line vs. block translations and much more. And there are a lot of programs to make it easier to deal with the files. I like to use gtranslate, but from the screenshots Poedit looks nice as well.

If you really want to, go on and translate the raw text. This can still be converted to gettext files and I do not want to stop you from helping. If you want to do so, put your translated files in another folder, so I can merge them without overwriting the original files.

Is it fixed rn? I can help with zh_TW. But I really do want to ask if this website supports Firefox forks such as Waterfox.

@allo-
Copy link
Owner Author

allo- commented Nov 9, 2023

No support for translations yet. If you are interested in tacking this, there are two possible approaches:

  • load name/description from second JSON file with the same name (or a field referencing the filename of the setting. This won't support any gettext tooling, but only needs one to load the field from another file.
  • Generate fake python files from the JSON files, that can then be translated using gettext tooling. When loading the JSON files use gettext with the string from the JSON file that was translated in the generated python file.

For the webinterface itself Django already has good gettext support.


Firefox forks should work with most settings and the other settings are silently ignored.
Forks from earlier versions may not support all enterprise policies (only relevant for the enterprise policy export and not for the prefs.js or profile.zip export) and I am not sure if the method for pre-installing extensions works for all forks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants