Linux: Update local documentation logic to the new organization of folders under "docs/html"

This commit is contained in:
Mounir IDRASSI
2025-05-12 16:23:49 +09:00
parent acac37b5b7
commit 5ae263e6e6
5 changed files with 62 additions and 8 deletions

View File

@@ -47,13 +47,14 @@ namespace VeraCrypt
}
#endif // TC_WINDOWS
string Resources::GetLanguageXml ()
string Resources::GetLanguageXml (string& xmlLang)
{
#ifdef TC_WINDOWS
ConstBufferPtr res = GetWindowsResource (L"XML", L"IDR_LANGUAGE");
Buffer strBuf (res.Size() + 1);
strBuf.Zero();
strBuf.CopyFrom (res);
xmlLang = "en";
return string (reinterpret_cast <char *> (strBuf.Ptr()));
#else
// get language from env LANG
@@ -68,7 +69,7 @@ namespace VeraCrypt
#endif
string filenamePost(".xml");
string filename = filenamePrefix + defaultLang + filenamePost;
xmlLang = defaultLang;
UserPreferences Preferences;
Preferences.Load();
string preferredLang = string(Preferences.Language.begin(), Preferences.Language.end());
@@ -91,34 +92,42 @@ namespace VeraCrypt
if (foundUnderscore > 0) {
lowerLangTag.replace(foundUnderscore, 1, 1, '-');
filename = filenamePrefix + lowerLangTag + filenamePost;
xmlLang = lowerLangTag;
FilesystemPath xml(filename);
if (!xml.IsFile()) {
string shortLangTag = lowerLangTag.substr(0, foundUnderscore);
filename = filenamePrefix + shortLangTag + filenamePost;
xmlLang = shortLangTag;
FilesystemPath xml(filename);
if (!xml.IsFile()) {
filename = filenamePrefix + defaultLang + filenamePost;
xmlLang = defaultLang;
}
}
} else {
filename = filenamePrefix + langTag + filenamePost;
xmlLang = langTag;
FilesystemPath xml(filename);
if (!xml.IsFile()) {
filename = filenamePrefix + defaultLang + filenamePost;
xmlLang = defaultLang;
}
}
} else {
string lowerLang(StringConverter::ToLower(lang));
filename = filenamePrefix + lowerLang + filenamePost;
xmlLang = lowerLang;
FilesystemPath xml(filename);
if (!xml.IsFile()) {
int foundUnderscore = lowerLang.find("_");
if (foundUnderscore > 0) {
lowerLang.replace(foundUnderscore, 1, 1, '-');
filename = filenamePrefix + lowerLang + filenamePost;
xmlLang = lowerLang;
FilesystemPath xml(filename);
if (!xml.IsFile()) {
filename = filenamePrefix + defaultLang + filenamePost;
xmlLang = defaultLang;
}
}
}
@@ -127,6 +136,7 @@ namespace VeraCrypt
}
} else {
filename = filenamePrefix + preferredLang + filenamePost;
xmlLang = preferredLang;
}
FilesystemPath xml(filename);
if ( xml.IsFile() ){
@@ -145,6 +155,7 @@ namespace VeraCrypt
, 0
};
xmlLang = defaultLang; // fallback to default language
return string ((const char*) LanguageXml);
#endif
}