-
Notifications
You must be signed in to change notification settings - Fork 122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Returned for Revisions] SDL 0061 - Locale support #179
Comments
I think this proposal needs to give the proposed changes to the mobile_api in XML form so that we can more clearly see these changes. It's not obvious given the proposal. I think what is being proposed is to deprecate the language enum (and turn them from required to optional) and all parameters that use it and to replace it with a string parameter which uses the locale, which the mobile libraries would turn into native objects. Is the I don't think this proposal is adequate for approval as is, but I think the concept is a good one. |
I have two issues with the attached proposal that I would like to see expanded upon.
|
@BrettyWhite In answer to your questions, from my understanding:
|
I actually wanted to mention the analogy between Android and iOS locale support with the following sentence.
I should have explained it more in detail with links to the specs. I'm sorry about that. The BCP-47 mentioned by @joeljfischer is a very good explanation of how the locale identifier is formatted by both platforms. We would just need to follow this format. Linux and other posix conform OS also provide locale support with this format.
In my opinion the language support is far too strict compared to the slippery support on the native side. It does not allow adding new languages without causing violation to the spec. There's no difference for the app if
The reason of deprecating and making parameters optional is to keep the support between different versions of the SDK and core. Once deprecated you have to mark it optional. The time will come where a deprecated parameter will be finally removed. Especially core must be able to work without a deprecated parameter. Otherwise we will never be able to remove them without causing instability to cars on the road. This issue is generic to any mandatory API we want to deprecate. |
@kshala-ford I apologize if I was unclear. I'm asking if the new |
@joeljfischer This is for sure a major version change to deprecate We have to be careful with mandatory parameters and a mismatch of the API version. Let's say
Agree. I would like to defer and update the proposal and add all the changes to the API as XML and add more descriptions of how to deal with omitted parameters on core and mobile side. |
@kshala-ford It is not a major version change to deprecate the |
Yes.
Do you think language is needed on the RAI request? Personally I would not continue to send the desired language through RAI request. The response is more important but it doesn't make any difference to the app if the language replied is not known of not provided. Both options would produce the same procedure which is ignore the head unit language.
I disagree. The language parameters should become optional. Otherwise we will not be able to remove it later on. |
There is no "feel" with API versioning. See https://semver.org for more detail about how SDL is API versioned.
I don't think I can follow what you're saying here, can you clarify? My issue is that we're requiring one of two optional parameters to be set, but that's not specified in the spec because they're optional. Is it okay to not set either? What do we do in that case?
I doubt we'll ever be able to just remove it. We've generally avoided this kind of hard breaking changes to the RPC spec. I think that for backward compatibility purposes, it should stay required. |
The Steering Committee agreed that this proposal should be revised based on the discussion included in the comments here. |
The proposal has been revised, replacing the Language enum and using the Locale structure/class of the native SDKs. PR: #225 The revised proposal is now in review until August 29, 2017. |
The Steering Committee determined more time was needed to review the impact this proposal has on backwards compatibility. This proposal will remain in review until September 5, 2017. |
Based on the following website https://www.science.co.il/language/Locale-codes.php I tried to create a list of how to map locale identifiers to a value of the As per spec ( In mobile development iOS and Android usually separates localizations in "zh-Hans" and "zh-Hant" but not by region. Please take a closer look at the chinese mapping in hope it's an adequate solution.
|
The Steering Committee has voted to defer this proposal until SDL 0089 has been resolved, as SDL 0061 is plagued by the same problem we're trying to resolve in SDL 0089. After resolving SDL 0089, we should be able to change the language parameter to be of type string instead of language enum (breaking change) to solve a majority of the issues. |
To my understanding this proposal is deferred as it's planned to change In general I don't recommend to change the type of a parameter as it can be challenging to support both types on the library side. I agree to still defer this proposal until API versioning is accepted. However we should do so only because we need a procedure how to deprecate the existing language parameters. |
Now that SDL 0089 has been accepted, the Steering Committee has voted to return this proposal for revisions. The author will update the proposal based on the accepted version of SDL 0089, once SDL 0089 has been implemented. |
Author has advised that they are unable to take action on this proposal at this time, and therefore the proposal will be closed. The issue will remain in a |
Hello SDL community,
The review of the revised proposal "SDL 0061 - Locale support" begins now and runs through August 29, 2017. The original review of "Locale support" occurred May 10 through May 16, 2017. The proposal is available here:
https://github.com/smartdevicelink/sdl_evolution/blob/master/proposals/0061-locale-support.md
Reviews are an important part of the SDL evolution process. All reviews should be sent to the associated Github issue at:
#179
What goes into a review?
The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of SDL. When writing your review, here are some questions you might want to answer in your review:
Please state explicitly whether you believe that the proposal should be accepted into SDL.
More information about the SDL evolution process is available at
https://github.com/smartdevicelink/sdl_evolution/blob/master/process.md
Thank you,
Theresa Lech
Program Manager - Livio
theresa@livio.io
The text was updated successfully, but these errors were encountered: