Remove akonadi templates, variants have been added to akonadi repo

parent 1cc26362
set(APPTEMPLATE_DIRS
kde-frameworks5-simple
kde-frameworks5
akonadiresource
akonadiserializer
)
kde_package_app_templates(TEMPLATES ${APPTEMPLATE_DIRS} INSTALL_DIR ${KDE_INSTALL_KTEMPLATESDIR})
#include "%{APPNAMELC}resource.h"
#include "settings.h"
#include "settingsadaptor.h"
#include "debug.h"
#include <QtDBus/QDBusConnection>
using namespace Akonadi;
%{APPNAME}Resource::%{APPNAME}Resource(const QString &id)
: ResourceBase(id)
{
new SettingsAdaptor(Settings::self());
QDBusConnection::sessionBus().registerObject(QStringLiteral("/Settings"),
Settings::self(),
QDBusConnection::ExportAdaptors);
// TODO: you can put any resource specific initialization code here.
qCDebug(log_%{APPNAMELC}resource) << "Resource started";
}
%{APPNAME}Resource::~%{APPNAME}Resource()
{
}
void %{APPNAME}Resource::retrieveCollections()
{
// TODO: this method is called when Akonadi wants to have all the
// collections your resource provides.
// Be sure to set the remote ID and the content MIME types
}
void %{APPNAME}Resource::retrieveItems(const Akonadi::Collection &collection)
{
// TODO: this method is called when Akonadi wants to know about all the
// items in the given collection. You can but don't have to provide all the
// data for each item, remote ID and MIME type are enough at this stage.
// Depending on how your resource accesses the data, there are several
// different ways to tell Akonadi when you are done.
}
bool %{APPNAME}Resource::retrieveItem(const Akonadi::Item &item, const QSet<QByteArray> &parts)
{
// TODO: this method is called when Akonadi wants more data for a given item.
// You can only provide the parts that have been requested but you are allowed
// to provide all in one go
return true;
}
void %{APPNAME}Resource::aboutToQuit()
{
// TODO: any cleanup you need to do while there is still an active
// event loop. The resource will terminate after this method returns
}
void %{APPNAME}Resource::configure(WId windowId)
{
// TODO: this method is usually called when a new resource is being
// added to the Akonadi setup. You can do any kind of user interaction here,
// e.g. showing dialogs.
// The given window ID is usually useful to get the correct
// "on top of parent" behavior if the running window manager applies any kind
// of focus stealing prevention technique
//
// If the configuration dialog has been accepted by the user by clicking Ok,
// the signal configurationDialogAccepted() has to be emitted, otherwise, if
// the user canceled the dialog, configurationDialogRejected() has to be emitted.
}
void %{APPNAME}Resource::itemAdded(const Akonadi::Item &item, const Akonadi::Collection &collection)
{
// TODO: this method is called when somebody else, e.g. a client application,
// has created an item in a collection managed by your resource.
// NOTE: There is an equivalent method for collections, but it isn't part
// of this template code to keep it simple
}
void %{APPNAME}Resource::itemChanged(const Akonadi::Item &item, const QSet<QByteArray> &parts)
{
// TODO: this method is called when somebody else, e.g. a client application,
// has changed an item managed by your resource.
// NOTE: There is an equivalent method for collections, but it isn't part
// of this template code to keep it simple
}
void %{APPNAME}Resource::itemRemoved(const Akonadi::Item &item)
{
// TODO: this method is called when somebody else, e.g. a client application,
// has deleted an item managed by your resource.
// NOTE: There is an equivalent method for collections, but it isn't part
// of this template code to keep it simple
}
AKONADI_RESOURCE_MAIN(%{APPNAME}Resource)
#include "moc_%{APPNAMELC}resource.cpp"
[Desktop Entry]
Name=
Comment=
Type=AkonadiResource
Exec=akonadi_%{APPNAMELC}_resource
Icon=text-directory
X-Akonadi-MimeTypes=text/directory
X-Akonadi-Capabilities=Resource
X-Akonadi-Identifier=akonadi_%{APPNAMELC}_resource
#ifndef %{APPNAMEUC}RESOURCE_H
#define %{APPNAMEUC}RESOURCE_H
#include <AkonadiAgentBase/ResourceBase>
class %{APPNAME}Resource : public Akonadi::ResourceBase,
public Akonadi::AgentBase::Observer
{
Q_OBJECT
public:
%{APPNAME}Resource(const QString &id);
~%{APPNAME}Resource();
public Q_SLOTS:
void configure(WId windowId) Q_DECL_OVERRIDE;
protected Q_SLOTS:
void retrieveCollections() Q_DECL_OVERRIDE;
void retrieveItems(const Akonadi::Collection &col) Q_DECL_OVERRIDE;
bool retrieveItem(const Akonadi::Item &item, const QSet<QByteArray> &parts) Q_DECL_OVERRIDE;
protected:
void aboutToQuit() Q_DECL_OVERRIDE;
void itemAdded(const Akonadi::Item &item, const Akonadi::Collection &collection) Q_DECL_OVERRIDE;
void itemChanged(const Akonadi::Item &item, const QSet<QByteArray> &parts) Q_DECL_OVERRIDE;
void itemRemoved(const Akonadi::Item &item) Q_DECL_OVERRIDE;
};
#endif
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
xmlns:kcfg="http://www.kde.org/standards/kcfg/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
<kcfgfile/>
<group name="General">
<entry name="ReadOnly" type="Bool">
<label>Do not change the actual backend data.</label>
<default>false</default>
</entry>
</group>
</kcfg>
cmake_minimum_required(VERSION 3.1)
project(%{APPNAMELC})
############ ECM setup ###########
find_package(ECM 5.13.0 CONFIG REQUIRED)
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
include(FeatureSummary)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
include(ECMQtDeclareLoggingCategory)
########### Dependencies ###########
set(KF5_VERSION "5.13.0")
set(AKONADI_VERSION "5.0")
set(QT_REQUIRED_VERSION "5.3.0")
find_package(Qt5 ${QT_REQUIRED_VERSION} REQUIRED Core Network Gui)
find_package(KF5Config ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5Akonadi ${AKONADI_MIN_VERSION} CONFIG REQUIRED)
find_program(XSLTPROC_EXECUTABLE xsltproc DOC "Path to xslt executable")
if(XSLTPROC_EXECUTABLE)
# We depend on kdepimlibs, make sure it's found
if(NOT DEFINED KF5Akonadi_DATA_DIR)
find_package(KF5Akonadi REQUIRED)
endif()
# Macro to generate a D-Bus interface description from a KConfigXT file
macro(kcfg_generate_dbus_interface _kcfg _name)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml
COMMAND ${XSLTPROC_EXECUTABLE} --stringparam interfaceName ${_name}
${KF5Akonadi_DATA_DIR}/kcfg2dbus.xsl
${_kcfg}
> ${CMAKE_CURRENT_BINARY_DIR}/${_name}.xml
DEPENDS ${KF5Akonadi_DATA_DIR}/kcfg2dbus.xsl
${_kcfg}
)
endmacro()
endif()
########### next target ###############
set(%{APPNAMELC}resource_SRCS
%{APPNAMELC}resource.cpp
)
ecm_qt_declare_logging_category(%{APPNAMELC}resource_SRCS
HEADER debug.h
IDENTIFIER log_%{APPNAMELC}resource
CATEGORY_NAME log_%{APPNAMELC}resource
)
kconfig_add_kcfg_files(%{APPNAMELC}resource_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/settings.kcfgc
)
kcfg_generate_dbus_interface(
${CMAKE_CURRENT_SOURCE_DIR}/%{APPNAMELC}resource.kcfg
org.kde.Akonadi.%{APPNAME}.Settings
)
qt5_add_dbus_adaptor(%{APPNAMELC}resource_SRCS
${CMAKE_CURRENT_BINARY_DIR}/org.kde.Akonadi.%{APPNAME}.Settings.xml
${CMAKE_CURRENT_BINARY_DIR}/settings.h
Settings
)
add_executable(akonadi_%{APPNAMELC}_resource ${%{APPNAMELC}resource_SRCS})
target_link_libraries(akonadi_%{APPNAMELC}_resource
Qt5::DBus
KF5::AkonadiAgentBase
KF5::ConfigCore
)
install(TARGETS akonadi_%{APPNAMELC}_resource ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
install(FILES %{APPNAMELC}resource.desktop
DESTINATION "${KDE_INSTALL_DATAROOTDIR}/akonadi/agents"
)
########### summary ############
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
#! /usr/bin/env bash
$XGETTEXT *.cpp -o $podir/akonadi_%{APPNAMELC}_resource.pot
How To Build This Template
-=-=-=-=-=-=-=-=-=-=-=-=-=
--- On Unix:
cd <project_name_path>
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$KDEDIRS -DCMAKE_BUILD_TYPE=Debug .. <- do not forget the ..
make
make install or su -c 'make install'
where $KDEDIRS points to your KDE installation prefix.
to uninstall the project:
make uninstall or su -c 'make uninstall'
Note: you can use another build path. Then cd in your build dir and:
export KDE_SRC=path_to_your_src
cmake $KDE_SRC -DCMAKE_INSTALL_PREFIX=$KDEDIRS -DCMAKE_BUILD_TYPE=Debug
--- On Windows:
cd <project_name_path>
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=%KDEDIRS% -DCMAKE_BUILD_TYPE=Debug .. <- do not forget the ..
[n]make
[n]make install
where %KDEDIRS% points to your KDE installation prefix.
to uninstall the project:
[n]make uninstall
Note: use nmake if you're building with the Visual Studio compiler, or make
if you're using the minGW compiler
Implementation hints
-=-=-=-=-=-=-=-=-=-=
The code generated by this template can be compiled without any further
changes, so you can start with your own code right away.
However, there are a couple of things you will need to change outside the
resource's code, i.e. in the resource's .desktop file:
- Name field: the name of the resource with which it will be displayed in
system settings and applications which can add resources on their own.
E.g. MyBackend Resource
- Comment field: short description of the resource, also used to be
displayed, e.g. For calendars and contacts stored in MyBackend
- Icon field: if you are not writing a contact (addressbook) resource, you have
to change this to either an icon for the respective MIME type you are going
to provide or use a resource specific icon which you provide yourself
- X-Akonadi-MimeTypes field: if you are not writing a contact (addressbook)
resource, you have to change this to either a known MIME type or one you
install together with the resource.
If your resource can provide data of more than one MIME type, you can
specific all possible ones as a comma separate list.
Common MIME types are:
* text/directory: for contact data
* text/calendar: for calendar data (there are Akonadi defined subtypes
available, e.g. application/x-vnd.akonadi.calendar.event)
* message/rfc822: for e-mails and usenet news
The template comes with an input file for KDE's KConfigXT framework
for improved configuration file handling. The generated class is called
"Settings", so access to its data is provided through its singleton
instance method Settings::self().
See http://techbase.kde.org/Development/Tutorials/Using_KConfig_XT
Documentation
-=-=-=-=-=-=-
The Akonadi-KDE API documentation can be found here:
http://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/index.html
General developer information, e.g. tutorials can be found here:
http://techbase.kde.org/Projects/PIM/Akonadi
The contact site can be found here:
https://community.kde.org/KDE_PIM/Contact
Last update: September 2015
# KDE Config File
[General]
Name=C++
Name[ast]=C++
Name[bs]=C++
Name[ca]=C++
Name[ca@valencia]=C++
Name[cs]=C++
Name[da]=C++
Name[de]=C++
Name[el]=C++
Name[en_GB]=C++
Name[es]=C++
Name[et]=C++
Name[fi]=C++
Name[fr]=C++
Name[ga]=C++
Name[gl]=C++
Name[hu]=C++
Name[it]=C++
Name[kk]=C++
Name[ko]=C++
Name[lt]=C++
Name[mr]=C++
Name[nb]=C++
Name[nds]=C++
Name[nl]=C++
Name[pa]=C++
Name[pl]=C++
Name[pt]=C++
Name[pt_BR]=C++
Name[ru]=C++
Name[sk]=C++
Name[sl]=C++
Name[sr]=Ц++
Name[sr@ijekavian]=Ц++
Name[sr@ijekavianlatin]=C++
Name[sr@latin]=C++
Name[sv]=C++
Name[tr]=C++
Name[ug]=C++
Name[uk]=C++
Name[x-test]=xxC++xx
Name[zh_CN]=C++
Name[zh_TW]=C++
Comment=Akonadi Resource Template. A template for an Akonadi PIM data resource
Comment[bs]=Predložak akonadi resursa. Predložak za Akonadi PIM resurs podataka
Comment[ca]=Una plantilla de recurs de l'Akonadi. Una plantilla per un recurs de dades PIM de l'Akonadi
Comment[ca@valencia]=Una plantilla de recurs de l'Akonadi. Una plantilla per un recurs de dades PIM de l'Akonadi
Comment[da]=Skabelon til Akonadi-ressource. En skabelon til en Akonadi PIM-dataressource
Comment[de]=Vorlage für Akonadi-Ressource. Vorlage für eine Datenressource für das Akonadi-PIM-Framework
Comment[el]=Akonadi Resource Template. Ένα πρότυπο για έναν πόρο δεδομένων Akonadi PIM
Comment[en_GB]=Akonadi Resource Template. A template for an Akonadi PIM data resource
Comment[es]=Plantilla de recurso de Akonadi. Una plantilla para un recurso de datos PIM de Akonadi
Comment[et]=Akonadi ressursi mall. Akonadi PIM andmete ressursi mall.
Comment[fi]=Akonadi-resurssimalli. Malli Akonadin PIM-dataresurssille.
Comment[fr]=Modèle de ressource Akonadi. Un modèle pour une ressource de données PIM Akonadi
Comment[ga]=Teimpléad Acmhainne Akonadi. Teimpléad le haghaidh acmhainn sonraí PIM Akonadi
Comment[gl]=Modelo de recurso de Akonadi. Modelo para un recurso de datos de xestión de información persoal de Akonadi.
Comment[hu]=Akonadi erőforrássablon. Sablon Akonadi PIM adatforráshoz
Comment[it]=Modello di risorsa Akonadi. Un modello per una risorsa di dati PIM Akonadi
Comment[kk]=Akonadi ресурсының үлгісі/ Akonadi PIM дерек көзінің үлгісі
Comment[ko]=Akonadi 자원 템플릿. Akonadi PIM 데이터 자원을 위한 템플릿
Comment[lt]=Akonadi išteklių šablonas. Šablonas Akonadi PIM duomenų šaltinis
Comment[nb]=Akonadi ressursmal. En mal for en Akonadi PIM-ressurs
Comment[nl]=Akonadi sjabloon voor hulpbron. Een sjabloon voor een Akonadi PIM gegevenshulpbron
Comment[pl]=Szablon zasobu Akonadi. Szablon dla zasobu danych PIM Akonadi
Comment[pt]=Modelo de Recurso do Akonadi. Um modelo para um recurso de dados PIM do Akonadi
Comment[pt_BR]=Modelo de recurso do Akonadi. Um modelo para um recurso de dados PIM do Akonadi
Comment[ru]=Реализация ресурса Akonadi. Шаблон для источника данных PIM Akonadi
Comment[sk]=Šablóna Akonadi zdroja. Šablóna pre zdroj dát Akonadi PIM
Comment[sl]=Predloga podatkovnega vira za sistem upravljanja osebnih podatkov Akonadi.
Comment[sr]=Шаблон за Аконадијев ресурс ПИМ података
Comment[sr@ijekavian]=Шаблон за Аконадијев ресурс ПИМ података
Comment[sr@ijekavianlatin]=Šablon za Akonadijev resurs PIM podataka
Comment[sr@latin]=Šablon za Akonadijev resurs PIM podataka
Comment[sv]=Akonadi-resursmall. En mall för en Akonadi PIM-dataresurs
Comment[tr]=Akonadi Kaynak Şablonu. Akonadi PIM veri kaynağı için bir şablon
Comment[uk]=Шаблон ресурсу Akonadi. Шаблон для ресурсу даних PIM Akonadi
Comment[x-test]=xxAkonadi Resource Template. A template for an Akonadi PIM data resourcexx
Comment[zh_CN]=Akonadi 资源模板。Akonadi 个人信息管理数据资源的模板
Comment[zh_TW]=Akonadi 資源樣本。Akonadi PIM 資料資源的樣本。
Category=Akonadi/Resource
Icon=akonadiresource.png
File=%{APPNAMELC}resource.kcfg
ClassName=Settings
Mutators=true
ItemAccessors=true
SetUserTexts=true
Singleton=true
#IncludeFiles=
GlobalEnums=true
cmake_minimum_required(VERSION 3.1)
project(%{APPNAMELC})
############ ECM setup ###########
find_package(ECM 5.13.0 CONFIG REQUIRED)
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
include(FeatureSummary)
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
########### Dependencies ###########
set(KF5_VERSION "5.13.0")
set(AKONADI_VERSION "5.0")
set(QT_REQUIRED_VERSION "5.3.0")
find_package(Qt5 ${QT_REQUIRED_VERSION} REQUIRED Core Network Gui)
find_package(KF5Config ${KF5_VERSION} CONFIG REQUIRED)
find_package(KF5Akonadi ${AKONADI_MIN_VERSION} CONFIG REQUIRED)
########### next target ###############
set( akonadi_serializer_%{APPNAMELC}_SRCS
akonadi_serializer_%{APPNAMELC}.cpp
)
add_library(akonadi_serializer_%{APPNAMELC} MODULE ${akonadi_serializer_%{APPNAMELC}_SRCS})
target_link_libraries(akonadi_serializer_%{APPNAMELC}
KF5::AkonadiCore
)
install(TARGETS akonadi_serializer_%{APPNAMELC}
DESTINATION ${KDE_INSTALL_PLUGINDIR})
########### install files ###############
install(FILES akonadi_serializer_%{APPNAMELC}.desktop
DESTINATION ${KDE_INSTALL_DATADIR}/akonadi/plugins/serializer
)
How To Build This Template
-=-=-=-=-=-=-=-=-=-=-=-=-=
--- On Unix:
cd <project_name_path>
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=$KDEDIRS -DCMAKE_BUILD_TYPE=Debug .. <- do not forget the ..
make
make install or su -c 'make install'
where $KDEDIRS points to your KDE installation prefix.
to uninstall the project:
make uninstall or su -c 'make uninstall'
Note: you can use another build path. Then cd in your build dir and:
export KDE_SRC=path_to_your_src
cmake $KDE_SRC -DCMAKE_INSTALL_PREFIX=$KDEDIRS -DCMAKE_BUILD_TYPE=Debug
--- On Windows:
cd <project_name_path>
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=%KDEDIRS% -DCMAKE_BUILD_TYPE=Debug .. <- do not forget the ..
[n]make
[n]make install
where %KDEDIRS% points to your KDE installation prefix.
to uninstall the project:
[n]make uninstall
Note: use nmake if you're building with the Visual Studio compiler, or make
if you're using the minGW compiler
Implementation hints
-=-=-=-=-=-=-=-=-=-=
The code generated by this template can be compiled without any further
changes, so you can start with your own code right away.
However, there are a couple of things you will need to change outside the
serialzer's code, i.e. in the serializer's .desktop file:
- Name field
- Comment field
- Type field: MIME type of your data type
Documentation
-=-=-=-=-=-=-
The Akonadi-KDE API documentation can be found here:
http://api.kde.org/stable/kdepimlibs-apidocs/akonadi/html/index.html
General developer information, e.g. tutorials can be found here:
http://techbase.kde.org/Projects/PIM/Akonadi
The contact site can be found here:
https://community.kde.org/KDE_PIM/Contact
Last update: September 2015
#include "akonadi_serializer_%{APPNAMELC}.h"
#include <AkonadiCore/Item>
using namespace Akonadi;
bool SerializerPlugin%{APPNAME}::deserialize(Item &item, const QByteArray &label, QIODevice &data, int version)
{
Q_UNUSED(item);
Q_UNUSED(label);
Q_UNUSED(data);
Q_UNUSED(version);
// TODO Implement this
return false;
}
void SerializerPlugin%{APPNAME}::serialize(const Item &item, const QByteArray &label, QIODevice &data, int &version)
{
Q_UNUSED(item);
Q_UNUSED(label);
Q_UNUSED(data);
Q_UNUSED(version);
// TODO Implement this
}
QSet<QByteArray> SerializerPlugin%{APPNAME}::parts(const Item &item) const
{
// only need to reimplement this when implementing partial serialization
// i.e. when using the "label" parameter of the other two methods
return ItemSerializerPlugin::parts(item);
}
#include "moc_akonadi_serializer_%{APPNAMELC}.cpp"
[Misc]
Name=%{APPNAME} Serializer
Name[bs]=%{APPNAME} Serializer
Name[ca]=Serialitzador %{APPNAME}
Name[ca@valencia]=Serialitzador %{APPNAME}
Name[cs]=%{APPNAME} Serializer
Name[da]=%{APPNAME} serializer
Name[de]=%{APPNAME}-Serialisierer
Name[el]=Διαχειριστής %{APPNAME}
Name[en_GB]=%{APPNAME} Serialiser
Name[es]=Serializador para %{APPNAME}
Name[et]=%{APPNAME} jadasti
Name[fi]=%{APPNAME}-serialisoija
Name[fr]=Sérialiseur %{APPNAME}
Name[ga]=Srathóir %{APPNAME}
Name[gl]=Serializador %{APPNAME}
Name[hu]=%{APPNAME} sorosító
Name[it]=Serializzatore di %{APPNAME}
Name[ja]=%{APPNAME} シリアライザ
Name[kk]=%{APPNAME} тізбектеуіші
Name[km]=%{APPNAME} Serializer
Name[ko]=%{APPNAME} 시리얼라이저
Name[lt]=%{APPNAME} nuoseklinimo priemonė
Name[lv]=%{APPNAME} serializētājs
Name[nb]=%{APPNAME}-serialisator
Name[nds]=%{APPNAME}-Reegmoduul
Name[nl]=%{APPNAME}-serialisator
Name[nn]=%{APPNAME}-serialisator
Name[pa]=%{APPNAME} ਸੀਰੀਅਲਾਈਜ਼ਰ
Name[pl]=Serializacja %{APPNAME}
Name[pt]=Serialização do %{APPNAME}
Name[pt_BR]=Serialização do %{APPNAME}
Name[ru]=Сериализатор %{APPNAME}
Name[sk]=%{APPNAME} Serializer
Name[sl]=Razvrščevalnik v zaporedje %{APPNAME}
Name[sr]=%{APPNAME} серијализатор
Name[sr@ijekavian]=%{APPNAME} серијализатор
Name[sr@ijekavianlatin]=%{APPNAME} serijalizator
Name[sr@latin]=%{APPNAME} serijalizator
Name[sv]=Serialisering av %{APPNAME}
Name[tr]=%{APPNAME} Sıralandırıcı
Name[uk]=Перетворювач у послідовну форму %{APPNAME}
Name[x-test]=xx%{APPNAME} Serializerxx
Name[zh_CN]=%{APPNAME} 转换器
Name[zh_TW]=%{APPNAME} 序列器
Comment=An Akonadi serializer plugin for %{APPNAMELC}
Comment[bs]=Akonadi serijalizer dodatak za %{APPNAMELC}
Comment[ca]=Un connector de serialització de l'Akonadi per %{APPNAMELC}
Comment[ca@valencia]=Un connector de serialització de l'Akonadi per %{APPNAMELC}
Comment[da]=Et Akonadi serializer-plugin til %{APPNAMELC}
Comment[de]=Ein Akonadi-Serialisierer für %{APPNAMELC}
Comment[el]=Ένα πρόσθετο διαχειριστή του Akonadi για το %{APPNAMELC}
Comment[en_GB]=An Akonadi serialiser plugin for %{APPNAMELC}
Comment[es]=Un complemento serializador de Akonadi para %{APPNAMELC}
Comment[et]=Akonadi %{APPNAMELC} jadasti plugin
Comment[fi]=Akonadi-serialisointiliitännäinen ohjelmalle %{APPNAMELC}
Comment[fr]=Un module externe de sérialisation Akonadi pour %{APPNAMELC}
Comment[ga]=Breiseán srathóra Akonadi le haghaidh %{APPNAMELC}
Comment[gl]=Un complemento de serialización de Akonadi para %{APPNAMELC}
Comment[hu]=%{APPNAMELC} Akonadi sorosító bővítmény
Comment[it]=Un'estensione di serializzazione di Akonadi per %{APPNAMELC}
Comment[ja]=%{APPNAMELC} のための Akonadi シリアライザ・プラグイン
Comment[kk]=%{APPNAMELC} дегеннің Akonadi тізбектеуіш плагині
Comment[km]=An Akonadi serializer កម្មវិធី​ជំនួយ​សម្រាប់​ %{APPNAMELC}
Comment[ko]=%{APPNAMELC}을(를) 위한 Akonadi 시리얼라이저 플러그인
Comment[lt]=Akonadi nuoseklinimo priemonės papildinys skirtas %{APPNAMELC}
Comment[lv]=Akonadi serializēšanas spraudnis %{APPNAMELC}
Comment[nb]=Et Akonadi-serialisatortillegg for %{APPNAMELC}
Comment[nds]=En Akonadi-Reegmodul för %{APPNAMELC}
Comment[nl]=Een Akonadi serialisatorplug-in voor %{APPNAMELC}
Comment[nn]=Eit Akonadi-serialisatortillegg for %{APPNAMELC}
Comment[pl]=Wtyczka serializacji Akonadi dla %{APPNAMELC}
Comment[pt]=Um 'plugin' de serialização do Akonadi para o %{APPNAMELC}