Please bake in localization from the beginning

This is a very old discussion on Stack Overflow

https://meta.stackexchange.com/questions/16972/wat-gebeurt-er-met-een-vraag-die-niet-in-het-engels-wordt-gesteld-what-happen

It might be a lot of effort to create entirely different language sites, and they do not seem to be viable due to little attention/traffic (not yet, at least not on Stack Overflow).

I guess that the practical thing to do is to provide some way of translation, like some chats in computergames do, and keep the basis in English.

1 Like

There are people with worse English skills here who have done so already. Youā€™re definitely eloquent enough and could certainly give it a try!

Itā€™s very much meant as a community project (in a certain way, thatā€™s the whole point; opposed to corporate decisions at that place).

However, that also often means that the community goes against what one as a person thinks is the way to go - as I myself have experienced a couple of times already now.

Sure, but thereā€™s also grammar.
Iā€™m German, we love our language so much that we dub all those American movies; even the TV serieses! However, I know that trying to write C# code in German produces very awkward constructs. I canā€™t imagine programming languages working well with Polish or Spanish either.

3 Likes

Just for the record, I am well aware of how difficult it can be. I spent two years living somewhere where they donā€™t speak English! And when you donā€™t really have a choice but to speak the local languageā€¦ you learn. So I did, and having done so has enriched my life greatly. This experience strongly informs my perspective on such matters.

2 Likes

Itā€™s very much meant as a community project (in a certain way, thatā€™s the whole point; opposed to corporate decisions at that place).

However, that also often means that the community goes against what one as a person thinks is the way to go - as I myself have experienced a couple of times already now.

I get it, itā€™s just a community that will be better without me here. Rooting for you guys anyway, keep it going and I hope you make this a great site

1 Like

but itā€™s not the same. I was specifically speaking about devs with no english skills, and no real way to learn quickly enough for their needs.

Iā€™ll throw my $0.02 in:

  • I am very much in favor of localization (aka language) on an instance or community basis generically as it adds value and flexibility to the software
  • I generally agree that for a community focused on a computer language or similar technology where the core technology being discussed is English-based, and therefore documentation, worldwide collaboration, etc. are largely in English, that the expectation would generally be appropriately so that the community should operate with English as the lingua franca.
  • In such cases of ā€œEnglish community language but worldwide usage by non-native speakersā€, the community (helped by moderators) should endeavor to make the site open and welcoming to non-native speakers. That means politely helping those people turn their questions from a mix of languages/messed up grammar/etc. into clear and proper English. It also means letting anyone who posts entirely in a foreign language know that they should make at least some reasonable effort to write in English.
  • Any community, particularly but not exclusively, communities dedicated to Q&A regarding a foreign language, they should be able to relatively easily customize the site to suit the needs of their members. I suggest a basic structure for this (all strings in a few easy-to-change places) as MVP.
  • Not MVP would be a way for an instance or community to support multiple languages. For example, a Spanish Language (i.e., devoted to the study of Espanol) community could have a switch for members to flip help/FAQ/etc. between English and Spanish) with the community determining by consensus whether it is ā€œask in English or Spanishā€ depending on how they want to operate.
8 Likes

I used to play a text-based role-playing game called Cantr II: https://cantr.net/ Itā€™s totally free, and has only a handful of developers (maybe just 1 or 2). But it supports a large number of languages. How? Communities write their own translations. They start of with an English site, and users translate as much as they can. To facilitate translations, the developers minimize hard-coded text.

When foreign-language sites arose, it was a big problem for Stack Exchange. Internationalization ā€˜State of the Stackā€™ Stack Exchange were bogged down in (a) translating the sites themselves, and (b) having no members of staff to assist the initial sites. Itā€™s probably worthwhile bearing this in mind if Codidact is aiming for large scalability.

4 Likes

I donā€™t think we get to decide on what languages people can create content in. Thatā€™s for the communities to decide, and I am sad that a quick back-and-forth here led to hurt and misunderstandings.

The software doesnā€™t care what language content is in, aside from any special considerations for supporting other character sets ā€“ which we have to deal with anyway, because weā€™ve said localization is a goal.

This instance hasnā€™t yet set any policies about ā€œgatingā€ communities, though I think weā€™re all agreed that we want to be broadly welcoming but keep out things like hate sites. That guidance suggests to me that if a community of $language-speakers want a site in their language, they can have it. At the very least, I donā€™t think anybody here has the authority to say either ā€œnoā€ or ā€œyesā€ today; itā€™s a discussion that hasnā€™t really happened. Donā€™t assume ā€œnoā€.

All that said, we should think (not for MVP!) about whether we want to support multilingual sites to reduce the silo effects of ā€œprogramming in Englishā€ vs ā€œprogramming in Spanishā€ vs ā€œprogramming in Hebrewā€ etc. Maybe thereā€™s a way to bring them together somehow, even if it means there might be some answers on your question that you donā€™t understand. Or maybe thatā€™s crazy; I havenā€™t thought about this for more than two minutes so far. Iā€™m just saying: donā€™t rule things out, but also letā€™s focus for now on the MVP.

12 Likes

Hey folks, I think weā€™re missing the main point of this thread.

The question is whether the software should be written from the start to be localizable easily, not whether the Codadict sites should be in English or not. The latter is really not relevant here.

As I understand it, the purpose of the Codadict effort is not only to have a bunch of Q&A sites, but to have software freely available to anyone to host their own sites. The question about localization capability in the software is more about the latter. Does it make sense to design the software so that it can be localized relatively easily by others in the future?

