CSC/ECE 517 Fall 2018/E1866 Expertiza Internationalization

From Expertiza_Wiki
Revision as of 21:52, 12 November 2018 by Jtgill (talk | contribs)
Jump to navigation Jump to search

Introduction

Team Members

Jonathan Gill (jtgill@ncsu.edu)

Hasham Mukhtar (hmukhta@ncsu.edu)

Abhilasha Saini (asaini4@ncsu.edu)

Reddy Aravind Karnam Ganesh (rkarnam@ncsu.edu)

Relevant Files

config/locales

routes.rb

all view files

Project Description

Currently Expertiza only supports creating courses in the English language. Many Expertiza users are from other countries. We aim to allow instructors to create courses in other languages. This will be done by internationalizing static strings in Expertiza to another language (ex: Hindi or Chinese). Instructors will have the ability to change the language for a course in the Edit Course page through a dropdown. We will not be affecting any strings that are dynamically shown and are not changing any English strings in the actual code.

Project Design

Technical Design

Allowing instructor to change language for a course

  • We will add a language column to the Courses Table.
  • Then we will add a dropdown of languages to the Edit Course page for an instructor to use.
  • When an instructor updates the Edit Course page with a chosen language picked, it will translate all the static strings in the Expertiza application to that new language.

Adding Multi-Language Support

  • For this project, we will be adding support for one language right now, Hindi.
  • We will be using the Rails Internationalization (I18n) API to help us add multi language support.
  • There will be two yaml files in the config/locales directory representing the different languages that can be used in Expertiza.
    • One for English, which will be the default language used, and another for Hindi.
      • en.yml
      • hi_IN.yml
    • These yaml files contain the translated strings for their respective language.
  • We will be editing the routes.rb file and all the view files so that it can read from the yaml files to show other languages.

Example Output

Original Page

alt text

Language Dropdown

Translated Page

Links/References

Project Links

  • Pull Request:
  • Github: [1]
  • Video:

Support Material