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 }