public
Description: Rails/AR: engine to manage translations inside a database
Homepage:
Clone URL: git://github.com/grosser/translation_db_engine.git
name age message
file README.markdown Tue Sep 22 10:14:55 -0700 2009 readme update [grosser]
directory app/ Sat May 02 02:00:02 -0700 2009 added layout, more flashes and destroy link [grosser]
directory config/ Fri May 01 06:09:49 -0700 2009 made everything work [grosser]
directory tasks/ Fri May 01 10:18:44 -0700 2009 added task to sync database with po files [grosser]
file translation_db_engine.yml Sat May 02 02:00:02 -0700 2009 added layout, more flashes and destroy link [grosser]
README.markdown

A interface for database stored translation editing as rails engine. Uses your styles/layout and fits seamlessly.

Setup

script/plugin install git://github.com/grosser/translation_db_engine.git

Default

  • Setup FastGettext(>= 0.4.7) to run from database and include the db_models, see FastGettext Readme
  • Run migrations to create models
  • Start translating! (it is as fast as mo/po based translations because of FastGettext`s caching)

Personalized

  • Setup whichever I18n framework supports a database
  • Create a TranslationKey model that has_many :translations, available_locales and accepts_nested_attributes_for :translations
  • Make available locales return the locales you need
  • Start translating!

Thereafter...

  • Setup authentification by copying and modifying translation_db_engine.yml into RAILS_ROOT/config
  • rake sync_po_to_db to load all translations from .po files into the database (given they lie in /locale), requires pomo po parser
  • (If not translations exist yet) Add initial translations through import or create them through the script/console (you NEED a translation for every locale so that available_locales is populated and edit fields are shown correctly)
  • Visit /translation_keys in your browser.

TODO

  • specs
  • search + ordering + pagination

Author

Michael Grosser
grosser.michael@gmail.com
Hereby placed under public domain, do what you want, just do not hold me accountable...