diff options
author | John-Mark Bell <jmb@netsurf-browser.org> | 2018-01-21 14:27:10 +0000 |
---|---|---|
committer | John-Mark Bell <jmb@netsurf-browser.org> | 2018-01-21 14:27:10 +0000 |
commit | 08c275ed2c843441aad23d38646083de7a130753 (patch) | |
tree | 4389a357639e105895379a7868c90c26be57a8d8 /frontends/riscos | |
parent | 790d30b7888d5818a4e2521aabe2f31f04d59341 (diff) | |
download | netsurf-08c275ed2c843441aad23d38646083de7a130753.tar.gz netsurf-08c275ed2c843441aad23d38646083de7a130753.tar.bz2 |
RISC OS: translate resource paths.
Fixes #2266.
Diffstat (limited to 'frontends/riscos')
-rw-r--r-- | frontends/riscos/gui.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/frontends/riscos/gui.c b/frontends/riscos/gui.c index cfc513f72..be1bc8d9a 100644 --- a/frontends/riscos/gui.c +++ b/frontends/riscos/gui.c @@ -195,6 +195,7 @@ static struct static nsurl *gui_get_resource_url(const char *path) { static const char base_url[] = "file:///NetSurf:/Resources/"; + const char *lang; size_t path_len, length; char *raw; nsurl *url = NULL; @@ -220,8 +221,12 @@ static nsurl *gui_get_resource_url(const char *path) path_len = strlen(path); + lang = ro_gui_default_language(); + /* Find max URL length */ - length = SLEN(base_url) + SLEN("xx/") + path_len + 1; + length = SLEN(base_url) + + strlen(lang) + 1 + /* <lang> + / */ + path_len + 1; /* + NUL */ raw = malloc(length); if (raw != NULL) { @@ -230,13 +235,11 @@ static nsurl *gui_get_resource_url(const char *path) ptr += SLEN(base_url); /* Add language directory to URL, for translated files */ - /* TODO: handle non-en langauages - * handle non-html translated files */ + /* TODO: handle non-html translated files */ if (path_len > SLEN(".html") && strncmp(path + path_len - SLEN(".html"), ".html", SLEN(".html")) == 0) { - memcpy(ptr, "en/", SLEN("en/")); - ptr += SLEN("en/"); + ptr += sprintf(ptr, "%s/", lang); } /* Add filename to URL */ |