Skip to content
This repository has been archived by the owner on Dec 28, 2020. It is now read-only.

Customize Translation

Chris Carlevato edited this page Mar 27, 2017 · 1 revision

Language Packs

Helios Calendar's default language pack is English. The English language pack is included with the Helios Calendar release package and is localized for use in the United States.

Please Note: Helios language packs only translate text interface elements of the software. Because Helios uses dynamic, user generated data that is stored in and retrieved from a MySQL database your event data will not be translated in real-time by Helios language packs. This means two very important things:

  1. To serve a multilingual users event data must be entered in each language, or a site translation service can be used (Example: Google).
  2. To use languages with special characters additional server configuration may be necessary (to accomodate various languages character sets). Depending on existing server configuration this may require the installation of additional locales and/or changes to the default character set of the MySQL tables used by Helios.

Structure

Each language pack contains PHP files that are included throughout Helios, each file contains an array of text elements used to build the Helios Calendar interface.

<?php
$hc_lang_sample = array(
'ElementA'  =>  'Some Text',
'ElementB'  =>  'Another string of text used in Helios.',
);

The left column is made up of the array indices, used to identify the value within the right column.

Translation Sample

To translate Helios Calendar edit the right column values to their translated equivalent. For example, To translate the text from the sample above into Spanish:

<?php
$hc_lang_sample = array(
'ElementA'  =>  'Algunos Texto',
'ElementB'  =>  'Otra secuencia del texto usada adentro Helios.',
);

Note: Editing any index value in the left column will cause the language pack to malfunction. Index values should never be edited. Edit the right column values only.

Using Quotes

When translating language pack contents the use of double quotes (“quoted text”) for validation text is not recommended as it can cause unexpected JavaScript behavior. In the event that you wish to quote some portion of your validation text please use a single quote ('quoted text') and escape the quote so it is properly formatted for use within the language pack.

<?php
$hc_lang_sample = array(
'ValidQuoted'   =>  'If you wish to \'quote\' validation text, remember to \'escape\' your quotes.',
);

Note: All validation text (used in JavaScript validation) is named “ValidXX” to denote it's use as part of the validation JavaScript.

Contents Overview

/admin - Contains the translated PHP files used by the admin console.

/events - Contains the translated PHP files used by the public calendar.

icon.png - Used to change the current language setting in the public calendar (when the language select option is enabled in the public calendar theme). Refresh uses, and recommends, the flag icons available at famfamfam.com. After adding it to the language pack directory, rename the file to icon.png for use within Helios.

popCal.js - Global settings used within the JavaScript popup date selector.

selectCountry.php - Country select list containing 247 countries. By default the list uses the associated ISO 3166-1-alpha-2 Country Codes for the list value.

selectOccupation.php - Occupations options that can be translated, modified and expanded. Note: If new occupations are added to an active install it is recommended they are given values above 20 so that existing data is not inadvertently corrupted. Occupations are stored within the database as a numeric value referencing an occupation in this select list.

selectRegion.php - Consisting of US States by default, this file can be modified to use any localized region equivalent, including States/Provinces/Regions for multiple countries. The input options, when edited, must match the following form:

config.php - The language pack config file includes several global settings unique to the language pack. These include region label as well as the names of the files used to select Region and Occupation.

Installing New Language Packs

To install a new language pack upload the entire contents of the language directory to: /inc/lang/<language>

For example, to install the English language pack upload the entire /english directory to: /inc/lang/english/

Once the new language pack is uploaded purging the language cache file (/cache/lang.php file) will make the pack available to public calendar users.

Note: Language packs can be “activated” individually per user and the active pack setting is session based. Admin users currently logged in to the admin console when a new pack is installed will either need to sign out of the admin console (to sign-in with a new active pack - identified as “Language” within the admin console sign in form) or select a new active pack by clicking a language pack link from within the public calendar in order to utilize newly installed packs.

Upgrading

When upgrading your Helios Calendar install be certain to install new versions of any language pack(s) in use. Older language packs will, in most cases, be incompatible with newer versions and missing required entries. The default (English) pack can be used as a comparison guide (using your favorite diff utility) for verifying the completeness of your custom language pack(s) and updated versions of all supported language packs are made available for download within the Refresh Members Site with each Helios Calendar release.

Note: Language packs available for download from the Refresh Members Site are for the current release of Helios Calendar.

Important Note About US States

Helios Calendar can be easily localized to use any region equivalent and is not limited to US States.

Newsletter Social Button Image Files

Helios Calendar includes English versions of Facebook & Twitter buttons that are used in Newsletters it sends. To modify these images edit the files located in the /newsletter/images directory. The file names should not change, but you can use any images you like for these resources.

Clone this wiki locally