File indexing completed on 2025-02-09 04:28:36

0001 /*
0002   This file is part of the KTextTemplate library
0003 
0004   SPDX-FileCopyrightText: 2010 Stephen Kelly <steveire@gmail.com>
0005 
0006   SPDX-License-Identifier: LGPL-2.1-or-later
0007 
0008 */
0009 
0010 #include "abstractlocalizer.h"
0011 
0012 #include "util.h"
0013 
0014 #include <QDateTime>
0015 
0016 using namespace KTextTemplate;
0017 
0018 AbstractLocalizer::AbstractLocalizer() = default;
0019 
0020 AbstractLocalizer::~AbstractLocalizer() = default;
0021 
0022 QString AbstractLocalizer::localize(const QVariant &variant) const
0023 {
0024     if (variant.userType() == qMetaTypeId<QDate>())
0025         return localizeDate(variant.value<QDate>());
0026     if (variant.userType() == qMetaTypeId<QTime>())
0027         return localizeTime(variant.value<QTime>());
0028     if (variant.userType() == qMetaTypeId<QDateTime>())
0029         return localizeDateTime(variant.value<QDateTime>());
0030     if (isSafeString(variant))
0031         return localizeString(getSafeString(variant).get());
0032     if (variant.userType() == qMetaTypeId<double>() || variant.userType() == qMetaTypeId<float>())
0033         return localizeNumber(variant.value<double>());
0034     if (variant.canConvert<int>())
0035         return localizeNumber(variant.value<int>());
0036     return {};
0037 }