New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add translation support #103

Closed
JackMorganNZ opened this Issue Mar 12, 2017 · 1 comment

Comments

@JackMorganNZ
Member

JackMorganNZ commented Mar 12, 2017

Overview

The CS Unplugged website should handle translations (see Django guide on translation).

Details

Online system for community translations

I have already narrowed it down to two systems for easily managing translations:

Research will be required to pick the best system to use.

Types of content to translate

There is two types of text that needs to be translated:

  1. System strings: Text that is used in HTML templates, resources, etc. The translation files (.po and .mo) can be automatically generated and retrieved by Django.
  2. Content strings: Text found in files in the topics/content folder (within Markdown files).

The second type of text requires some thought on how to easily translate this material. Two possible solutions that are worth investigating (could be many more):

  1. Each language has it's own folder within the topics/content/ folder. This was our initial approach, and #47 was to implement locale property on models, reading of translated data in load scripts, and retrieving of models based off locale. Downsides include:

    • Custom tracking of how updated a file is.

    • Translations would be inputted on two systems (Crowdin/Transifex and Github).

  2. Create script that creates message files from content files (see Django docs and Babel). This would allow all content to be translated in the one place. Would need to research if message files are generated before or after Verto translation. Downsides include:

    • May be difficult to parse translatable strings (this may need to be a feature within Verto).

Summary

This issue will require:

  • Decision on translation system.
  • Configuring of Django settings regarding internationalization.
  • Adding documentation.
  • Allowing manual changing of language on website.

@JackMorganNZ JackMorganNZ changed the title from Add easy content translation and supporting documentation to Add translation support Jul 25, 2017

@jordangriffiths01

This comment has been minimized.

Contributor

jordangriffiths01 commented Dec 1, 2017

Translations are now supported, with most of the implementation occuring in #680. Any outstanding work still required is tracked in separate issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment