Show studioLocalization.html syntax highlighted
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Campcaster documentation for LS Studio localization</title>
<meta content="$Author: paul $" name="author">
</head>
<body>
<h1>Preface</h1>
This document is part of the <a href="http://campcaster.campware.org/">Campcaster</a>
project, Copyright © 2004 <a href="http://www.mdlf.org/">Media
Development Loan Fund</a>, under the GNU <a
href="http://www.gnu.org/licenses/gpl.html">GPL</a>.<br>
<ul>
<li>Author: $Author: paul $</li>
<li>Version: $Revision: 2373 $</li>
<li>Location: $URL: svn://code.campware.org/livesupport/trunk/campcaster/doc/studioLocalization.html $</li>
</ul>
<h1>Scope</h1>
This document describes the process of adding a new language to the
Campcaster Studio localization. It is written for developers.<br>
<h1>Introduction</h1>
Campcaster Studio (a.k.a. the C++ GUI) uses IBM's
<a href="http://www-306.ibm.com/software/globalization/icu/index.jsp">ICU</a>
library for localization. This library supports a fallback mechanism:
if the locale is set to <b>es_GT</b> (Guatemalan Spanish), it first tries to
read the <b>es_GT</b> table for localized strings; if there is no such table,
it tries the <b>es</b> table; and if that is missing, too, it reads the
<b>root</b> table.<br>
These tables are stored as UTF-8 text files (with Unix line breaks, i.e., a
single 0x0A character at the end of each line) in the
<code>products/gLiveSupport/var</code> directory with a <code>txt</code>
extension: e.g., <code>es_GT.txt</code>.
Before these files can be used by the program, they need to be converted into
binary <i>resource bundle</i> files using ICU's <code>genrb</code> program
(which is in <code>usr/bin</code>, and is called by the Makefile).
<h1>Modifying an existing language</h1>
<ul>
<li>Edit the text file (e.g.,
<code>products/gLiveSupport/var/es_GT.txt</code>).</li>
<li>Run <code>make</code> in <code>products/gLiveSupport</code>.</li>
</ul>
<h1>Adding a new language</h1>
<ul>
<li>Add the new text file to <code>products/gLiveSupport/var</code>.
(See the
<a href="http://icu.sourceforge.net/userguide/localizing.html#ICU4C">ICU
user guide</a> for the format of this file.)<br>
The first row of the file should be the locale name, followed by
":table". The locale name is of the form
<code><language-code>[[_<country-code>]_<variant>]</code>,
where
<ul>
<li><code><language-code></code> is the
<a href="http://www.loc.gov/standards/iso639-2/langcodes.html">ISO 639-1</a>
2-letter language code in lowercase,</li>
<li>the optional <code><country-code></code> is the
<a href="http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html">ISO 3166-1</a>
2-letter country code in uppercase, and</li>
<li>the optional <code><variant></code> is the variant
(usually EURO or CYRILLIC) in uppercase.</li>
</ul>
Note that this is slightly different from the normal ISO standard:
ICU uses it_IT_EURO where the standard would be it_IT@euro.<br>
Make sure the file is in UTF-8 encoding, has Unix line breaks,
and does not have a
<a href="http://www.unicode.org/faq/utf_bom.html#BOM">BOM</a>
character at the beginning.<br>
The file name should be the locale name, followed by ".txt".
<li>Add a new line for the new language in each of the files
<ul>
<li><code>campcaster-studio.xml</code></li>
<li><code>campcaster-studio.xml.template</code></li>
<li><code>campcaster-studio.xml.user-template</code></li>
<li><code>Makefile.in</code></li>
</ul>
in the <code>products/gLiveSupport/etc</code> directory.</li>
<li>Run <code>configure --prefix=...</code> and then
<code>make clean all</code>
in the <code>products/gLiveSupport</code> directory.
</ul>
<br>
</body>
</html>
See more files for this project here
LiveSupport is a radio playout and automation system. It enables radio stations to automate their broadcasts by using playlists that are scheduled for airing. Playlists can contain music, talk, or even other playlists. A Web interface is included, so radio station personnel can manage the the station's broadcasts remotely.
Project homepage:
http://www.campware.org/en/camp/livesupport_news/
Programming language(s): C++,PHP,Shell Script,XML
License: gpl2
db/
dbSchema.sql
developmentEnvironment/
templates/
Bar.cxx
Bar.h
Makefile
configure.ac
htmlDocumentTemplate.html
phpScriptTemplate.php.txt
phpScriptTemplate.phps
shellScriptTemplate.sh
autoconfConfigureConventions.html
buildEnvironment.html
cxxHeaderFileConventions.html
cxxSourceFileConventions.html
directoryStructure.html
fileConventions.html
htmlFileConventions.html
index.html
installation.html
makefileConventions.html
phpFileConventions.html
shellScriptConventions.html
doxygen/
.keepme
gui/
designs/
advancedsearch.gif
editfile.gif
index.html
info.gif
livemode.gif
login_upload.gif
playlist_list_view.gif
playlist_timeline_view.gif
scheduler_day.gif
scheduler_week.gif
simple-browser.gif
uploadstream.gif
c_gui_finaltimetable.xls
htmlPageDescription.rtf
metadataFields.html
styleguide.pdf
tec_doc_t3293_tcm6-10494.pdf
windowDescription.rtf
manual/
LiveSupport Studio manual.sxw
index.html
manual_htm_159b8718.jpg
manual_htm_3098a412.jpg
manual_htm_4d262ba6.png
manual_htm_59ef6c7.jpg
manual_htm_5f12d0a5.jpg
manual_htm_6e566889.png
manual_htm_7c768cd8.png
manual_htm_b09f4d5.jpg
manual_htm_m3d23fe65.png
manual_htm_m59d803c0.jpg
manual_htm_m6e4aac82.jpg
manual_htm_m75ba079b.png
manual_htm_m79fcafa8.jpg
model/
Authentication/
Authenticateuser_SequenceDiagram.svg
Concepts.svg
EssentialUseCases.svg
Systembehaviour.svg
index.html
LocalStorage/
Accessplaylist_SequenceDiagram.svg
Accessrawaudiodata_SequenceDiagram.svg
Concepts.svg
Createplaylist_SequenceDiagram.svg
Deleteaudioclip_SequenceDiagram.svg
Deleteplaylist_SequenceDiagram.svg
Editplaylist_SequenceDiagram.svg
EssentialUseCases.svg
Searchinmetadata_SequenceDiagram.svg
Storeorupdateaudioclip_SequenceDiagram.svg
Systembehaviour.svg
UpdateAudioclipmetadata_SequenceDiagram.svg
index.html
MediaArchive/
Concepts.svg
DeleteAudioclip_SequenceDiagram.svg
Downloadrawaudiodata_SequenceDiagram.svg
EssentialUseCases.svg
Searchinmetadata_SequenceDiagram.svg
StoreorupdateAudioclip_SequenceDiagram.svg
Systembehaviour.svg
UpdateAudioclipmetadata_SequenceDiagram.svg
index.html
PlaylistEditor/
AddanAudiocliptoLocalstorage_SequenceDiagram.svg
AddanAudiocliptoaPlaylist_SequenceDiagram.svg
AddorupdateanAudiocliptoMediaarchive_SequenceDiagram.svg
Concepts.svg
CreateaPlaylist_SequenceDiagram.svg
DeleteanAudioclipfromLocalstorage_SequenceDiagram.svg
EditthetransitionofanAudioclip_SequenceDiagram.svg
EssentialUseCases.svg
ListentoaPlaylist_SequenceDiagram.svg
Maintainconfigurationinformation_SequenceDiagram.svg
MirroranAudioclipfromaremoteMediaarchiveinLocalstorage_SequenceDiagram.svg
MovethepositionofanAudioclipinaPlaylist_SequenceDiagram.svg
SearchforAudioclips_SequenceDiagram.svg
Systembehaviour.svg
UpdateanAudioclipinLocalstorage_SequenceDiagram.svg
UploadaPlaylisttoaSchedulerdaemon_SequenceDiagram.svg
index.html
Scheduler/
Concepts.svg
Createplaylist_SequenceDiagram.svg
Editplaylist_SequenceDiagram.svg
EssentialUseCases.svg
Manageplaylists_SequenceDiagram.svg
Manageschedule_SequenceDiagram.svg
Retrieveremotefiles_SequenceDiagram.svg
Reviewplaylog_SequenceDiagram.svg
Startstopscheduler_SequenceDiagram.svg
Systembehaviour.svg
Uploadplaylists_SequenceDiagram.svg
index.html
SoftwareArchitecture/
PlaylistEditorArchitecture.svg
SchedulerArchitecture.svg
SoftwareArchitecture.zuml
index.html
Architecture.svg
LiveSupport.zuml
index.html
phpdocs/
quickstart/
index.html
livesupport_logo_blends.png
outline_clouds.jpg
developmentTools.html
gettingStarted.html
index.html
install.html
installUbuntu.html
ls_pref.html
preferences.html
release.html
repositoryCdHowto.html
studioLocalization.html
userLocalizationInstructions.html