From 47bc9d3dc6b3cf77957f11bceea1bcda492f8818 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Sun, 29 Oct 2017 22:53:26 +0100 Subject: [PATCH] multi-language support --- war/src/main/java/pnews/Category.java | 4 ++++ war/src/main/java/pnews/servlet/HTML.java | 21 +++++++++++++++------ war/src/main/java/pnews/servlet/Pnews.java | 4 ++-- war/src/main/resources/feeds.json | 9 +++++++-- 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/war/src/main/java/pnews/Category.java b/war/src/main/java/pnews/Category.java index ab63a05..ac59c59 100644 --- a/war/src/main/java/pnews/Category.java +++ b/war/src/main/java/pnews/Category.java @@ -29,6 +29,10 @@ public class Category { return id; } + public String getLanguage() { + return language; + } + @Override public String toString() { return getLabel(); diff --git a/war/src/main/java/pnews/servlet/HTML.java b/war/src/main/java/pnews/servlet/HTML.java index 321c5a7..a9ad838 100644 --- a/war/src/main/java/pnews/servlet/HTML.java +++ b/war/src/main/java/pnews/servlet/HTML.java @@ -8,6 +8,7 @@ import java.util.logging.Logger; import pnews.Article; import pnews.Category; +import pnews.Language; public class HTML { private static final String CLASS_NAME= HTML.class.getName(); @@ -71,13 +72,16 @@ public class HTML { buf.append("\n"); } - private static void appendMenu(StringBuffer buf, Category catActive, Category[] cats) { + private static void appendMenu(StringBuffer buf, Category catActive, Config cfg) { String cl; buf.append("\n"); } - public static String toHTML(List
articles, Category catActive, Category[] cats) { + public static String toHTML(List
articles, Category catActive, Config cfg) { StringBuffer buf; int i; + Category[] cats; buf = new StringBuffer(); buf.append("\n"); @@ -111,7 +118,9 @@ public class HTML { buf.append("\n"); buf.append("\n"); - appendMenu(buf, catActive, cats); + cats = cfg.getCategories(); + + appendMenu(buf, catActive, cfg); i = 0; for (Article e: articles) { diff --git a/war/src/main/java/pnews/servlet/Pnews.java b/war/src/main/java/pnews/servlet/Pnews.java index 4003fed..029f3c7 100644 --- a/war/src/main/java/pnews/servlet/Pnews.java +++ b/war/src/main/java/pnews/servlet/Pnews.java @@ -112,13 +112,13 @@ public class Pnews extends HttpServlet { try { articles = provider.getArticles(cat); if (articles != null) { - html = HTML.toHTML(articles, cat, config.getCategories()); + html = HTML.toHTML(articles, cat, config); rp.setContentType("text/html;charset=utf-8"); rp.getWriter().write(html); rp.setCharacterEncoding("utf-8"); } else { LOG.severe("writeArticles cannot retrieve any articles"); - html = HTML.toHTML(new ArrayList
(), cat, config.getCategories()); + html = HTML.toHTML(new ArrayList
(), cat, config); rp.setContentType("text/html"); rp.getWriter().write(html); } diff --git a/war/src/main/resources/feeds.json b/war/src/main/resources/feeds.json index 8e71c0c..7e971d0 100644 --- a/war/src/main/resources/feeds.json +++ b/war/src/main/resources/feeds.json @@ -49,8 +49,12 @@ "label": "People", "title": "People", "language": "fr" + }, { + "id": "ubuntu", + "label": "Ubuntu", + "title": "Ubuntu", + "language": "en" } - ], "feeds": { "http://www.europe1.fr/var/export/rss/europe1/actus.xml": { "categories": ["actualite"] }, @@ -87,6 +91,7 @@ "http://www.fredzone.org/feed": { "categories": ["technologie"] }, "http://www.futura-sciences.com/rss/actualites.xml": { "categories": ["technologie"] }, "https://www-03.ibm.com/press/fr/fr/rssfeed.wss?keyword=null&maxFeed=&feedType=RSS&topic=all": { "categories": ["technologie"] }, - "https://korben.info/feed": { "categories": ["technologie"]} + "https://korben.info/feed": { "categories": ["technologie"]}, + "https://insights.ubuntu.com/feed/": { "categories": ["ubuntu"]} } } -- 2.7.4