Using CiviCRM in another language than US-English (installing, configuring, challenges, improving translation, documentation, community, useful tricks, and more!)
Bonjour!
CiviCRM developer (2007)
Core Team member (2017)
Translation / sysadmin
SymbioTIC.coop
@bgm @mlutfy
Plan
Translation?
Developer tips
Administrator tips
Q&A
Internationalisation (i18n)
Makes it possible to adapt software to different languages without changing code.
Привет!
ts('Hello!');
date formats (04/22/2018 vs 2018-04-22)
time formats (16:15 vs 4:15pm)
money/currency formats ($5.75 vs 5,75 $)
address formats
"left to right" vs "right to left"
first day of the week
taxes by state/province/country
taxes included, or displayed separately
invoicing format
membership expiration rules
legislation (GDPR, anti-spam, language)
formality and titles (Dr, Prof, Hon, Ms/Mrs/Mz)
gendered language, plural
Translator community
70 language teams registered
37 languages and variants > 20% completion
1,362 contributors
117,000 words
2017 new/improved: Farsi, Serbian, Ukrainian, Russian, Chinese, Korean
<?php
use CRM_I18nexample_ExtensionUtil as E;
class CRM_I18nexample_Page_Hello extends CRM_Core_Page {
function run() {
// New syntax (provided by the latest civix)
$greeting = E::ts('Hello!');
// Old syntax:
$greeting = ts('Hello!', ['domain' => 'ca.bidon.i18nexample']);
}
}