E1932 Expertiza Internationalization - Spring 2019: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
Line 31: Line 31:


===Mock Screens===
===Mock Screens===
[[File:Hindi.JPG|center|400px|alt=looks like the image failed to load! It was depicting the mock screen with Hindi texts in place of static english strings.]]
[[File:Hindi.JPG|frame|center|400px|alt=looks like the image failed to load! It was depicting the mock screen with Hindi texts in place of static english strings.]]


For the scope of this project , we are focusing only on the student views and propose changes in the following files to address the issues mentioned above :
For the scope of this project , we are focusing only on the student views and propose changes in the following files to address the issues mentioned above :

Revision as of 21:53, 12 April 2019

Sections to be created:

Introduction

Expertiza

Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.

Internationalization

Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes. Localization is the process of adapting internationalized software for a specific region or language by translating text and adding locale-specific components. Both in re-engineering an existing software or designing a new internationalized software, the first step of internationalization is to split each potentially locale-dependent part (whether code, text or data) into a separate module. Each module can then either rely on a standard library/dependency or be independently replaced as needed for each locale.

Link to pull request and git repo

Pull Request: Coming Soon!

Git Repository: https://github.com/Mandhani/expertiza

Problem Statement

Expertiza is an open source web application that was built on Ruby on Rails stack. It provides a platform to students with various features that includes peer - reviewing projects, submitting work, form teams, viewing grades, etc. The project is maintained by students and faculty at NCSU.

Right now, expertiza only supports English and many students are from other countries and speak different languages. They might not be able to understand english. The purpose of our project - expertiza internationalization is to allow students to understand the web application in their own language by modifying the existing code base and emphasizing on the student views. Our end goal would be to enable students to change the language through a dropdown located in the navigation bar at the top of the web page without any page breaks. The language that we would work with is Hindi.

Changes proposed

The previous project on expertiza internationalization was successful in translating the static strings to Hindi but it had a few issues that we have identified due to which it could not be merged into expertiza :

  • Bugs in view/student_review files that prevents the parameter id to persist in the web page link after making the language change from english to hindi.
  • Page not found errors when trying links other than the main Assignment page after the language conversion occurs.
  • The select language option is not consistent i.e if the selected language is Hindi, and you navigate back, the web application changes to the default language setting that is English. The session is not consistent, the default locale language persists.
  • Static text translation not entirely done

Mock Screens

looks like the image failed to load! It was depicting the mock screen with Hindi texts in place of static english strings.

For the scope of this project , we are focusing only on the student views and propose changes in the following files to address the issues mentioned above :

  • app/views/
    • views/student_review
      • _responses.html.erb
      • list.html.erb
      • _set_dynamic_review.html.erb
    • views/participants
      • change_handle.html.erb
    • sign_up_sheet/
      • _suggested_topic.html.erb
      • _table_header.html.erb
      • list.html.erb
    • student_task/
      • list.html.erb
      • view.html.erb
      • _publishing_rights.html.erb
    • student_teams/
      • edit.html.erb
      • view.html.erb
    • submitted_content/
      • _hyperlink.html.erb
      • _main.html.erb
      • _self_review.html.erb
      • _submitted_files.html.erb
      • _title.html.erb
      • edit.html.erb
    • grades/
      • view_my_scores.html.erb
      • view_team.html.erb

From our observation, errors are prevalent when referencing keys from other files.

Implementation

What files have been/are to be changed will be updated in this section once we fix the issues mentioned above.

Test Plan

Student Credentials

username: student1016 or student[4000-8000]

password: password

Before Testing

Since the issues mentioned are not fixed yet, there are some gotchas to keep in mind:

  • When going between pages, use the Back button link located on the bottom of pages, not on the browser.
  • When going to the main Assignment page, use the Back button link to get there to test out the scenarios below, not the link in the navigation bar.

Scenario 1

1. Log in to Expertiza as a student.

2. Go to language dropdown in the navigation bar and choose Hindi.

3. Check if language is changed in the URL from en to hi_IN

4. Check to see if the English strings on the page are translated to Hindi

5. While still logged in as a Student, check if the other Assignment related pages are also translated.

Scenario 2

1. Log in to Expertiza as a student.

2. Go to language dropdown in the navigation bar and choose Hindi.

3. Check if language is changed in the URL from en to hi_IN

4. Check to see if the English strings on the page are translated to Hindi

5. While still logged in as a Student, check if the other Assignment related pages are also translated.

6. Go back to the main Assignment page and choose English from the dropdown.

7. See if the language was changed in the URL to en.

8. See if the strings are translated back to English for all Assignment related pages.

Scenario 3

1. Log in to Expertiza as a student.

2. Go to URL and change the language from en to hi_IN.

3. Check to see if the English strings on the page are translated to Hindi.

4. While still logged in as a Student, check if the other Assignment related pages are also translated.

Scenario 4

1. Log in to Expertiza as a student.

2. Go to URL and change the language from en to hi_IN.

3. Check to see if the English strings on the page are translated to Hindi.

4. While still logged in as a Student, check if the other Assignment related pages are also translated.

5. Now change the language back from hi_IN to en in the URL.

6. See if the Hindi strings are translated back to English for all Assignment related pages.

Links/References

1. Internationalization and Localization Wikipedia: https://en.wikipedia.org/wiki/Internationalization_and_localization

Support Material

1. https://guides.rubyonrails.org/i18n.html#how-i18n-in-ruby-on-rails-works[1]

2. https://guides.rubyonrails.org/i18n.html#setting-the-locale-from-url-params[2]

3. https://guides.rubyonrails.org/i18n.html#abstracting-localized-code[3] 4. [4] 5. [5] 6. [6] 8. [7]