Issue #2040715 by s_leu: Duplicate releases with same title are possible.
[project/l10n_server.git] / README.txt
1
2 Localization server module suite
3 --------------------------------------------------------------------------------
4 Project page:  http://drupal.org/project/l10n_server
5 Support queue: http://drupal.org/project/issues/l10n_server
6
7 ABOUT
8 --------------------------------------------------------------------------------
9
10 The localization server project (formerly known as lt_server) provides a 
11 community localization editor, which allows people from around the world to 
12 collaborate on translating Drupal projects to different languages. It is
13 inspired by Launchpad Rosetta (https://launchpad.net/rosetta) but is highly
14 tailored to Drupal needs.
15
16 This module suite powers the base functionality of http://localize.drupal.org.
17
18 The module suite solves the Drupal project translation problem with a web
19 based interface. The various Drupal projects release source code on a daily
20 basis. The goal is to help translators to keep up with this pace by sharing
21 already translated strings and distributing translations effectively.
22
23 The localization server module suite consists of a few possible components:
24
25  - l10n_community: Required. A translation community interface which provides
26    the database backend to store projects and releases, but does not fill these
27    with actual data itself. Uses a role based permission model.
28    
29  - l10n_groups: Optional. An "Organic Groups" module binder, which provides
30    permission handling based on language groups (in addition to the default
31    role based model used by l10n_community). 
32    
33  - A connector module: One required, only use one at a time. Connectors serve
34    the purpose of filling in the actual list of projects, releases and strings
35    used in the released packages. Different connectors allow this suite to be
36    used in different use cases.
37    
38      - l10n_localpacks: Works based on a list of files uploaded to a local
39        file system directory. The projects and releases are identified based
40        on placement and naming of the package files. 
41      
42      - l10n_project: To be used on drupal.org only! Maintains a relation with
43        the drupal.org project and release listings, syncronizes tarballs,
44        collects translatables automatically.
45
46 INSTALLATION
47 --------------------------------------------------------------------------------
48
49 - Your PHP installation should have the PEAR Tar package installed (which
50   requires zzlib support). This is required for Tar extraction (in the
51   l10n_localpacks module) and Tar generation (in the l10n_community module).
52
53 - Locale (built into Drupal) is required. Organic Groups
54   (http://drupal.org/project/og) is required by l10n_groups.
55
56 - If you want to install the server rather quickly to only check its features,
57   check the quick setup section below.
58
59 1. Enable l10n_community and l10n_localpacks at Administer >
60    Site configuration > Modules. Optionally enable l10n_groups.
61
62 2. Configure the connector at Administer > Localization Server.
63
64 QUICK SETUP WITH DRUSH SCENARIO BUILDER
65 --------------------------------------------------------------------------------
66
67 If you require a quick setup as a developer, this is the fastest way.
68
69 Drush will require the drush scenario builder (dsb) command ready to use.
70 http://drupal.org/project/dsb
71
72 Configure your local environment specific settings with the local.dsb.config.php
73 file. Just add the following lines according to your system:
74
75 $config['db url'] = 'mysql://<yourdbuser>:<yourdbpassword>@<yourdbhost>';
76 $config['build target'] = '/path/to/your/drupalroot/';
77
78 The build target path to your drupal root is NOT the current directory where you
79 have downloaded l10n_server to. It's a completely separate drupal site that
80 will be automatically installed by the scenario builder. Just create a directory
81 and set build target to its path.
82
83 Afterwards run the following command in your l10n_server folder:
84
85 # drush dsb server
86
87 Wait until the process completed. You can access your new server site in your
88 browser with http://server.l10n.dev/.
89
90 Alternatively, a scenario client-server is available. In addition to the server
91 only install, it will setup a client multisite instance with l10n_client that
92 is already connected to the server instance.
93
94 HOW DOES IT WORK
95 --------------------------------------------------------------------------------
96
97 The connector module's duty is to maintain a list of projects and releases, as
98 well as fill up the database with translatable strings based on release source
99 codes. This module consumes a huge amount of resources. Downloading packages,
100 unpacking their contents and running the string extraction process takes time,
101 CPU cycles and hard disk space. Although only temporary copies of the packages
102 are kept, some hard disk space and a decent amount of memory is required. This
103 is why connectors are preconfigured to scan only one project at a time. Big
104 projects like Ubercart or Drupal itself take considerable time to parse.
105
106 The localization community module provides the actual interface. Users with
107 proper permissions can suggest new translations for strings, maintainers can
108 even decide on the official translation based on the different suggestions. To
109 translate a project, go to Translations, choose a language and optionally
110 choose a project. There you can translate all strings.
111
112 CONTRIBUTORS
113 --------------------------------------------------------------------------------
114 Bruno Massa  http://drupal.org/user/67164 (original author)
115 Gábor Hojtsy http://drupal.org/user/4166 (current maintainer)
116
117 This module was originally sponsored by Titan Atlas (http://www.titanatlas.com),
118 a Brazilian computer company, and then by Google Summer of Code 2007. The
119 localization server is currently a free time project.