Please bake in localization from the beginning

One of the major technical decisions SE ran with early on was to hard code all their strings into the software and not worry about localization. This created a lot of technical debt that made launching non-English sites very problematic. This is 2020 and there is no excuse for doing that again. I propose that any and all code right out of the gate should be designed with localization in mind, which means never hard coding the strings into the code but abstracting them via a localization interface.

Furthermore I strongly advocate for the use of Fluent as the localization system as it is far and away the most flexible system on the market today and will ultimately produce the best translated interfaces when somebody wants to run a non English site.

12 Likes

This seems pretty intense. Not saying I’m outright against it, but we would need more data on this.

Correctly using Polish grammar in the future is a nice-to-have, but having MVP half a year later because of that wouldn’t be worth it.

What is your experience with (implementing) this?

1 Like

I have already suggested that a lot of things (e.g., names of Trust Levels, Help Text/FAQs, but I am pretty sure I have mentioned other things) be customizable per instance & per community. That will go a long way toward localization. I don’t think “each user selects a language” is necessary - my hunch is that each Instance (and less commonly each Community within an Instance) will make their choice. For example, an instance based in Mexico about Mexico and neighboring Latin American countries about relevant topics (no idea what that would be, but I’m sure there is something) might choose to have everything in Spanish.

I don’t know how things are typically done with C#, .NET, etc. My guess is that in addition to any database-driven localization (e.g., Trust Level names), a file or two containing all the boilerplate text (instead of scattering it through the code) can make it very easy for a new instance to localize, even if no formal process exists.

1 Like

But that’s just a part of every thing that would need to be translated in case you want to have an instance/community in another language. I remember the amount of work and volunteers needed just to translate enough of the content for SO in spanish…it was a lot. I’m not saying that codidact must have communities in other languages apart from english, but there is a benefit in preparing for it if that’s a future goal

2 Likes

Hey, good to see you on here!

Except for the non-English sites being a mistake from the beginning. That’s a very valid excuse.

Having said that, serving up localized UI text to users with a different native language is a worthwhile goal. But promoting non-English content (particularly on skill-oriented Q&A sites; sites such as Spanish.SE dedicated specifically to the learning of a non-English language are different for obvious reasons) is a bad idea. Having people asking questions about general-interest topics in multiple languages causes harm in multiple ways:

  • When people ask and answer questions that the majority of the community cannot understand, this will inherently lead to a lot of duplication, much of which will go undetected
  • When people ask and answer non-duplicate questions that the majority of the community cannot understand, you get something even worse: the inaccessible isolation of useful knowledge
  • When people are affirmatively encouraged to commit such harms against the community, it also harms them, particularly in technical subjects where English is the worldwide lingua franca for broader participation, by creating false expectations that will bite them later.

My take on non-English sites is basically, if this little boy could do it, so can anyone:

When I turned 11 we had to leave East Germany overnight because of the political orientation of my father. Now I was going to school in West Germany, which was American-occupied at that time. There in school all children were required to learn English and not Russian. To learn Russian had been difficult, but English was impossible for me. I thought my mouth was not made for speaking English! My teachers struggled. My parents suffered. And I knew English was definitely not my language.
But then something changed in my young life. Almost daily I rode my bicycle to the airport and watched airplanes take off and land. I read, studied, and learned everything I could find about aviation. It was my greatest desire to become a pilot. I could already picture myself in the cockpit of an airliner or in a military fighter plane. I felt deep in my heart this was my thing! Then I learned that to become a pilot I needed to speak English. Overnight, to the total surprise of everybody, it appeared as if my mouth had changed. I was able to learn English. It still took a lot of work, persistence, and patience, but I was able to learn English! Why? Because of … a strong motive!

– Dieter Uchtdorf, former German air force pilot, later a pilot and eventually Senior Vice President of Flight Operations with Lufthansa.

As far as I’m concerned, this is another “let’s not repeat SE’s mistakes” topic.

2 Likes

so, to be clear, you think that sites like SO in spanish are a mistake and there shouldn’t be non-english content on skill-oriented Q&A sites?

1 Like

Right. I think that SO having non-English versions of SO causes immediate-term harm to the broader community and long-term harm to the participants On the non-English sites themselves, and so it’s a mistake we should not repeat.

3 Likes

