Localization

[vc_row full_width=”stretch_row” equal_height=”yes” bg_type=”bg_color” bg_override=”ex-full” bg_color_value=”#f3f6f9″ css=”.vc_custom_1588427211229{padding-top: 20px !important;padding-bottom: 20px !important;}”][vc_column][vc_row_inner][vc_column_inner][vc_column_text]

Localization

It is always better to have applications that will have a broader range of audience. Localizing an app gives organizations wider audience with a much lesser cost compared to developing individual app per language.

We can have this done as a user profile attribute and be able to deliver the content based off the user profile. For our app, we just added a simple drop down and are setting a client side cookie to hold the preferred language. For now, we added Spanish as the alternate language.

I am not good with Spanish. So, for this example, we appended¬† “Esp ” in front of the configuration driven text. There should not be any static text in the code. Everything should be driven off of language files.

Also, Starting from Version 9, Angular introduced ngx-translate for translating to other languages. We stayed off of it for this exercise. But, it looks promising and will try it out sooner.  Here is an article about ngx-translate https://www.techiediaries.com/angular/angular-9-internationalization-ngx-translate-tutorial-example/

 

Here is a snapshot of our app after adding localization functionality.[/vc_column_text][vc_single_image image=”488″ img_size=”full”][vc_column_text]

At BundleN, we experiment with stack combinations on our own time.
For potential clients interested in this stack, we can always give a demo of what we have up until that point of time. You can reach us at sales@BundleN.com

For more details on this stack, click here

Here is the latest about our Angular + Java project.[/vc_column_text][/vc_column_inner][/vc_row_inner][vc_row_inner equal_height=”yes” gap=”10″ css=”.vc_custom_1581938564294{padding-right: 15px !important;padding-left: 15px !important;}”][vc_column_inner el_class=”features” width=”1/2″][bsf-info-box icon=”dt-icon-the7-misc-017″ icon_size=”70″ icon_color=”#552c11″ title=”Backend API for Localization” pos=”left” title_font_style=”font-weight:bold;” css_info_box=”.vc_custom_1590238187955{padding-top: 30px !important;}”]Task
Backend API for Localization

Task Details
Add End points to retrieve language specific configurations.[/bsf-info-box][/vc_column_inner][vc_column_inner el_class=”features” width=”1/2″][bsf-info-box icon=”dt-icon-the7-misc-017″ icon_size=”70″ icon_color=”#552c11″ title=”Localized Content in Frontend” pos=”left” title_font_style=”font-weight:bold;” css_info_box=”.vc_custom_1589506555419{padding-top: 30px !important;}”]Task
Localized Content in Frontend

Task Details
Setup a localization value Cookie when user switches the language dropdown. Based off the cookie value, get the localized static content from the backend.[/bsf-info-box][/vc_column_inner][/vc_row_inner][vc_row_inner equal_height=”yes” gap=”10″ css=”.vc_custom_1581938591262{padding-right: 15px !important;padding-left: 15px !important;}”][vc_column_inner el_class=”features” width=”1/2″][bsf-info-box icon=”dt-icon-the7-misc-017″ icon_size=”70″ icon_color=”#552c11″ title=”What are we cooking today?” pos=”left” title_font_style=”font-weight:bold;” css_info_box=”.vc_custom_1589506807588{padding-top: 30px !important;}”]Pub Sub Vs Observer

Let us take a dig at Pub Sub Design Pattern Vs Observer Pattern and have a use case for each of them.[/bsf-info-box][/vc_column_inner][vc_column_inner el_class=”features” width=”1/2″][bsf-info-box icon=”icomoon-the7-font-the7-sort-02″ icon_size=”70″ icon_color=”#552c11″ title=”What’s next?” pos=”left” title_font_style=”font-weight:bold;” css_info_box=”.vc_custom_1589506823269{padding-top: 30px !important;}”]

  • Pub-Sub / Observable
  • Roles API End Point
  • Social Login using Google
  • Social Login using Facebook

[/bsf-info-box][/vc_column_inner][/vc_row_inner][ultimate_spacer height=”48″ height_on_tabs=”24″ height_on_tabs_portrait=”32″ height_on_mob_landscape=”8″ height_on_mob=”16″][/vc_column][/vc_row][vc_row equal_height=”yes” bg_type=”image” parallax_style=”vcpb-default” bg_image_new=”id^73|url^https://dev.techreshape.com/marines/feb/atlas/wp-content/uploads/2020/01/contact-us124.png|caption^null|alt^null|title^contact-us124|description^null” bg_image_repeat=”no-repeat” bg_override=”ex-full” enable_overlay=”enable_overlay_value” overlay_color=”rgba(255,255,255,0.73)” css=”.vc_custom_1582001396087{padding-top: 35px !important;padding-bottom: 35px !important;}”][vc_column width=”5/12″][ultimate_heading main_heading=”Get In Touch” alignment=”left” main_heading_margin=”margin-bottom:20px;” main_heading_font_family=”font_family:Raleway|font_call:Raleway|variant:600″ main_heading_style=”font-weight:600;” main_heading_font_size=”desktop:40px;” main_heading_line_height=”desktop:50px;”][/ultimate_heading][bsf-info-box icon_type=”custom” icon_img=”id^51|url^https://bundlen.com/wp-content/uploads/2020/02/phone1.png|caption^null|alt^null|title^phone1|description^null” img_width=”55″ hover_effect=”style_2″ pos=”left”](615) 619-3000[/bsf-info-box][bsf-info-box icon_type=”custom” icon_img=”id^49|url^https://bundlen.com/wp-content/uploads/2020/02/email1.png|caption^null|alt^null|title^email1|description^null” img_width=”55″ hover_effect=”style_2″ pos=”left”]sales@BundleN.com

[/bsf-info-box][bsf-info-box icon_type=”custom” icon_img=”id^27|url^https://bundlen.com/wp-content/uploads/2020/02/time-1.png|caption^null|alt^null|title^time (1)|description^null” img_width=”55″ hover_effect=”style_2″ pos=”left”]Monday to Friday 7:00 am – 5:00 pm CST[/bsf-info-box][/vc_column][vc_column width=”7/12″][ultimate_heading main_heading=”Send Message” alignment=”left” main_heading_margin=”margin-bottom:20px;” main_heading_font_family=”font_family:Raleway|font_call:Raleway|variant:600″ main_heading_style=”font-weight:600;” main_heading_font_size=”desktop:40px;” main_heading_line_height=”desktop:50px;”][/ultimate_heading][contact-form-7 id=”117″][/vc_column][/vc_row]