Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Saturday, July 4
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Travel»June diplomatic marathon: Ruto sets off on high-level visits to South Africa, Belgium, Finland and France
    Travel

    June diplomatic marathon: Ruto sets off on high-level visits to South Africa, Belgium, Finland and France

    Martin AkumaBy Martin AkumaJuly 4, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    June diplomatic marathon: Ruto sets off on high-level visits to South Africa, Belgium, Finland and France
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 19

    June diplomatic marathon: Ruto sets off on high-level visits to South Africa, Belgium, Finland and France

    June diplomatic marathon: Ruto sets off on high-level visits to South Africa, Belgium, Finland and France

    President William Ruto boarding a plane as he departed for Tanzania on Tuesday, January 28, 2025. (Photo: KindikiKithure/X)

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    3 min listen
    Audio reading is not supported on this browser.

    From South Africa, the Kenyan leader is expected to travel to Belgium for talks with King Philippe at the Royal Palace in Brussels on June 8 as part of efforts to deepen bilateral cooperation between Nairobi and Brussels

    President William Ruto is beginning a packed diplomatic schedule this month with a state visit to South Africa, where he is expected to hold bilateral talks with President Cyril Ramaphosa to strengthen relations between two of Africa’s leading economies.
    Ruto, who arrived in South Africa on Wednesday will be formally hosted by President Cyril Ramaphosa for bilateral talks on Thursday.
    From South Africa, the Kenyan leader is expected to travel to Belgium for talks with King Philippe at the Royal Palace in Brussels on June 8 as part of efforts to deepen bilateral cooperation between Nairobi and Brussels.

    More To Read

    • DP Kindiki hails cooperatives as key to Kenya’s economic transformation
    • Ramaphosa in DR Congo as Africa races to contain expanding Ebola outbreak
    • Civil society groups warn Kenya’s Sh13 trillion debt hurting essential services
    • Court grants DCI three more days to hold woman over alleged posts tracking President Ruto’s flights
    • Construction of Naivasha–Kisumu–Malaba SGR begins in Narok
    • How the new Ngong Road flyover is fueling growth at Dagoretti Corner

    It remains unclear whether Ruto will return to Nairobi after the South Africa visit or proceed directly to Europe ahead of the Belgian engagement.
    The president’s European itinerary will then take him to Finland for a state visit on June 10-11 at the invitation of President Alexander Stubb.
    The visit will be the first by Ruto to the Nordic country and follows Stubb’s state visit to Kenya in 2025.

    Latest Stories

    • Study finds intermittent fasting helps maintain weight loss for at least a year
    • Busia school named among global finalists for 2026 education prize
    • DP Kindiki hails cooperatives as key to Kenya’s economic transformation
    • SHA seeks Treasury funds to clear NHIF claims above Sh10 million

    It will also mark the first state visit by a Kenyan president to Finland since former President Daniel arap Moi travelled to the country in 1987.
    According to the Finnish presidency, discussions will focus on strengthening bilateral relations, expanding trade and investment, reforming multilateral institutions and enhancing cooperation in international affairs.
    “In addition to bilateral relations, the topics will cover multilateral cooperation, the development of the UN system and mediation, regional issues in Africa and Europe, the situation in the Middle East, and the promotion of trade between Finland and Kenya,” the Finnish presidency said in a statement.
    The Finland visit comes days after Ruto cited the country during Madaraka Day celebrations as an example of a successful transition to a knowledge-driven economy.
    The Kenyan leader is then expected to travel to France for the G7 Summit scheduled for June 15-17 in Évian-les-Bains, where global leaders will discuss economic, security and geopolitical challenges.
    The series of engagements highlights Kenya’s growing diplomatic activism as Nairobi seeks to deepen ties with key partners across Africa and Europe while advancing its role in regional and global affairs.

    Other Topics To Read

    Top Stories Today

    • Study finds intermittent fasting helps maintain weight loss for at least a year
    • Busia school named among global finalists for 2026 education prize
    • DP Kindiki hails cooperatives as key to Kenya’s economic transformation
    • SHA seeks Treasury funds to clear NHIF claims above Sh10 million
    • Eight arrested in Marsabit over Sh1.2 million SIM swap fraud
    • What the World Cup hydration breaks reveal about who governs men’s football

    `;
    }

    return “;
    }

    function commentActionsMarkup(comment, canComment) {
    const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
    const likeCount = Number(comment.like_count || 0) > 0
    ? “
    : ”;

    const likeButton = canComment && comment.status === ‘approved’
    ? “
    : “;

    const replyButton = canComment && comment.status === ‘approved’
    ? “
    : ”;

    return `

    `;
    }

    function commentMarkup(comment, canComment, isReply = false) {
    const pendingBadge = comment.status && comment.status !== ‘approved’
    ? “
    : ”;

    const edited = comment.is_edited
    ? “
    : ”;

    const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
    ? `

    `
    : “;

    return `

    `;
    }

    function replyFormMarkup(commentId) {
    return `

    `;
    }

    function setNotice(widget, message, type = ‘info’) {
    const notice = widget.querySelector(‘[data-role=”notice”]’);
    if (!notice) return;

    if (!message) {
    notice.hidden = true;
    notice.textContent = ”;
    notice.classList.remove(‘is-error’);
    return;
    }

    notice.hidden = false;
    notice.textContent = message;
    notice.classList.toggle(‘is-error’, type === ‘error’);
    }

    function setCount(widget, total) {
    const count = widget.querySelector(‘[data-role=”count”]’);
    if (!count) return;

    const num = Number(total || 0);
    count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
    }

    function openReplyBox(widget, commentId) {
    widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
    box.hidden = true;
    box.innerHTML = ”;
    });

    const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (!targetItem) return;

    const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
    if (!replyBox) return;

    replyBox.hidden = false;
    replyBox.innerHTML = replyFormMarkup(commentId);

    const textarea = replyBox.querySelector(‘textarea’);
    if (textarea) textarea.focus();
    }

    function closeReplyBox(container) {
    if (!container) return;
    container.hidden = true;
    container.innerHTML = ”;
    }

    async function initCommentsWidget(widget) {
    const state = {
    articleId: Number(widget.dataset.articleId),
    loadUrl: widget.dataset.loadUrl,
    storeUrl: widget.dataset.storeUrl,
    commentsBaseUrl: widget.dataset.commentsBaseUrl,
    canComment: widget.dataset.canComment === ‘1’,
    page: 1,
    perPage: 10,
    sort: ‘newest’,
    total: 0,
    hasMore: false,
    busy: false
    };

    const list = widget.querySelector(‘[data-role=”list”]’);
    const loading = widget.querySelector(‘[data-role=”loading”]’);
    const empty = widget.querySelector(‘[data-role=”empty”]’);
    const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
    const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
    const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);

    async function loadComments(reset = true) {
    if (state.busy) return;

    state.busy = true;
    setNotice(widget, ”);
    loading.hidden = false;

    if (reset) {
    state.page = 1;
    list.innerHTML = ”;
    empty.hidden = true;
    }

    try {
    const url = new URL(state.loadUrl, window.location.origin);
    url.searchParams.set(‘page’, state.page);
    url.searchParams.set(‘per_page’, state.perPage);
    url.searchParams.set(‘sort’, state.sort);

    const response = await requestJson(url.toString(), {
    method: ‘GET’,
    headers: {
    ‘Accept’: ‘application/json’,
    ‘X-Requested-With’: ‘XMLHttpRequest’
    }
    });

    const items = Array.isArray(response.data) ? response.data : [];
    const meta = response.meta || {};

    state.total = Number(meta.total || 0);
    state.hasMore = !!meta.has_more;

    setCount(widget, state.total);

    if (reset) {
    list.innerHTML = ”;
    }

    if (!items.length && reset) {
    empty.hidden = false;
    } else {
    empty.hidden = true;
    list.insertAdjacentHTML(
    ‘beforeend’,
    items.map(item => commentMarkup(item, state.canComment, false)).join(”)
    );
    }

    loadMoreBtn.hidden = !state.hasMore;
    } catch (error) {
    if (!list.children.length) {
    empty.hidden = false;
    empty.textContent = ‘Unable to load comments right now.’;
    }
    setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
    } finally {
    loading.hidden = true;
    state.busy = false;
    }
    }

    async function submitTopLevelComment(form) {
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘[data-role=”submit-comment”]’);

    if (!textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(state.storeUrl, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    textarea.value = ”;

    if (response?.data) {
    list.insertAdjacentHTML(
    ‘afterbegin’,
    commentMarkup(response.data, state.canComment, false)
    );
    empty.hidden = true;

    if ((response.data.status || ”) === ‘approved’) {
    state.total += 1;
    setCount(widget, state.total);
    }
    }

    setNotice(widget, response.message || ‘Comment posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post comment’;
    }
    }
    }

    async function submitReply(form) {
    const commentId = Number(form.dataset.commentId || 0);
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘.ev-comments__reply-submit’);

    if (!commentId || !textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    if (response?.data) {
    const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (parentItem) {
    const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
    if (repliesWrap) {
    repliesWrap.insertAdjacentHTML(
    ‘beforeend’,
    commentMarkup(response.data, state.canComment, true)
    );
    }
    }
    }

    closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
    setNotice(widget, response.message || ‘Reply posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post reply’;
    }
    }
    }

    async function toggleLike(button) {
    const commentId = Number(button.dataset.commentId || 0);
    if (!commentId) return;

    const originalHtml = button.innerHTML;

    try {
    button.disabled = true;
    button.innerHTML = ‘Working…’;

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({})
    });

    const liked = !!response?.data?.liked;
    const likeCount = Number(response?.data?.like_count || 0);

    button.classList.toggle(‘is-liked’, liked);
    button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
    } catch (error) {
    button.innerHTML = originalHtml;
    setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
    } finally {
    button.disabled = false;
    }
    }

    if (composerForm) {
    composerForm.addEventListener(‘submit’, function (e) {
    e.preventDefault();
    submitTopLevelComment(composerForm);
    });
    }

    if (sortSelect) {
    sortSelect.addEventListener(‘change’, function () {
    state.sort = this.value || ‘newest’;
    loadComments(true);
    });
    }

    if (loadMoreBtn) {
    loadMoreBtn.addEventListener(‘click’, function () {
    if (state.busy || !state.hasMore) return;
    state.page += 1;
    loadComments(false);
    });
    }

    widget.addEventListener(‘click’, function (e) {
    const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
    if (likeBtn) {
    e.preventDefault();
    toggleLike(likeBtn);
    return;
    }

    const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
    if (replyBtn) {
    e.preventDefault();
    openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
    return;
    }

    const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
    if (cancelReplyBtn) {
    e.preventDefault();
    closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
    }
    });

    widget.addEventListener(‘submit’, function (e) {
    const replyForm = e.target.closest(‘.ev-comments__reply-form’);
    if (replyForm) {
    e.preventDefault();
    submitReply(replyForm);
    }
    });

    loadComments(true);
    }

    document.addEventListener(‘DOMContentLoaded’, function () {
    document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
    });
    })();

    Trending

    Eight arrested in Marsabit over Sh1.2 million SIM swap fraudNorthern Kenya
    |Bashir Mbuthia
    |2 hours ago
    Study finds intermittent fasting helps maintain weight loss for at least a year
    Study finds intermittent fasting helps maintain weight loss for at least a yearHealth
    |Charity Kilei
    |22 minutes ago
    UK, France agree with Oman on multinational military mission to secure Strait of HormuzNews
    |Mary Wambui
    |6 hours ago
    Families of Ethiopians on Saudi death row gripped by fear as executions loomRegional
    |Addis Standard
    |4 hours ago
    DP Kindiki hails cooperatives as key to Kenya’s economic transformationNews
    |Rachael Mutabasi
    |1 hour ago
    What Kenya's record Sh1.82 trillion forex reserves mean for the economy
    What Kenya’s record Sh1.82 trillion forex reserves mean for the economyBusiness
    |Alfred Onyango
    |7 hours ago
    IGAD pushes regional action to tackle plastic pollution
    IGAD pushes regional action to tackle plastic pollutionNews
    |Rachael Mutabasi
    |6 hours ago
    Iran begins six-day funeral for late Supreme Leader Ali KhameneiWorld
    |DW News
    |9 hours ago
    Government reaffirms commitment to inclusive development across all regionsNews
    |Mary Wambui
    |4 hours ago
    CAF opens bidding for 2028, 2032 and 2036 AFCON tournaments
    CAF opens bidding for 2028, 2032 and 2036 AFCON tournamentsNews
    |Erick Kariuki
    |8 hours ago

    diplomatic June Marathon Ruto sets
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Martin Akuma
    • Website

    Related Posts

    Senegal suspends non-essential travel for ministers as oil prices surge

    July 4, 2026

    Pope Leo urges migrant protection, integration on visit to Lampedusa

    July 4, 2026

    Roosevelt on Safari: A Leopard Attack, an Ambush, and a Quest Fulfilled

    July 4, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    Senegal suspends non-essential travel for ministers as oil prices surge

    July 4, 2026

    The women deploying drones and data to protect Africa’s wildlife

    July 4, 2026

    Africa’s most powerful military inaugurates a new military HQ with a US

    July 4, 2026

    WAHO harmonises 58 health training curricula across West Africa

    July 4, 2026

    Law, Witnessing, and the ‘Grey Zone’

    July 4, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    Travel

    Senegal suspends non-essential travel for ministers as oil prices surge

    Environment

    The women deploying drones and data to protect Africa’s wildlife

    Business

    Africa’s most powerful military inaugurates a new military HQ with a US

    Most Popular

    Health

    WAHO harmonises 58 health training curricula across West Africa

    Legal

    Law, Witnessing, and the ‘Grey Zone’

    Lifestyle

    ‘Love and Marriage Remain Sacred Institutions’: Nollywood Veteran Emeka Ike Speaks Out

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.