HaikuDepot: Put supported languages into a StringList

* Added TODO to retrieve the list from the web-app, there is already an
  API for it. For now, the hard-coded list matches the web-app's and the
  next change in this regard will be to support any known language.
* Make the list accessible.
This commit is contained in:
Stephan Aßmus 2014-09-27 23:07:39 +02:00
parent 6bede507a9
commit 4ff3d17ae8
2 changed files with 18 additions and 4 deletions

View File

@ -340,12 +340,22 @@ Model::Model()
language.CopyInto(fPreferredLanguage, 0, 2);
}
}
if (fPreferredLanguage != "en" && fPreferredLanguage != "de"
&& fPreferredLanguage != "fr" && fPreferredLanguage != "ja"
&& fPreferredLanguage != "es" && fPreferredLanguage != "zh"
&& fPreferredLanguage != "pt" && fPreferredLanguage != "ru") {
// TODO: Fetch this from the web-app.
fSupportedLanguages.Add("en");
fSupportedLanguages.Add("de");
fSupportedLanguages.Add("fr");
fSupportedLanguages.Add("ja");
fSupportedLanguages.Add("es");
fSupportedLanguages.Add("zh");
fSupportedLanguages.Add("pt");
fSupportedLanguages.Add("ru");
if (!fSupportedLanguages.Contains(fPreferredLanguage)) {
// Force the preferred language to one of the currently supported
// ones, until the web application supports all ISO language codes.
printf("User preferred language '%s' not currently supported, "
"defaulting to 'en'.", fPreferredLanguage.String());
fPreferredLanguage = "en";
}
fWebAppInterface.SetPreferredLanguage(fPreferredLanguage);

View File

@ -104,6 +104,9 @@ public:
void PopulateAllPackages();
void StopPopulatingAllPackages();
const StringList& SupportedLanguages() const
{ return fSupportedLanguages; }
const BString& PreferredLanguage() const
{ return fPreferredLanguage; }
@ -175,6 +178,7 @@ private:
thread_id fPopulateAllPackagesThread;
volatile bool fStopPopulatingAllPackages;
StringList fSupportedLanguages;
BString fPreferredLanguage;
WebAppInterface fWebAppInterface;