X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2FVersionCheck.java;fp=src%2Fbe%2Fnikiroo%2Ffanfix%2FVersionCheck.java;h=00450623cb3dea5603c77ae076eac2c9c8b7f0e9;hb=1163de3dcd121a4c1fb8814b40f39a71813289b1;hp=62ee814071b734b1fadff3f90d5b5b746b6dae1e;hpb=24c1809356a3e15504f9d28053de1cf55ed78c0b;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/VersionCheck.java b/src/be/nikiroo/fanfix/VersionCheck.java index 62ee814..0045062 100644 --- a/src/be/nikiroo/fanfix/VersionCheck.java +++ b/src/be/nikiroo/fanfix/VersionCheck.java @@ -8,6 +8,7 @@ import java.net.URL; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import be.nikiroo.utils.Version; @@ -19,7 +20,7 @@ import be.nikiroo.utils.Version; * @author niki */ public class VersionCheck { - private static final String url = "https://github.com/nikiroo/fanfix/raw/master/changelog.md"; + private static final String base = "https://github.com/nikiroo/fanfix/raw/master/changelog${LANG}.md"; private Version current; private List newer; @@ -108,7 +109,27 @@ public class VersionCheck { if (Instance.isVersionCheckNeeded()) { try { - InputStream in = Instance.getCache().openNoCache(new URL(url)); + // Prepare the URLs according to the user's language + Locale lang = Instance.getTrans().getLanguage(); + String fr = lang.getLanguage(); + String BE = lang.getCountry().replace(".UTF8", ""); + String urlFrBE = base.replace("${LANG}", "-" + fr + "_" + BE); + String urlFr = base.replace("${LANG}", "-" + fr); + String urlDefault = base.replace("${LANG}", ""); + + InputStream in = null; + for (String url : new String[] { urlFrBE, urlFr, urlDefault }) { + try { + in = Instance.getCache().openNoCache(new URL(url)); + break; + } catch (IOException e) { + } + } + + if (in == null) { + throw new IOException("No changelog found"); + } + BufferedReader reader = new BufferedReader( new InputStreamReader(in, "UTF-8")); try { @@ -140,8 +161,10 @@ public class VersionCheck { reader.close(); } } catch (IOException e) { - Instance.getTraceHandler().error(new IOException( - "Cannot download latest changelist on github.com", e)); + Instance.getTraceHandler() + .error(new IOException( + "Cannot download latest changelist on github.com", + e)); } }