Iā€™m not a web software expert (electrical engineer), but it seems to me that designing in the capability of having any text presented to the user come from some file or database that can be translated is not that hard to do. If that is true, then it seems like the obvious way to proceed.

14 Likes

Point of order: what Olin said. This thread is about whether or not our software should support localization, not whether we should host foreign-language communities or not.

To be clear: weā€™re not at a stage where weā€™re able to make a decision on whether hosting foreign-language communities is a viable endeavour for us yet. Thatā€™ll come much later down the line, when we have software and have been hosting our own English network for a while. This thread is simply ā€œshould our software be able toā€?

15 Likes

On the question of interface localization, there are several questions to be asked.

First, of course, whether we should have it at all at some point (to which I think the answer is a clear yes).

Second, if it needs to be in MVP. The starting post claimed that it is painful to add it later. However I wonder if that pain really came from not adding it up front, or rather from not considering up front that it eventually will have to be added. That is, do we really need to make the effort to build localization in from the start, or would it suffice that we make sure that the right hooks for localization are there, and that the interface reacts appropriately to strings of varying lengths. And related to it, how much different is the work between supporting localization, and supporting the later addition of localization.

The third question, which will likely only be relevant once we start to actually localize, is which localization framework we will use (assuming we donā€™t write everything by hand).

The fourth question (which certainly will be relevant only when actually implementing it) is on which level the decision should be made: At the instance level? At the community level (possibly with an instance default)? At the user level (possibly with a community or instance default)?

4 Likes

I think our MVP localization requirement should be: donā€™t impede localization.

Donā€™t do anything that will make it hard to do later, but we donā€™t need to have it for MVP.

13 Likes

Just posting so you donā€™t worry more than needed, Iā€™m absolutely not hurt at all. The back and forth was clarifying to me anyway to better understand what some future goals the community here has in mind and Iā€™m thankful I could get some answers about it

5 Likes

Designing the software to be localised will be a small amount of overhead at the beginning, and then largely the same time for development going forward as if you were adding hard coded text.

If English text is initially hard coded then to add localisation you not only have to add a system, you also have to go through and reimplement all hard coded text.

I use hard coded text all the time, in small projects, or things that arenā€™t going to be used for long. But if we intend Codidact to be used for years then I can think of no reason not to build in localisation from the beginning.

The same logic applies to the choice of localisation system - replacing a poor one with a better one will take approximately as much time as replacing hard coded text. So this is an important choice. We should use a proven library and not try to make one from scratch.

10 Likes

What if questions and answers could be community translated? Are there any thoughts on this? It sort of reminds me of community translated subtitles on YouTube.

1 Like

OK first, as weā€™re discussing localization here I want to introduce this widely used acronym:
L11N = Localization (L followed by 11 letters, followed by n)
What can I say, programmers are a lazy breed and it gets tedious to write out every time.

Second, let me clarify a slight misconception here:

I wouldnā€™t expect any impeding of l11n to happen anyway. ASP websites have resource files where you can put all text, and in my experience itā€™s standard to use them even if there is no localization (itā€™s just cleaner). L11n is then not much more work than copying that file and replacing the text with the equivalent translations.

However, the proposal of Fluent in the initial post here is a more complex beast, supporting e.g. correct Polish grammar, where thereā€™s things like different plurals for small vs bigger quantities etc. Thatā€™s why it would be really nice to get an experience report about how much work something like that would be. Because that could be considerably more work, for something that isnā€™t really a dealbreaker for l11n.

7 Likes

ā€¦thatā€™d be l10n you mean there :slight_smile:

4 Likes

Hu, I never noticed thatā€¦
Iā€™ve only ever seen L11N, now I see that L10N is also in useā€¦ and makes way more sense because itā€™s actually 10 letters in between.
Well, Iā€™ll deal with either :smiley:

Continuing the discussion from Please bake in localization from the beginning:

I agree. I observed a similar kind of thing on MSDN, with the German-language site, which I tried to follow for a time. But it had the same issues as you describe.

I like your idea about the OP being able to specify their native language, although perhaps it would be enough if the person would mention it as part of the questionā€™s content? And we would not edit something like that out?

Also, on SO people are not allowed to translate for the OP with the reason that, if the OP canā€™t formulate a question in English itā€™s questionable whether theyā€™d understand any answer. My opinion is split on that. Iā€™m very aware that sometimes people can read and understand much better than they can formulate a text (or speak or hear) in a foreign language. Sometimes not, however.

How would you propose to handle something like this?

I absolutely disagree with the idea that not being able to express yourself in proper writing means you arenā€™t able to understand something, specially in writing. I think SE got it wrong there.

Except by Japanese, where the Kanji wins, I find it easier to understand what I read than to write in any of the languages I know, other than Spanish. Come on! Even for native speakers itā€™s easier to read than to write properly!

So my idea of how to deal with it is very simple:

  • have language-specific tags
  • let some users get specialized in patrolling and editing language-tagged questions, so they will be at least in an acceptable English.
  • let the answerers answer the question. If the question is a good one, it (and its answers) will be useful for people that speaks different languages. Let the OP (and in generalaany visitors) deal with how they manage to understand the answers, itā€™s their problem already :wink:

Now, regarding another aspect of localization: I think (I may be wrong) that if menus / buttons / etc in the site are localized (translated) that may indicate to the user that asking their questions in a language other than English is OK, which (by everything said so far) is not. So just to avoid being confusing, Iā€™d have the whole site in English.

1 Like