Giter Club home page Giter Club logo

click-to-globalize's Introduction

ClickToGlobalize
================

Click to Globalize is an extension for Globalize plugin, it allows to edit in
place globalized labels. With this plugin you don't have to create a
globalization back-end, but just edit your interface in place!!

If you have a previous globalization experience, you probably noticed that the
main problem of dedicated back-ends is the lack of the context where the
string will be placed in. It isn't a trivial issue: you'll never know if the
meaning of your string is harmonious with other labels and how your string will
be rendered, until the page load.

Now you can forget this issues, you can directly globalize in place!!

Check for news and tutorials at the project home page[http://www.lucaguidi.com/pages/click-to-globalize].

Getting Started
===============

1. Install Globalize[http://www.globalize-rails.org/].

2. Install Click To Globalize:
   $ ./script/plugin install git://github.com/jodosha/click-to-globalize.git

3. Add at the end of your layout the following code:
   <%= click_to_globalize -%>

4. Put in your view:
   <%= 'hello_world'.t %>

5. Start your server and click to globalize.

Prerequisites
=============

* Globalize plugin: www.globalize-rails.org.
  
* RedCloth gem (optional) for textile formatting.

* BlueCloth gem (optional) for markdown formatting.

Install
=======

1. Install Globalize, if you don't already done.

2. Install Click To Globalize:
   Rails 2.1.x
   $ ./script/plugin install git://github.com/jodosha/click-to-globalize.git
   Rails 2.0.x
   $ ./script/plugin install http://dev.23labs.net/svn/rails/plugins/click_to_globalize/trunk
   Rails 1.2.x
   $ ./script/plugin install http://dev.23labs.net/svn/rails/plugins/click_to_globalize/branches/for-1.2.x

3. Run the setup task:
   $ rake click:setup
   
4. Run the tests (optional):
   $ rake click:test

5. Edit config/click.yml adding the locales you wish to use in your application.
     locales:
       english: en-US
       italian: it-IT

6. You can configure the default locale in config/click.yml
     default: :english
   
7. If you like to use wiki-formatting styles, you could use textile (RedCloth)
   or markdown (BlueCloth). Edit config/click.yml
     formatting: textile

8. Personalize the access to the globalization features, overriding #globalize:
   class ApplicationController < ActionController::Base
     def globalize?
       current_user.admin?
     end
   end
   
   NOTE: #globalize? is method to turn on/off all the Click to Globalize features.
   NOTE: self.globalize? has been deprecated in favor of globalize?.

9. Add at the end of your layout the following code:
   <%= click_to_globalize -%>

Uninstall
=========

1. $ ./script/plugin remove click-to-globalize

Features
========

* In place editing for each globalized string.

* Easy and painless plug-in/plug-out process.

* Unobtrusive Javascripts.

* Textile and Markdown support.

* Auto transformation from input text to textarea for long strings.

Common Issues
=============

* Since the Globalize plugin creates folders like 'for-1.2', be sure to rename
  the folder to 'globalize'.

* Due to unobtrusive nature of the plugin, each page is parsed by javascript
  to find the right element and bind to it an Ajax.InPlaceEditor.
  Be sure your (X)HTML is wellformed.

  NOTE: If you use the Rails scaffold system, Click To Globalize
  doesn't works. Cleanup the code before to use.

* If you use a wiki-formatting style it could be advisable to use #h to avoid
  security problems (i.e. XSS).
  <%= textilize(h('some_text'.t)) %>
  
Contribute
==========

* Check out the code and test it:
  $ git clone git://github.com/jodosha/click-to-globalize.git
  $ rake click

* Create a ticket to: http://sushistar.lighthouseapp.com/dashboard

* Create a patch and add as attachement to the ticket.

Credits
=======

Javascript tests are based on Prototype[http://prototypejs.org] test libs.



Copyright (c) 2007-2008 Luca Guidi - http://lucaguidi.com, released under the MIT license

click-to-globalize's People

Stargazers

Angus H. avatar Steve Octets avatar

Watchers

Steve Octets avatar James Cloos avatar  avatar

Forkers

hafrancisca

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.