CSC/ECE 517 Fall 2021 - E2159. Expertiza internationalization

From Expertiza_Wiki
Jump to navigation Jump to search

Introduction - Purpose & Problem

1. Language selection

2 Rendering the language
<br How do we go about rendering the screen in that language?
In the previous step, we’ve identified the language in which a view is to be rendered. It is important to note that this language may not only differ for a different user, but also for a different page for the same user. The question now becomes, how do we render the screen in this language? To tackle this question, we explore 2 fundamental concepts:
Views are composed of independent language elements
While this is something we typically take for granted, it becomes especially important in the context of translation. That is, a view is not a single contiguous block of text, nor is it an atomic visualization of information (unlike a screenshot), but rather a carefully organized collection of individual elements such as texts, buttons, etc that each contain language that needs to be translated separately. Crucially, this means that we cannot swap out a page in one language in its entirety for a page in another language in its entirety. Instead, each individual element needs to be swapped out individually so as to only impact the language and not the structural composition of the page itself.
*Views require translation at a large number of call sites
Given that a view is composed of individual elements, this also means that the computation of how to translate such an element such as a button’s text would need to be done separately for each element. This would result in not only a single centralized


3. Translation gaps

Scope

Design

Proposed Solution 1. Language selection 2. Rendering the language I18n - Internationalisation, How are we using I18n in Ruby on Rails 7 3. Translation gaps

Alternate approaches

Use Case Diagram

Major design patterns and principles used

Database Design

Database Modification ==

Test Plan

Test Details Manual Testing Scenario 1 Scenario 2 Scenario 3 Scenario 4 Scenario 5

Future Scope

Team

Team Members

Reuben M. V. John [rmjohn2@ncsu.edu]
Renji Joseph Sabu [rsabu@ncsu.edu]
Ashwin Das [adas9@ncsu.edu]
Arnav Julka [ajulka@ncsu.edu]

Mentor

Jialin Cui [jcui9@ncsu.edu]