Chromecast localized name? - localization

I'm writing an app that will display the word "Chromecast" in a menu. Makes sense, right?
But my app is localized to a few different languages. Does Google have a resource where I can look up any localized trade name for Chromecast? Does it change at all between locales?
More generally, does this kind of thing exist for other brand/trade names?

Chromecast itself shouldn't be translated, it is a proper name and should remain the same. However, there are some other expressions and terminology that are commonly used while you are casting and we have a spreadsheet to help you with that: go to this doc and look at the subsection "Cast terminology translations"

Related

iOS - Country and Language Specific Localization

We are migrating our app from iOS6 to iOS7 and we use programmatic way of creating view (rather from storyboard or nibs).
We are trying to support multiple countries with different languages.
Example,
English for - China, India, US
Simplied Chinese for- Taiwan, China
There can be custom override's for specfic country from the basic language localization set.
Now I need to have a common base for language bundles and country specific bundles.
Common Language Bundles: (base language bundles)
en.lproj
zh_hans.lproj
Country Specific Override Bundles: (if i have custom text for each specific countries)
ch(ina)_en.lproj
ch(ina)_hans.lproj
us_en.lproj
Problem:
Resource files (Translations) have to be duplicated for each countries(chinese, taiwan) with english, chinese. How can we avoid this ?. Images are also duplicated sometimes, it is a maintenance problem, if we start support more than 10 countries.
Android supports delta overrides of translations for each language translation per country, do we have anything in iOS similar to that ?.
I know it is not supported out of the box from iOS. What is the right way to achieve the same without duplicating the resources ?. Any hints or ideas to achieve the same ?.
Thanks,
Alex
I hope I've understood correctly.
1a.Image files will only need to be duplicated per language if they contain text or "imagery" that requires translation otherwise there should only be one version. From memory, you select which image files you want to be translated.
2a.A translation is needed for each language you want to support - there is no way round this (obviously). These usually live in "strings" files which you send off for translation.
2b.If you don't supply a specific translation for a string it defaults to the "base" translation. Unfortunately, I don't know how this would work with two "base" translations or even if this is possible as usually the base translation is the language you developed in. You will need to investigate further.
2c.You will need to manage deltas to your strings file yourself - through GIT perhaps? This is annoying but do-able although there may be third-party products that can do this.

If I'm localising an app, should I localise the app's app store title too?

I've noticed that quite a few apps don't (big ones mainly).
Does anyone have any experience doing/not doing this? If you haven't localised your app's title, has the localisation still improved your number of downloads?
For example, say my app was called "Month Planner" - what would the pros and cons of translating this be?
Not really a programming question so I doubt it should be here, but... you are talking about branding. Naming your app as something recognizable as the app. "Month Planner" is not a good name for an app, it is a description of what the app does.
You want your app to have a single global name, so when a user searches "MyApp Name" it doesn't matter what the language is, your app will be found.
So do:
Give your app a unique name
Localize app descriptions
Don't:
Give your app a generic function name in English or some other language.
Change the name of your app based on location (unless you want different brands in different places, but that's another kettle of fish).
Avoid:
Generic, obvious or dictionary names. It'll only end in trouble when your brand collides with that of someone else (see Apple Corps v Apple Computer for a famous example).

Detect when to use a vs an

I have a service that allows user's (admins) to change the terminology the site uses. My designer wants me to use the format "A Group". The problem is, for some terminology, it should be "An" not "A".
Is there any way to reliably detect which to use? What about localization?
I can brute force it and get 90% of the way by checking the first letter for consonant vs vowel. That won't work for all words though. And that doesn't cover any language except English.
In my opinion you've got only 2 ways:
1- You need to check the first letter and process all the sentence by checking its letters to see if there is any non-English letters.
2- Provide a dictionary of English nouns then you can easily check your word to find if it needs an "a" or "an".
Although the "a versus an" issue is very specific, what you're describing here is a natural language processing issue. Essentially you are being asked to write code that generates a grammatically correct piece of text.
I think you should try to to explain the implications to the designer, especially if you end up localizing in other languages. Your time is probably better spent working on your app's business logic than on language processing.

Language codes reference

Can someone please give me the official reference to the language (country/region) codes. I'm finding different codes for the same language (es_ES, esp_ESP, etc.) and I can't figure out which one is the right one.
There are several different standards specifying language codes, including ISO-639 with its sub-standards 1-3 and IETF language tags, which describe more of a system of possible codes than the codes themselves.
Which standard is "the right" standard depends on your use case and context. See http://en.wikipedia.org/wiki/Language_codes.
That's because the languages naming coding has different standards, using different number of letters. You might have to chose which standard to use and maybe detect which standard the data source you have is using.
This is a starting point: http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
These codes are a combination of the specific language as well as the conuntry in which the language is used. So for instance means es_ES spanish_Spain. Another one would be es_AR which would mean spanish_Argentina. For the language code there's the Language Matrix, as for the localisation part you could use the ISO 3166-2 country reference
you can find all the regions code in documentation here

Source code not English; which (natural) language to display to the user?

I'm creating an English translation for a program written in German (i.e. all strings within tr("...") are German). Users who are in a non-English non-German locale will probably want to see the English translation, but with the program as it is now they will see German.
There are some ways to solve this problem:
Check if it's a German locale and force to English otherwise.
Present an option to the user.
Make the programmers change their source code to English.
What is considered best-practice for internationalizing where the source code is not in English?
These are two separate questions.
The best practice is to not use any kind of hard-coded string in the sources.
Strings should be stored in external files and loaded by ID.
But what you have there does not sound like the best practice. Might be too much work to get it there.
What you describe (the tr("...") stuff) sounds like gettext (or something similar).
That approach for gettext (and similar libraries) is that "the stuff in the sources is the ultimate fallback", used if the strings for the desired language are not present.
In this case I would go with "Present an option to the user."
You can't assume the user knows English.
Real example: in Switzerland the official languages are Italian, German, French and Romansh. If I ask for French and it is not present, then the next best option is probably German, not English. I Canada the official languages are French and English, so if I as for French and is not available, the next best option is probably English.
I think the best option is asking the user (during installation probably).
Change the source to English is too costly and not worth it. I live in Brazil, we have tons of codes in Portuguese and translating to English wan't necessary one time (we do make software to english speakers). Unless you have a client that requires you to do so (usually when you are selling the source also).
Hope it helps
OK, so I guess the three options are:
Recompile the program with translated strings.
This is fraught with danger as you'll end up with two copies of the source. Bug-fixes in one will need to be done in the other. And then, what happens if you need French? Italian? Spanish? The only advantage of this approach is that it's feasible for a non-developer to do the work. (Just about.)
Resource out the strings, and automatically check what the UI locale is on load.
Here the strings are replaced with GetResource("key") or similar. On load the program automatically translates to the user's culture. This might work, but I know plenty of German-speakers who have English-language culture installed on their PCs but who would prefer German language programs at some points.
Resource out the strings and give the user the choice on load
In general it's always best to give the user control. This might be a prompt on load, although if the application is used often this can be an annoyance. Perhaps a balance is to ask the user during installation for their preference and then give then an option in a dialog to later change this setting.
Note, by the way, that translation is not localisation. For instance: number formats are quite different in Germany (e.g. 1.233,44) from English (e.g. 1,233.44). Icons and suchlike often have national characteristics.

Resources