matt-kruse / SocialFixer

Social Fixer is a browser extension that enhances Facebook
41 stars 14 forks source link

Social Fixer in Dutch #23

Closed vanwaard closed 3 years ago

vanwaard commented 3 years ago

Matt can you make socialfiaxer in dutch

mjeveritt commented 3 years ago

If you're able to do some translation work, I'm sure this can be incorporated into the release version. Alas, none of the present development team are conversant, so it would have to be a community-driven effort.

@matt-kruse @filbo - how easy would it be to create some JSON translation files in the socialfixerdata repo ??

matt-kruse commented 3 years ago

I have had many requests for translations over the years. Unfortunately I can't entertain those ideas because no one ever volunteers to do the translations, and waiting for new wording to be translated before a release would be cumbersome. I don't know a way of releasing something like this in multiple languages without more development bandwidth.

mjeveritt commented 3 years ago

I have had many requests for translations over the years. Unfortunately I can't entertain those ideas because no one ever volunteers to do the translations, and waiting for new wording to be translated before a release would be cumbersome. I don't know a way of releasing something like this in multiple languages without more development bandwidth.

Yes, that was one thing that definitely sprang to mind when I thought about it - hence using the SFx 'data' repo rather than core code. I'm pretty sure this is how its done in other software, so that main development is separate from translation strings. There'd have to be some basic fall-back code, but I suspect once the back-end stuff was set up, it should be relatively easy for community members to submit updates. Of course, that still means someone has to merge the changes, but I think for now, that myself and Bela are pretty switched on here... it could even be opened up to other USG members potentially if they felt able. Failing that, another repo for translations specifically could be opened up, with an appropriately 'vetted' contributor list!

@matt-kruse Speaking of which, do I have commit/PR rights to the SFxData repo? I'll likely PR any changes for review, with a final merge timeout if needed, but just to back Bela up on some of the 'hot' issues...

filbo commented 3 years ago

The English text within SFx is spread all over the code, including not only Javascript sources but also HTML and even a little bit in CSS.

To translate it to any one other language, one could copy all the files, then edit them so all of the strings were in that language. But then you would have a fork which would be nearly impossible to maintain.

To make it amenable to general translation, every single inline text which is used in the user interface would have to be replaced with calls to an i18n lookup API, which is a major disruption to the original English version.

That's just to prepare it for the ability to be translated. Then someone would have to do translations; and keep them up as the main code changed.

None of this is impossible; but it is an impossible waste of the developers' time. Even if a 3rd party did 100% of the i18n-ready code work, Matt would still have to spend the time to check and merge it, probably a few days' work in itself.

Oh, that is just to get the SFx user interface ready. Some of the userdata -- {filters,hideable,tweaks}.json -- uses English in pursuit of the Facebook user interface. Those also would have to be translated and maintained to match changes as FB send them down to their various-language users. Look at the 'Suggested' filter; hiders which use [aria-label]; looks like none of the (few) current subscription tweaks are language-dependent; and of course the descriptions and names and/or titles of all of those JSON entries.

mjeveritt commented 3 years ago

OK OK perhaps I underestimate this a little.... :roll_eyes:

Perhaps it would be sufficient to say, "OK chaps, lets not make this any worse" then .. :rofl:

filbo commented 3 years ago

I pay attention in SFx code and in hiders, tweaks & filters, trying to make them UI-language-agnostic. Sometimes this just doesn't work at all (e.g. the 'Suggested' filter). But whenever I can find internal IDs or other structural details to identify things, other than English language strings, I use those.