MerbGlobal README ================= A plugin for the Merb framework providing Localization (L10n) and Internationalization (i18n) support. merb\_global will have the following feature set: * support for model (content) localization - by default, localization stored in the database - with DataMapper (targeted 0.1) - with ActiveRecord (targeted 0.2) - with Sequel ORM - and, with a choice of strategies in each case: - single-table (c.f. globalize RoR plugin) |title |varchar(100)| |title_de|varchar(100)| |title_fr|varchar(100)| - joined-table for unlimited localizations (c.f. Symfony PHP) - or, alternatively localizations can be stored outside of the domain model, UI Strings. * support for view (UI String) localization - choice of providers (po, yaml, database) Merb::Plugins.config[:merb_global] = { #:message_provider => "po", # default :message_provider => 'yaml' #:message_provider => active_record #:message_provider => data_mapper #:message_provider => sequel } - for JRuby, wrapper allowing use of .properties files. * Extract, update for PO/POT files * Currency, Date and Language Helpers - stored either in the database, or for JRuby, wrappers around built-in functionality provided by java.util.Currency, java.util.Locale * support for localization of Merb generated code * support for non-English Inflectors. Developer ReadMe ---------------- **REQUEST** : Your development support is very much appreciated. Please contact us below if you're interested in lending a hand with the development of this project. Getting the Source ------------------ Performing a git clone on either of the following repositories will get you the latest source: git clone git://github.com/myabc/merb_global.git git clone git://gitorious.org/merb_global/mainline.git (on gitorious) The following additional mirrors are available: git://repo.or.cz/merb_global.git http://repo.or.cz/r/merb_global.git Installation and Setup ---------------------- Dependencies: sudo gem install gettext Installing MerbGlobal rake gem sudo gem install pkg/merb_global-0.0.1.gem Configuration options --------------------- MerbGlobal is possible to configure with: Merb::Plugins.config[:merb_global] = { :message_provider => 'gettext' ... } in init.rb or using plugins.yml file: :merb_global: :message_provider: gettext ... Configuration options: * :message_provider What message provider we want to use. Values: gettext, yaml, sequel, active\_record, data\_mapper Default: gettext * :date_provider What date provider we want to use. Values: fork Default: fork * :numeric_providers What numeric provider we want to use. Values: fork Default: fork * :flat Are we running merb-flat or normal merb? Values: true/false Default: false * :localedir Define directory where translations are stored. If :flat is set to true than MerbGlobal will search in #{Merb.root}+'locale'. If :flat is false than in #{Merb.root}+:localedir. When :flat is false and :localedir configuration is not defined the default will be #{Merb.root}+'app/locale'. * :gettext => :domain Name of the text domain. Which is basically name of the GetText MO file without .mo extension. Default: merbapp ##Configuration examples Follwing configuraiton in plugins.yml: :merb_global: :provider: gettext :flat: false :localedir: locale :gettext: :domain: messages will make MerbGlobal to search translations in following places: #{Merb.root}/locale/#{language}/LC_MESSAGES/messages.mo #{Merb.root}/locale/#{language}/messages.mo Where #{language} is string which defines language such as cs\_CZ, en\_GB or just cs, en. No configuration will look at: #{Merb.root}/app/locale/#{language}/LC_MESSAGES/merbapp.mo #{Merb.root}/app/locale/#{language}/merbapp.mo Licensing and Copyright ----------------------- MerbGlobal is released under an **MIT License**. Copyright information, as well as a copy of the License may be found in the LICENSE file. Support ------- **WARNING REPEATED** : MerbGlobal at an early stage of its development. You should not use this code unless you're reasonably secure with both Ruby and Merb. That said, _please do get involved!_ Your best sources for support are currently the wiki, IRC or our mailing list: * **MerbGlobal Wiki**: * **MerbGlobal mailing list**: * **MerbGlobal homepage**: _coming soon_ * Contact the developers directly: - | myabc on #datamapper, #merb IRC - |