edje: Fix to support translation for textblock part
authorSubodhKumar <s7158.kumar@samsung.com>
Tue, 15 May 2018 16:44:17 +0000 (12:44 -0400)
committerWonki Kim <wonki_.kim@samsung.com>
Fri, 1 Jun 2018 01:51:26 +0000 (10:51 +0900)
Summary:
Text translation in edc for textblock is missing.
Added to support it.

@fix

Reviewers: cedric, zmike

Reviewed By: cedric, zmike

Subscribers: shilpasingh, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6164

src/lib/edje/edje_private.h
src/lib/edje/edje_textblock.c

index 4cf0d79..5ab23d9 100644 (file)
@@ -2689,6 +2689,7 @@ void _edje_signal_callback_reset(Edje_Signal_Callback_Flags *flags, unsigned int
 
 void _edje_signal_callback_free(const Edje_Signal_Callback_Group *gp);
 
+const char *   _set_translated_string(Edje *ed, Edje_Real_Part *ep);
 void           _edje_text_init(void);
 void           _edje_text_part_on_add(Edje *ed, Edje_Real_Part *ep);
 void           _edje_text_part_on_del(Edje *ed, Edje_Part *ep);
index 2b99c8b..b55230c 100644 (file)
@@ -509,7 +509,15 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
         else
           {
              ep->typedata.text->text_source = NULL;
-             text = edje_string_get(&chosen_desc->text.text);
+             if (chosen_desc->text.domain)
+               {
+                  if (!chosen_desc->text.text.translated)
+                    chosen_desc->text.text.translated = _set_translated_string(ed, ep);
+                  if (chosen_desc->text.text.translated)
+                    text = chosen_desc->text.text.translated;
+               }
+             if (!text)
+               text = edje_string_get(&chosen_desc->text.text);
              if (ep->typedata.text->text) text = ep->typedata.text->text;
           }