CouchRest Localised Properties
Localise your CouchRest Model properties as if by magic!
Introduction
Storing translations of data is always a difficult problem.
CouchRest Localised Properties works by overwriting the normal attribute getters and setters with special localised versions that will magically replace the attribute with a hash. For each locale supported by your application there will be a key in the hash to store the real value. This approach allows you to apply any typecasting to the value being read as if you were working in just one locale.
While getting and setting values is quite considerably easier, you’ll still need to write your view methods manually.
Basic Usage
class Article < CouchRest::Model::Base
localised_property :title, String
localised_property :content, String
property :published_at, DateTime
end
# set language to english and set title
I18n.default_locale = :en
I18n.locale = :en
@a = Article.new
@a.title = "Test Title"
# language changed to spanish:
I18n.locale = :es
# returns default text as no translation set
@a.title == "Test Title" # true
# set the title for spanish
@a.title = "Título de prueba"
# Have a look at the raw data
@a['title'] == {
'en' => "Test Title",
'es' => "Título de prueba"
}
Updates
v0.1.1 - 20th April 2011
- Updated to use CouchRest Model 1.1.0.beta4 with dirty tracking
v0.1 - 25th March 2011
- First release
Todos / Bugs
- Please let me know!
License
Copyright © 2011 Samuel Lown <me (AT) samlown.com>
This Plugin is released under the MIT license, as Rails itself. Please see the attached LICENSE file for further details.
This document and plugin should be considered a work in progress until further notice!