Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

aka message bundles, language bundles, localization bundles, language modules, ...

Table of Contents

...

  • Copy the .gitignore of an existing translation bundle
  • Copy and adapt the pom.xml of an existing translation bundle (<artifactId>, <name>, <scm>)
  • Copy and adapt the module descriptor xml of an existing translation bundle (<name>, <dependencies>)
  • For now, we don't need Maven dependencies to the modules we're translating.
  • Add translation files under src/main/resources/mgnl-i18n/
  • Finally, add the submodule in the lang-reactor:

    Code Block
    git clone https://git.magnolia-cms.com/lang/lang-reactor.git
    git submodule add ssh://git@git.magnolia-cms.com:/lang/lang-$NEW_LOCALE # we use ssh urls for Jenkins' sake
    vi pom.xml # Add it to the <modules> section
    git add -p; git commit; git push

...

Code Block
sudo port install aspell
sudo port install aspell-dict-$NEW_LOCALE
# or brew install aspell

for f in $(find . -name *$NEW_LOCALE.properties); do
  echo "~~~~~~~~~ $f ~~~~~~~~"
  cat $f | sed -E 's;.=(.);\1;' | grep -vE '^(#|$)' | aspell -a -l $NEW_LOCALE --dont-suggest
done

TODOs

  • Do we need an MVH (to setup/check /server/i18n/system/languages) ?
    • we could perhaps start shipping default config with just english in there, and each module would add its own at install.
    • If so, where do we put it ? Just depend on core... or have it in core ? (kinds of put a hard dependency on core version tho)
    • Or another module that has optional deps on the lang modules (so it is installed AFTER all langs, but that wouldn't kick in if someone ADDS a lang, unless it does so at startup time rather than update-time)
  • process(es) for transla-tions/-tors
  • tools to visualize completeness of translations
    • since we have the key generation mechanism, we probably want tooling to verify translations based on that (e.g for example certain languages will need to override certain specific keys, while some won't – tooling should allow to see translation completion regardless)
    • when adding/remove keys, workflows should be triggered (human or machine) to get translations done for those keys.