File indexing completed on 2025-04-27 03:58:40
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2023-08-16 0007 * Description : Spell-check and localize Settings Container. 0008 * 0009 * SPDX-FileCopyrightText: 2021-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * 0011 * SPDX-License-Identifier: GPL-2.0-or-later 0012 * 0013 * ============================================================ */ 0014 0015 #include "localizecontainer.h" 0016 0017 // KDE includes 0018 0019 #include <kconfiggroup.h> 0020 0021 // Local includes 0022 0023 #include "localizesettings.h" 0024 #include "digikam_debug.h" 0025 0026 namespace Digikam 0027 { 0028 0029 LocalizeContainer::LocalizeContainer() 0030 : enableSpellCheck(false), 0031 translatorEngine(DOnlineTranslator::Google) 0032 { 0033 } 0034 0035 LocalizeContainer::~LocalizeContainer() 0036 { 0037 } 0038 0039 void LocalizeContainer::readFromConfig(KConfigGroup& group) 0040 { 0041 enableSpellCheck = group.readEntry("EnableSpellCheck", false); 0042 defaultLanguage = group.readEntry("DefaultLanguage", QString()); // empty for auto-detect 0043 0044 ignoredWords = group.readEntry("IgnoredWords", QStringList() << QLatin1String("digiKam") 0045 << QLatin1String("Showfoto") 0046 << QLatin1String("Apple") 0047 << QLatin1String("Nikon") 0048 << QLatin1String("Android") 0049 << QLatin1String("Canon") 0050 << QLatin1String("Sony") 0051 << QLatin1String("Samsung") 0052 << QLatin1String("Panasonic") 0053 << QLatin1String("Olympus") 0054 << QLatin1String("Exif") 0055 << QLatin1String("IPTC") 0056 << QLatin1String("Xmp")); 0057 ignoredWords.removeDuplicates(); 0058 0059 translatorEngine = (DOnlineTranslator::Engine)group.readEntry("TranslatorEngine", (int)DOnlineTranslator::Engine::Google); 0060 translatorLang = group.readEntry("TranslatorLang", QStringList() << QLatin1String("en-US") 0061 << QLatin1String("fr-FR") 0062 << QLatin1String("es-ES") 0063 << QLatin1String("it-IT") 0064 << QLatin1String("de-DE") 0065 << QLatin1String("pt-PT") 0066 ); 0067 0068 alternativeLang = group.readEntry("AlternativeLang", QStringList() << QLatin1String("x-default") 0069 << QLatin1String("en-US") 0070 << QLatin1String("fr-FR") 0071 << QLatin1String("es-ES") 0072 << QLatin1String("it-IT") 0073 << QLatin1String("de-DE") 0074 << QLatin1String("pt-PT") 0075 ); 0076 } 0077 0078 void LocalizeContainer::writeToConfig(KConfigGroup& group) const 0079 { 0080 group.writeEntry("EnableSpellCheck", enableSpellCheck); 0081 group.writeEntry("DefaultLanguage", defaultLanguage); 0082 group.writeEntry("IgnoredWords", ignoredWords); 0083 group.writeEntry("TranslatorEngine", (int)translatorEngine); 0084 group.writeEntry("TranslatorLang", translatorLang); 0085 group.writeEntry("AlternativeLang", alternativeLang); 0086 group.sync(); 0087 } 0088 0089 QDebug operator<<(QDebug dbg, const LocalizeContainer& inf) 0090 { 0091 dbg.nospace() << "[LocalizeContainer] enableSpellCheck(" 0092 << inf.enableSpellCheck << "), " 0093 << "defaultLanguage(" 0094 << inf.defaultLanguage << "), " 0095 << "ignoredWords(" 0096 << inf.ignoredWords << "), " 0097 << "translatorEngine(" 0098 << inf.translatorEngine << "), " 0099 << "translatorLang(" 0100 << inf.translatorLang << "), " 0101 << "alternativeLang(" 0102 << inf.alternativeLang << "), "; 0103 return dbg.space(); 0104 } 0105 0106 } // namespace Digikam