Is there a convention or rule used to name AAA interface in 3GPP? - specifications

Appologize if this has been answered.
I'm looking for what Gx, Gy, Cx interface stands for or What does single character mean.
Is there a convention or rule used to name AAA interface in 3GPP?
It looks like IANA is assigning Application IDs. And 3GPP is suggesting it's name.
( listed in https://www.iana.org/assignments/aaa-parameters/aaa-parameters.xhtml#aaa-parameters-46 )
I Searched whole 3GPP web pages and googled 3 days, but I could'nt find anything about naming rule.
So, It seems to be assigned in alphabetical order. but the first letter is likely to symbolize something.
Please understand if the English expression is weird because I am not a native speaker.
Thanks in advance.

Related

The reason how does this German word work in custom dictionary

The official help page has provided an example of German language.
https://help.libreoffice.org/6.1/he/text/shared/optionen/01010400.html
In language-dependent custom dictionaries, the field contains a known
root word, as a model of affixation of the new word or its usage in
compound words. For example, in a German custom dictionary, the new
word “Litschi” (lychee) with the model word “Gummi” (gum) will result
recognition of “Litschis” (lychees), “Litschibaum” (lychee tree),
“Litschifrucht” (lychee fruit) etc.
Can someone provide an english example just to make it clear how it works?
Indeed (I am german). But you certainly know that this is to some extend a "german problem" because we have tons and tons of compound words. Everything is a compound word. Just some examples "door handle" is "Türklinke", "coffee machine" is "Kaffemaschine", "birthday cake" is "Geburtstagskuchen" and the infamous "Association for Subordinate Officials of the Main Maintenance Building of the Danube Steam Shipping Electrical Services" is "Donaudampfschiffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft". Really.
Now to your question.
I must say, after searching a bit, I think for English this is basically a useless feature. There are just so few and not very flexible real compound words. But here is an actual example. Take "sun" as new word, and specify "moon" as model word. Then the dictionary can deduce from "moonlight" that there also is a "sunlight". But I think in English this example almost exhausts the entire capabilities, while in a language like German you can generate a very high number of words, including all of their declination (which is really useful).
For apple (instead of lychee) some examples would be:
English: Apple tree, apple pie, apple juice, apples
German: Apfelbaum, Apfelkuchen, Apfelsaft, Äpfel
What exactly don't you understand? btw. I am German

Query parameters AND and OR differentiation

I want the following URLs:
Get me players with names John and age 30
Get me players with names John or Mary
So thinking:
/players?names=John&age=30
But the second one. The "or" bit making me thing
- /players?names=John&name=Mary
is wrong
and it should be:
- /players?names=John,Mary
Note: I get the idea that pure REST doesn't care as URLs are supposed to be opaque but just thinking more API or pragmatic REST here.
REST doesn't care what spelling you use for your identifiers, so long as the spelling conforms to the production rules defined by RFC 3986.
Level 4 URI Templates support behaviors for encoding/extracting lists into a URI. They can be made to work pretty much the way you illustrate in your second example /players?names=John,Mary, with some additional magic required to handle cases where the delimiters and reserved characters appear in the data.
You'll also see examples where a particular query name is repeated more than once: /players?name=John&name=Mary; JAX-RS is an example where this sort of spelling can be extracted into a List or a Set.
In some cases, you'll find examples where brackets [] are used to identify array parameters: /players?name[]=John&name[]=Mary. That's not RFC 3986 compliant, but is based on an older specification that is now obsolete.
This is mainly decided by how you handle the request in the server. Please be aware that many frameworks will consider /players?names=John,Mary to be a single element and not necessarily a list if you do not setup a matching URI pattern (e.g. take a look at this discussion regarding micronaut).
Nothing is stopping you from using the array param and treat it as OR. Just make sure you API documentation is clear.

What does lowercaseStringWithLocale do?

Does anyone know exactly what the new (iOS 6) lowercaseStringWithLocale method of NSString does? The documentation is very skimpy, and I didn't find a single reference to this method in Apple's developer forums.
While localizing my app, I'm interested in changing words from my strings file to lowercase when they appear in a sentence -- except in the German version, where some words should stay in uppercase at all times. Is that what this method is for? Or something completely different?
The discussion in lowercaseString might shed some light:
Note: This method performs the canonical (non-localized) mapping. It is suitable for programming operations that require stable results not depending on the user's locale preference. For localized case mapping for strings presented to users, use the corresponding lowercaseStringWithLocale: method.
So if you're computing the lowercase version of a string for a purpose such as case-insensitive database lookup, use lowercaseString. If you intend to show the user the result, then use lowercaseStringWithLocale.
Note that lowercaseStringWithLocale won't make a decision based on the actual words as to whether the word should be lowercased or not. It does what you ask it to do, and doesn't question your motives.
Lower/uppercasing is indeed locale-dependent. The only example I know about (and it's a killer one, a source of many globalization bugs) is the Turkish i issue. See here for an overview: http://www.codinghorror.com/blog/2008/03/whats-wrong-with-turkey.html
Basically, when you uppercase "Hi" you get "HI" except for Turkey where you get "Hİ"
Likewise, when you lowercase "HI" you get "hi" except for Turkey where you get "hı"

Where can I find a list of language + region codes?

I have googled (well, DuckDuckGo'ed, actually) till I'm blue in the face, but cannot find a list of language codes of the type en-GB or fr-CA anywhere.
There are excellent resources about the components, in particular the W3C I18n page, but I was hoping for a simple alphabetical listing, fairly canonical if possible (something like this one). Cannot find.
Can anyone point me in the right direction? Many thanks!
There are several language code systems and several region code systems, as well as their combinations. As you refer to a W3C page, I presume that you are referring to the system defined in BCP 47. That system is orthogonal in the sense that codes like en-GB and fr-CA simply combine a language code and a region code. This means a very large number of possible combinations, most of which make little sense, like ab-AX, which means Abkhaz as spoken in Åland (I don’t think anyone, still less any community, speaks Abkhaz there, though it is theoretically possible of course).
So any list of language-region combinations would be just a pragmatic list of combinations that are important in some sense, or supported by some software in some special sense.
The specifications that you have found define the general principles and also the authoritative sources on different “subtags” (like primary language code and region code). For the most important parts, the official registration authority maintains the three- and two-letter ISO 639 codes for languages, and the ISO site contains the two-letter ISO 3166 codes for regions. The lists are quite readable, and I see no reason to consider using other than these primary resources, especially regarding possible changes.
There are 2 components in play here :
The language tag which is generally defined by ISO 639-1 alpha-2
The region tag which is generally defined by ISO 3166-1 alpha-2
You can mix and match languages and regions in whichever combination makes sense to you so there is no list of all possibilities.
BTW, you're effectively using a BCP47 tag, which defines the standards for each locale segment.
Unicode maintains such a list :
http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/index.html
Even better, you can have it in an XML format (ideal to parse the list) and with also the usual writing systems used by each language :
http://unicode.org/repos/cldr/trunk/common/supplemental/supplementalData.xml
(look in /LanguageData)
One solution would be to parse this list, it would give you all of the keys needed to create the list you are looking for.
http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
I think you can take it from here http://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html
This can be found at Unicode's Common Locale Data Repository. Specifically, a JSON file of this information is available in their cldr-json repo
We have a working list that we work off of for language code/language name referencing for Localizejs. Hope that helps
List of Language Codes in YAML or JSON?
List of primary language subtags, with common region subtags for each language (based on population of language speakers in each region):
https://www.unicode.org/cldr/charts/latest/supplemental/language_territory_information.html
For example, for English:
en-US (320,000,000)
en-IN (250,000,000)
en-NG (110,000,000)
en-PK (100,000,000)
en-PH (68,000,000)
en-GB (64,000,000)
(Jukka K. Korpela and tigrish give good explanations for why any combination of language + region code is valid, but it might be helpful to have a list of codes most likely to be in actual use. s-f's link has such useful information sorted by region, so it might also be helpful to have this information sorted by language.)

Why we use reversed url identifier on Xcode?

Why do we use a reversed URL identifier like com.yourcompany.noname within Xcode?
Same as in Java - to uniquely identify ourselves. The assumption is that if you have a URL, no-one else would use the same string.
Now why it's reversed, it's guesswork, but I'd say the question is wrong: it's the hostnames that originally got it "wrong" starting with the most specific thing, and it perpetuated down the history. URL of the form http:com.yourcompany.noname/bigdir/littledir/file#fragment would make much more sense(*), where you start with the most global thing, and end up with the tiniest detail, just like when reading time, or arabic numerals.
(Most date formats also did this wrong - the only logically consistent format is YYYY/MM/DD, if we use numbers like we do, with the smallest unit on the right).
*) Also, the creator of the URL, if I remember correctly, is on the record for saying that his biggest regret is the two slashes. EDIT: found it
Let's think about it philosophically for a moment.
Consider the case of normal URLs, e.g. noname.yourcompany.com. The highest level domain for this URL is com, since it's included in a gigantic set of other URLs besides the one you're given. For instance apple.com and microsoft.com both belong to the com top level domain. Then, yourcompany is the next highest level domain, since it belongs to your company and not Apple or Microsoft, but may itself include subdomains of its own.
In this respect, we can see that when we follow what we call 'normal URLs' from top to bottom, we are actually reading right to left. In programming languages, when we're doing scope resolution, we want to read left to right, because that's the direction in which most of us write code, and we usually start from broad categories and narrow down when we're trying to find that one elusive function we might be looking for.
That's why, in a namespace scheme that's designed to be resemble Internet domains, we end up with names that look backwards. In a certain sense, it's the Web addresses that are "wrong".