The University of Patras in Greece have done the initial hard work of separating out text from the JSPs into a dictionary file and linking to it. MARTON Jozsef has build on this by parameterising the UI text.
Since revision 1951 of SVN the i18n multilingualism patch is part of DSpace code base. This enables the DSpace instance to support more than one language.
The language packs (messages files) contributed by the community are available at Sourceforge. The dspace project including the latest language-packs can be checked out through SVN with the following instruction set:
svn co https://dspace.svn.sourceforge.net/svnroot/dspace language-packs |
The language-packs are also available in the download section at SourceForge
Other language related files, like help pages, input forms, email templates and so on are still kept here.
If you supply new translations, make sure, they correspond to a stable release of DSpace and do not contain English tags nor references to your DSpace instance (e.g. name of your Institution). In partially translated Messages_xx.properties, just omit the untranslated tags. Messages.properties will be used as a fallback anyway and untranslated tags are easiear detectable with tools like the Ecliplse Resource Bundle Editor if omitted.
Here is a list of new tags from DSpace 1.4.2 to DSpace 1.5 NewTags142To15.txt so you might easily update an existing translation.
If you are in the progress of translating or upgrading existing translations, please communicate your efforts here and in the dspace lists to avoid redundant work and get feedback on your translations. The more hands join in the tedious work of translation the better.
Language |
Locale |
Version |
UI |
contact |
translation to review |
|
---|---|---|---|---|---|---|
Arabic |
ar |
1.4.1 |
jsp |
|
||
Basque |
eu |
1.6.1 |
xml |
Public University of Navarre |
|
|
French |
fr |
1.5 |
xml |
University of Montreal |
|
|
Persian |
fa_IR |
1.5 |
jsp |
|
|
|
Polish |
pl |
1.6 |
xml |
University of Silesia |
galuszkak( at )gmail.com |
|
Italian |
it |
1.5 |
xml |
valerio.minetti AT gmail.com |
||
Serbian |
sb_RS |
1.6 |
xml, jsp |
Bojan Suzij - National Library for the Blind |
|
|
Spanish |
es |
1.5 |
jsp |
gustavo perosillo |
||
Spanish |
es |
1.5.1 |
jsp |
Guillermo Varela |
||
Thai |
th |
1.5.2 |
jsp |
KIDS-D Project, Asian Institute of Technology |
|
|
Thai |
th |
1.5.2 |
xml |
KIDS-D Project, Asian Institute of Technology |
|
Language |
Locale |
initial |
1.3.1 |
1.3.2 |
1.4 |
1.4.1 |
1.4.2 |
1.5 |
1.5.1 |
1.5.2 |
1.6.0 |
1.6.1 |
1.6.2 |
1.7.0 |
1.7.1 |
1.8.0 |
1.8.1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Basque |
eu |
|
|
|
|
|
|
|
|
X |
|
|
|
|
|
|
|
Bulgarian |
bg |
|
|
|
|
|
|
|
|
|
X |
|
X |
X |
|
X |
X |
Catalan |
ca |
|
x |
x |
|
X |
|
|
|
|
|
|
|
|
|
|
|
Chinese CN |
zh_cn |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Chinese TW |
zh_tw |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Czech |
cs |
X |
|
|
|
|
|
X |
X |
X |
X |
|
X |
|
|
|
|
French |
fr |
X |
|
X |
|
X |
|
|
|
|
|
|
|
|
|
|
|
Galician |
gl |
X |
|
|
|
|
X |
|
|
|
|
|
|
|
|
|
|
German |
de |
X |
|
|
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
X |
Greek |
el |
X |
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
Hungarian |
hu |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Indonesian |
id |
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Italian |
it |
X |
|
X |
X |
|
|
|
|
X |
|
|
|
|
|
|
|
Japanese |
ja |
X |
|
X |
X |
|
|
|
X |
|
|
|
|
X |
|
|
|
Norwegian |
no |
X |
|
X |
|
|
X |
|
|
|
|
|
|
|
|
|
|
Polish |
pl |
X |
|
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|
Portuguese |
pt |
|
|
|
|
|
|
X |
X |
|
|
|
|
|
|
|
|
Portuguese PT |
pt_PT |
X |
|
|
X |
|
|
X |
X |
X |
|
|
|
|
|
|
|
Portuguese BR |
pt_BR |
X |
|
X |
|
|
|
X |
|
|
|
|
|
|
|
|
|
Russian |
ru |
X |
|
X |
X |
|
|
|
|
|
|
|
|
|
|
|
|
Spanish |
es |
X |
|
|
|
X |
|
|
X |
|
|
|
|
|
|
|
|
Swedish |
sv |
X |
|
|
X |
|
|
X |
X |
|
|
|
|
|
|
|
|
Thai |
th |
|
|
|
|
|
X |
|
X |
|
|
|
|
|
|
|
|
Ukrainian |
uk |
|
|
|
|
X |
|
|
|
x |
|
|
|
|
|
|
|
Welsh |
cy |
|
|
|
|
X |
X |
X |
X |
|
|
|
|
|
|
|
|
Language |
Locale |
1.5 |
1.5.1 |
1.5.2 |
1.6.0 |
1.6.1 |
1.6.2 |
1.7.0 |
1.7.1 |
1.8.0 |
1.8.1 |
---|---|---|---|---|---|---|---|---|---|---|---|
German |
de |
x |
x |
x |
x |
x |
x |
x |
x |
x |
x |
Greek |
el |
|
x |
|
|
|
|
|
|
|
|
Catalan |
ca |
x |
x |
|
|
|
|
|
|
|
|
Catalan (Central) |
ca_ES |
|
|
x |
|
|
|
|
|
|
|
Czech |
cs |
|
|
x |
x |
x |
|
x |
x |
x |
|
Italian |
it |
x |
|
x |
|
|
|
|
|
|
|
Japanese |
ja |
|
x |
|
|
|
|
x |
x |
|
|
Portuguese |
pt_BR |
|
x |
|
|
|
x |
|
|
|
|
Spanish |
es |
x |
x |
|
|
|
|
x |
x |
|
|
Language (code) |
Provided by |
Status |
Files |
Comments |
---|---|---|---|---|
Simplified Chinese (chs) |
JiehHsiang |
open to review and extention |
Based on v1.3.1 of Messages.properties |
|
Traditional Chinese (cht) |
JiehHsiang |
open to review and extention |
Based on v1.3.1 of Messages.properties |
File |
French |
German |
Italian |
Russian |
---|---|---|---|---|
all available files |
||||
|
|
|||
|
|
|||
|
|
|
||
|
|
|||
|
|
|
|
|
|
|
|||
|
|
|||
|
|
|||
|
|
|
||
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
||
|
|
|
Language (code) |
Provided by |
Content |
Files |
Comments |
---|---|---|---|---|
Russian (ru) |
Andrew Barhatov |
State rubricator of scientific and technical information |
|
The Java Standard Tag Library v1.0 is used.
Basic steps for using Tags in a JSP:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
config/Messages.properties
config/Messages_xx.properties
file. This must be done at build-time, because it is placed in the dspace.war.
<h1>Search Results</h1> |
<h1><fmt:message key="jsp.search.results.title" /></h1> |
jsp.search.results.title = Search Results |
Phrases may have parameters to be passed in, to make the job of translating easier, reduce the number of 'keys' and to allow translators to make the translated text flow more appropriately for the target language.
<p>Results <%= r.getFirst() %> to <%= r.getLast() %> of <%= r.getTotal() %></p> |
<fmt:message key="jsp.search.results.text"> <fmt:param><%= r.getFirst() %></fmt:param> <fmt:param><%= r.getLast() %></fmt:param> <fmt:param><%= r.getTotal() %></fmt:param> </fmt:message> |
<p>jsp.search.results.text = Results \{0\}-\{1\} of \{2\}</p> |
<%= %>
expressions to be passed in as values of attribute in <fmt:param value=""/>
)Here's a useful Perl script that finds all of the dictionary keys in the JSPs and the `Messages.properties` file, and prints out keys that are used in the JSPs but aren't in the dictionary, and vice versa. Missing File: Find-unused-keys.pl Note: slightly out of date, can't detect message keys used in e.g. LocaleSupport.getLocalizedMessage()
You'll need to change the variables at the top of the file to point to your DSpace source dir.
The Eclipse Resource Bundle Editor is a usefull tool to create and manage Messages.properties files. It is an "Eclipse plugin for editing Java resource bundles. Lets you manage all localized properties files in one screen. Some features: sorted keys, warning icons on missing keys/values, conversion to/from Unicode, hierarchical view of keys, more..."
In case these may be useful to someone, here is the original set of patches that enable I18N support developed at the High Performance Information Systems Laboratory (HPCLab), University of Patras. Please keep in mind that these patches have been tested and work only with DSpace 1.2 version.