[swift-evolution] [Pitch] Localized Swift Frameworks

Charlie Monroe charlie at charliemonroe.net
Sat Mar 25 06:16:58 CDT 2017


I have to second (third) that.

Also, cosider the fact that there were very passionate debates about naming certain methods to follow Swift 3 API guidelines. 

Who would localize the language? Enthusiasts? Who'd approve the localization? Would we allow anyone create his own? Imagine one school teaching with their localization, other school with another, each using different translations for various symbols.

Not to mention that there are languages that inflect nouns/verbs and the API guidelines wouldn't be applicable to many languages.

And lastely, the aforementioned burden of newcomers eventually learning native-language/English variations of all symbols...

> On Mar 25, 2017, at 8:57 AM, Rien via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> 
>> On 24 Mar 2017, at 21:40, Jean-Daniel via swift-evolution <swift-evolution at swift.org> wrote:
>> 
>> 
>>> Le 24 mars 2017 à 18:28, Jeff Kelley via swift-evolution <swift-evolution at swift.org> a écrit :
>>> 
>>> 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?
>>> 
>>> Imagine a world where alongside our Swift frameworks, we ship .strings files that contain translations of our APIs to other languages. From some other screenshots we see that Swift Playgrounds is providing translations of method names to explain them, here providing “avanzar” for “moveForward()”.
>>> 
>>> <sp_playgrounds_stepping.jpeg>
>>> 
>>> A scenario where Swift supported localized frameworks might see a .strings file with a format like this:
>>> 
>>> "moveForward()": "avanzar()"
>>> 
>>> Then, in Swift code, whether through an IDE, some metadata in a comment in the Swift file, or file extension (think “Foo.es.swift”), a developer who selects Spanish could simply write avanzar() and understand it in her native language. In fact, if the IDE is the layer that handles language selection, two developers who don’t even speak the same language could collaborate on code, and names from the framework would appear to each in their native language!
>>> 
>>> Comments and locally-defined names are of course still a barrier, but this isn’t new. I know that “mazu” means “first” in Japanese thanks to some code I worked on with an old coworker.
>>> 
>>> This is obviously out of scope for Swift 4, and would require significant effort to support, both technically in Swift itself and for those shipping Swift frameworks, both inside and outside of Apple, to provided localized names, so I wanted to throw this out to see if the community is even interested.
>>> 
>>> There’s just something about the idea of kids all over the world using Swift Playgrounds completely in their own language that makes me think this could help Swift achieve its stated goal of world dominance.
>> 
>> This has already been done for a couple of languages and it always result in the same very nasty effect: It fragment the community. Trying to search for a method name or a compiler error message in google will returns only the results in your language. 
>> 
>> This is incredibly frustrating, especially when your language is not English. I hate having to work with localized IDE and toolchain for that reason. Extending the localization to the language itself will just make the problem worse.
> 
> Amen to that!
> Back in the days (pre inet) where localization for Mac’s was almost unavoidable I took the extra effort to order my computers in the US, specifically to avoid having to use localized machines.
> While localized machines are necessary for some end-users, for me its a nightmare.
> 
> Rien.
> 
> OT: I have had this discussion more than once:
> 
> Me: Why is this mac more than twice the price in the US?
> Seller: Because it is localized.
> Me: But I don’t want a localized machine.
> Seller: Uh, ok. I think I can do that… let me see… yes, it will take some time, but I can get you one…
> Me: And will it then be cheaper?
> Seller: No.
> 
>> 
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170325/498b21d4/attachment.html>


More information about the swift-evolution mailing list