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:
@@ -340,12 +340,22 @@ Model::Model()
|
|||||||
language.CopyInto(fPreferredLanguage, 0, 2);
|
language.CopyInto(fPreferredLanguage, 0, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fPreferredLanguage != "en" && fPreferredLanguage != "de"
|
|
||||||
&& fPreferredLanguage != "fr" && fPreferredLanguage != "ja"
|
// TODO: Fetch this from the web-app.
|
||||||
&& fPreferredLanguage != "es" && fPreferredLanguage != "zh"
|
fSupportedLanguages.Add("en");
|
||||||
&& fPreferredLanguage != "pt" && fPreferredLanguage != "ru") {
|
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
|
// Force the preferred language to one of the currently supported
|
||||||
// ones, until the web application supports all ISO language codes.
|
// 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";
|
fPreferredLanguage = "en";
|
||||||
}
|
}
|
||||||
fWebAppInterface.SetPreferredLanguage(fPreferredLanguage);
|
fWebAppInterface.SetPreferredLanguage(fPreferredLanguage);
|
||||||
|
|||||||
@@ -104,6 +104,9 @@ public:
|
|||||||
void PopulateAllPackages();
|
void PopulateAllPackages();
|
||||||
void StopPopulatingAllPackages();
|
void StopPopulatingAllPackages();
|
||||||
|
|
||||||
|
const StringList& SupportedLanguages() const
|
||||||
|
{ return fSupportedLanguages; }
|
||||||
|
|
||||||
const BString& PreferredLanguage() const
|
const BString& PreferredLanguage() const
|
||||||
{ return fPreferredLanguage; }
|
{ return fPreferredLanguage; }
|
||||||
|
|
||||||
@@ -175,6 +178,7 @@ private:
|
|||||||
thread_id fPopulateAllPackagesThread;
|
thread_id fPopulateAllPackagesThread;
|
||||||
volatile bool fStopPopulatingAllPackages;
|
volatile bool fStopPopulatingAllPackages;
|
||||||
|
|
||||||
|
StringList fSupportedLanguages;
|
||||||
BString fPreferredLanguage;
|
BString fPreferredLanguage;
|
||||||
|
|
||||||
WebAppInterface fWebAppInterface;
|
WebAppInterface fWebAppInterface;
|
||||||
|
|||||||
Reference in New Issue
Block a user