From ec0f4b40442fc9b150ea06f11c94638e4c76acb7 Mon Sep 17 00:00:00 2001 From: Tomer Shalev Date: Sun, 15 Nov 2009 21:39:39 +0000 Subject: FS#10783 - WPS translation - Use the %Sx skin tag in WPS to translate 'Next Track', 'Next', and 'of' (X of Y tracks) - New conditional skin token 'Sr' which checks whether the currently loaded language is an RTL language (Hebrew/Arabic). It uses lang_is_rtl(). - Added Hebrew translation git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23638 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/skin_engine/skin_parser.c | 1 + apps/gui/skin_engine/skin_tokens.c | 4 ++++ apps/gui/skin_engine/skin_tokens.h | 1 + apps/gui/skin_engine/wps_debug.c | 3 +++ 4 files changed, 9 insertions(+) (limited to 'apps/gui') diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index 0e21ec0c81..e0dedd5d48 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -362,6 +362,7 @@ static const struct wps_tag all_tags[] = { parse_setting_and_lang }, { WPS_TOKEN_TRANSLATEDSTRING, "Sx", WPS_REFRESH_STATIC, parse_setting_and_lang }, + { WPS_TOKEN_LANG_IS_RTL , "Sr", WPS_REFRESH_STATIC, NULL }, { WPS_TOKEN_LASTTOUCH, "Tl", WPS_REFRESH_DYNAMIC, parse_timeout }, { WPS_TOKEN_CURRENT_SCREEN, "cs", WPS_REFRESH_DYNAMIC, NULL }, diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c index d4adfa8c85..9622e127a7 100644 --- a/apps/gui/skin_engine/skin_tokens.c +++ b/apps/gui/skin_engine/skin_tokens.c @@ -59,6 +59,7 @@ #include "recording.h" #include "pcm_record.h" #endif +#include "language.h" static char* get_codectype(const struct mp3entry* id3) { @@ -1174,6 +1175,9 @@ const char *get_token_value(struct gui_wps *gwps, return buf; } + case WPS_TOKEN_LANG_IS_RTL: + return lang_is_rtl() ? "r" : NULL; + default: return NULL; } diff --git a/apps/gui/skin_engine/skin_tokens.h b/apps/gui/skin_engine/skin_tokens.h index 27594db27f..a59074fdd7 100644 --- a/apps/gui/skin_engine/skin_tokens.h +++ b/apps/gui/skin_engine/skin_tokens.h @@ -202,6 +202,7 @@ enum wps_token_type { /* Setting option */ WPS_TOKEN_SETTING, WPS_TOKEN_CURRENT_SCREEN, + WPS_TOKEN_LANG_IS_RTL, /* Recording Tokens */ TOKEN_MARKER_RECORDING, diff --git a/apps/gui/skin_engine/wps_debug.c b/apps/gui/skin_engine/wps_debug.c index 7d485f2c50..a0bf970e0d 100644 --- a/apps/gui/skin_engine/wps_debug.c +++ b/apps/gui/skin_engine/wps_debug.c @@ -490,6 +490,9 @@ static char *get_token_desc(struct wps_token *token, char *buf, snprintf(buf, bufsize, "Setting value: '%s'", settings[token->value.i].cfg_name); break; + case WPS_TOKEN_LANG_IS_RTL: + snprintf(buf, bufsize, "lang: is_rtl?"); + break; default: for(i=1; i