[swift-evolution] [Pitch] Localized Swift Frameworks

Chris Lattner clattner at nondot.org
Wed Mar 29 00:02:03 CDT 2017

> On Mar 24, 2017, at 10:28 AM, Jeff Kelley via swift-evolution <swift-evolution at swift.org> wrote:
> One of the things that struck me from today’s Apple press release about Swift Playgrounds being localized in more languages is this screenshot:
> <cn_playgrounds_looping.jpeg>
> All of the UI is fully localized for Chinese, except the actual code. As far as I know, almost every major programming language and major platform framework is primarily English; it’s become the de facto language for developers. But does that have to be the case?

Hi Jeff,

This is something we discussed carefully early on in Swift’s development, and also while working on localizing Swift Playgrounds (an effort that has been underway for some time now).  As others have said, localizing the language keywords fragments the language.  Also, in the Apple ecosystem at least, all of the framework level documentation is written in English (there are some localized documents but comparatively rare).  Also, interacting with frameworks involve the use of descriptive method names and argument keywords which are written in English.

All this adds up to needing to know English to some level in order to be a successful iOS developer, to successfully work with Foundation, and to successfully work with the Swift standard library.  This posed the question of what to do in Playgrounds and what to do in the Swift language.  Given the cost and risk of fragmenting the language, we decided that it is best to keep the language keywords themselves simple and consistent.  The Swift Playgrounds curriculum followed its example (as well as that of the frameworks).  In practice, talking to developers in other ecosystems, they can learn the meaning of a few terms that pop up, so this wasn’t a significant barrier for the goals of Swift Playgrounds - teaching the world to code.

That said, I’m sure the Apple folks will continue to evaluate whether localizing the Swift Playgrounds “API” (like moveForward()) makes sense (and it isn’t clear to me that that would be the best path).  There are tradeoffs with doing so, but that team is compelled to build a dazzling product that is used around the world.  If it makes sense on the balance, I’m sure they’ll jump on it.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170328/17c4fd5c/attachment.html>

More information about the swift-evolution mailing list