|
Alain Reguera Delgado |
8f60cb |
#!/bin/bash
|
|
Alain Reguera Delgado |
8f60cb |
#
|
|
Alain Reguera Delgado |
8f60cb |
# locale_updateMessageXmlDocbookNoEntities.sh -- This function creates
|
|
Alain Reguera Delgado |
8f60cb |
# an instance of one or more Docbook files without expanding entities
|
|
Alain Reguera Delgado |
8f60cb |
# inside it, retrieves all translatable strings from main file
|
|
Alain Reguera Delgado |
8f60cb |
# instance, and creates the related portable object template POT for
|
|
Alain Reguera Delgado |
8f60cb |
# them. This is useful to localize Docbook files that aren't direct
|
|
Alain Reguera Delgado |
8f60cb |
# part of a documentation manual but included at rendition time (e.g.,
|
|
Alain Reguera Delgado |
8f60cb |
# Docbook files holding license information).
|
|
Alain Reguera Delgado |
8f60cb |
#
|
|
Alain Reguera Delgado |
8f60cb |
# Copyright (C) 2009-2013 The CentOS Project
|
|
Alain Reguera Delgado |
8f60cb |
#
|
|
Alain Reguera Delgado |
8f60cb |
# This program is free software; you can redistribute it and/or modify
|
|
Alain Reguera Delgado |
8f60cb |
# it under the terms of the GNU General Public License as published by
|
|
Alain Reguera Delgado |
8f60cb |
# the Free Software Foundation; either version 2 of the License, or (at
|
|
Alain Reguera Delgado |
8f60cb |
# your option) any later version.
|
|
Alain Reguera Delgado |
8f60cb |
#
|
|
Alain Reguera Delgado |
8f60cb |
# This program is distributed in the hope that it will be useful, but
|
|
Alain Reguera Delgado |
8f60cb |
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Alain Reguera Delgado |
8f60cb |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Alain Reguera Delgado |
8f60cb |
# General Public License for more details.
|
|
Alain Reguera Delgado |
8f60cb |
#
|
|
Alain Reguera Delgado |
8f60cb |
# You should have received a copy of the GNU General Public License
|
|
Alain Reguera Delgado |
8f60cb |
# along with this program; if not, write to the Free Software
|
|
Alain Reguera Delgado |
8f60cb |
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
Alain Reguera Delgado |
8f60cb |
#
|
|
Alain Reguera Delgado |
8f60cb |
# ----------------------------------------------------------------------
|
|
Alain Reguera Delgado |
8f60cb |
# $Id$
|
|
Alain Reguera Delgado |
8f60cb |
# ----------------------------------------------------------------------
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
function locale_updateMessageXmlDocbookNoEntities {
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
# In case no path to Docbook main file is not found, go deeper
|
|
Alain Reguera Delgado |
8f60cb |
# into the documentation models directory structure looking for
|
|
Alain Reguera Delgado |
8f60cb |
# files that do match the name of the directory who hold it, and
|
|
Alain Reguera Delgado |
8f60cb |
# use that file as template to initiate localization process. The
|
|
Alain Reguera Delgado |
8f60cb |
# way to reach these files have to be through --filter options
|
|
Alain Reguera Delgado |
8f60cb |
# because we want to respect the restrictions imposed by
|
|
Alain Reguera Delgado |
8f60cb |
# locale_isLocalizable function inside the repository.
|
|
Alain Reguera Delgado |
8f60cb |
# CAUTION: entity expansion the files found this way will be # ignored.
|
|
Alain Reguera Delgado |
8f60cb |
local TEMPLATES=$(cli_getFilesList ${ACTIONVAL} --type='f' \
|
|
Alain Reguera Delgado |
8f60cb |
--pattern=".+/${FLAG_FILTER}.+\.${EXTENSION}$")
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
# Verify number of template files found and define what kind of
|
|
Alain Reguera Delgado |
8f60cb |
# processing they are going to have. In case more than one
|
|
Alain Reguera Delgado |
8f60cb |
# template file be found and because entity expansion will be
|
|
Alain Reguera Delgado |
8f60cb |
# ignored in such case, the whole process of creating the PO file
|
|
Alain Reguera Delgado |
8f60cb |
# for all these templates is also different (simpler) from that we
|
|
Alain Reguera Delgado |
8f60cb |
# use with entity expansion.
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
for TEMPLATE in ${TEMPLATES};do
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
# Redefine path related to localization work directory.
|
|
Alain Reguera Delgado |
8f60cb |
local L10N_WORKDIR=$(cli_getLocalizationDir "$TEMPLATE")
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
# Define location of the file used to create both portable
|
|
Alain Reguera Delgado |
8f60cb |
# object templates (.pot) and portable objects (.po) files.
|
|
Alain Reguera Delgado |
8f60cb |
local MESSAGES="${L10N_WORKDIR}/messages"
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
# Print action message.
|
|
Alain Reguera Delgado |
8f60cb |
cli_printMessage "${MESSAGES}.pot" --as-updating-line
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
# Extract translatable strings from docbook files and merge
|
|
Alain Reguera Delgado |
8f60cb |
# them down into related messages file.
|
|
Alain Reguera Delgado |
8f60cb |
xml2po -a -l ${CLI_LANG_LL} -o ${MESSAGES}.pot ${TEMPLATE}
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
# Verify, initialize or merge portable objects from portable
|
|
Alain Reguera Delgado |
8f60cb |
# object templates.
|
|
Alain Reguera Delgado |
8f60cb |
locale_updateMessagePObjects "${MESSAGES}"
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
done
|
|
Alain Reguera Delgado |
8f60cb |
|
|
Alain Reguera Delgado |
8f60cb |
}
|