Well, thanks for giving a straight answer. It’s an interesting position to have and not one I expected to see here in Codidact, to be honest; but it’s good to know this early. I don’t think I can agree that having Q&A sites in other languages would be a long term harm to the participants on those sites by a long shot and this further clarifies that this is a project in which I shouldn’t involve myself in

3 Likes

I’m a Spanish native speaker. Learnt English pretty much forced by the need of keeping up with knowledge development (a mechanical engineer), that is naturally lagging in Spanish compared to English.
I’m not really fan of SO in Spanish. The site has very little traffic, everything is kind of mixed and the feeling most people get is that the “experts” aren’t as expert as those in the standard SO (I gather that from the many Spanish speakers I’ve directed there to ask their R questions).
Most people end up taking the additional steps to ask their questions in English. The response time is much better and often the quality of the answers, too.

I don’t think it will be good to have questions asked in other languages, for the reason @MasonWheeler explained. However, I think we should create a kind environment where someone with a less-than-good English can ask his wonderful question. Putting to high a bar in terms of grammar and spelling could deter some of the OPs.

I’ve edited many questions in SO that were asked (rather obviously) by non-English speakers. Sometimes I can infer they are Spanish or Portuguese speakers by the kind of errors they make, so I can edit those questions and almost always deliver what the OP wanted and couldn’t say. Then my idea:

  • All questions and answers should be written in English, that’s a hard rule.
  • Create tags that allow the OP to identify his / her native language (if he or she feels that there are some limitations), so specific language-able editors can look at those questions and improve them (removing the tag, aftwerwards).
  • Avoid the proliferation of clone sites that only differ in language.
6 Likes

Even on Stack Exchange, there were a few threads regarding the issue of non-English languages:

This one seems to hit the nail on the head.

However, isn’t localisation a good practice in general? I personally disagree with hardcoding strings etc. for the sake of quickness.

1 Like

Yes, I agree 100%. My goal is not to exclude people, but rather to discourage bad habits.

On boards that are targeted at language learning (like the Russian, Japanese, French etc boards on SE) I see nothing against it. People aren’t there to start learning it, they’re there for specific questions. People there can be expected to e.g. know Russian.

But in general… I think it was stupid when they launched SO in Portuguese or what that was.

It goes completely against the idea of having a central repository for (programming) knowledge. In a way, they’re putting a bunch of people on the spot, making them choose to devote their time to the more general option for all humans vs patriotism. That fight is already destroying enough IMHO.

5 Likes

well, I really disagree with the premise that non english sites cause immediate and long term harm to the communities…actually find it kind of offensive. As I said, I appreciate the clarification, this is your project, and you should do with it what you see fit. Was just trying to understand if this is something I wanted to be involved with

5 Likes

I don’t understand. What is offensive about the notion that promoting division and isolation rather than unity causes harm?

I don’t want to actually create drama or anything, but the way people here are talking about those sites show that you just don’t understand the difficulties some people have about being devs with no english skills. “stupid that they launched SO in portuguese or what that was”, “promoting division and isolation”…you just aren’t thinking about other people that can’t write questions in english and don’t have a “stupid site” to ask. So, that was my last comment here, no need to keep the topic going for me

1 Like

It’s not “his” project and it’s not an ultimate verdict either.

We’re discussing this here, as in: this very thread is part of the decision which way this will go.

If you put forth a good argument for splitting communities into languages, you can very well sway the “public opinion”.

4 Likes

Well, I certainly didn’t mean to offend, I just literally don’t remember if it was Portuguese or Spanish or whichever language other than English. Which is what almost all programming languages are in. How many programmers who are (trying to become) professional will be able to avoid learning English? Does a programming language with Portuguese keywords (& grammar, I guess) even exist? (I really don’t know.)

1 Like

I wasn’t using “you” to refer to him specifically. And no, I’m not eloquent enough to put a good argument and sway the “public opinion”. I was just deciding about cooperating with the project or not

Not sure about Portuguese specifically, but I know that VBA (Visual Basic for Applications, Microsoft’s old scripting language for Office) was localized like this for a bunch of languages, so for example a French user would write the keywords vrai and faux rather than true and false. It’s widely considered a misfeature that draws ridicule even from native speakers, precisely because of the difficulty it causes for international collaboration.

2 Likes

Programming languages have keywords in english, but that doesn’t mean that the programming language is in english…that’s why it is a “programming language”. Of course a person can use a programming language and not know how to ask a question in english.

1 Like