280 lines
9.6 KiB
Text
280 lines
9.6 KiB
Text
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
|
|
|
|
module com { module sun { module star { module resource {
|
|
|
|
/**
|
|
Interface to manage a resource string table containing a set of
|
|
strings for different locales.
|
|
|
|
The interface is derived from
|
|
com::sun::star::resource::XStringResourceResolver
|
|
that allows to access the string table but not to modify it. This
|
|
interface also allows to modify the string table.
|
|
|
|
It's designed to be used in the context of creating a string table,
|
|
e.g. from a string table editor or from a Dialog Editor designing
|
|
localized dialogs.
|
|
|
|
*/
|
|
interface XStringResourceManager: com::sun::star::resource::XStringResourceResolver
|
|
{
|
|
/**
|
|
Returns the resource's read only state
|
|
|
|
@return `TRUE` if the resource is read only, otherwise `FALSE`
|
|
*/
|
|
boolean isReadOnly();
|
|
|
|
|
|
/** Sets the locale to be used
|
|
|
|
@param Locale
|
|
Specifies the current locale to be used.
|
|
|
|
@param FindClosestMatch
|
|
<p>If true: If the exact locale that should be set is not available
|
|
the method tries to find the closest match. E.g. if en_US is re-
|
|
quired but not available, en would be the next choice. Finally
|
|
the default locale will be used `TRUE`.
|
|
|
|
<p>If false: If the exact locale that should be set is not available
|
|
a com::sun::star::lang::IllegalArgumentException
|
|
is thrown.
|
|
|
|
<p>If false: If the exact locale that should be set is not available
|
|
a com::sun::star::lang::IllegalArgumentException
|
|
is thrown.
|
|
*/
|
|
void setCurrentLocale
|
|
(
|
|
[in] com::sun::star::lang::Locale Locale,
|
|
[in] boolean FindClosestMatch
|
|
)
|
|
raises( com::sun::star::lang::IllegalArgumentException );
|
|
|
|
|
|
/** Sets the default locale to be used
|
|
|
|
@param Locale
|
|
Specifies the default locale to be used.
|
|
If this locale is not available a
|
|
com::sun::star::lang::IllegalArgumentException
|
|
is thrown.
|
|
|
|
@throws com::sun::star::lang::NoSupportException
|
|
if the resource is read only, see isReadOnly()
|
|
*/
|
|
void setDefaultLocale( [in] com::sun::star::lang::Locale Locale )
|
|
raises( com::sun::star::lang::IllegalArgumentException,
|
|
com::sun::star::lang::NoSupportException );
|
|
|
|
|
|
/**
|
|
Associates a String to a Resource ID for the current locale.
|
|
If an entry for the Resource ID already exists, the string
|
|
associated with it will be overwritten, otherwise a new
|
|
entry will be created.
|
|
|
|
@param ResourceID
|
|
ID to address the string inside the resource for the current locale.
|
|
|
|
@param Str
|
|
String to be associated with the Resource ID.
|
|
|
|
@throws com::sun::star::lang::NoSupportException
|
|
if the resource is read only, see isReadOnly()
|
|
*/
|
|
void setString
|
|
(
|
|
[in] string ResourceID,
|
|
[in] string Str
|
|
)
|
|
raises( com::sun::star::lang::NoSupportException );
|
|
|
|
|
|
/**
|
|
Associates a String to a Resource ID for a specific locale.
|
|
If an entry for the Resource ID already exists, the string
|
|
associated with it will be overwritten, otherwise a new
|
|
entry will be created.
|
|
|
|
It's not recommended to use this method to get the best
|
|
performance as the implementation may be optimized for
|
|
the use of the current locale.
|
|
|
|
@param ResourceID
|
|
ID to address the string inside the resource.
|
|
|
|
@param Str
|
|
String to be associated with the Resource ID.
|
|
|
|
@param locale
|
|
The locale the string should be set for.
|
|
The locale has to match exactly with one of the locales provided by
|
|
getLocales(). A closest match search is not supported.
|
|
|
|
@throws com::sun::star::lang::NoSupportException
|
|
if the resource is read only, see isReadOnly()
|
|
*/
|
|
void setStringForLocale
|
|
(
|
|
[in] string ResourceID,
|
|
[in] string Str,
|
|
[in] com::sun::star::lang::Locale locale
|
|
)
|
|
raises( com::sun::star::lang::NoSupportException );
|
|
|
|
|
|
/**
|
|
Removes a Resource ID including the corresponding string for
|
|
the current locale.
|
|
|
|
@param ResourceID
|
|
The Resource ID to be removed for the current locale.
|
|
|
|
@throws
|
|
com::sun::star::resource::MissingResourceException
|
|
if the Resource ID is not valid.
|
|
|
|
@throws
|
|
com::sun::star::lang::NoSupportException
|
|
if the resource is read only, see isReadOnly()
|
|
*/
|
|
void removeId( [in] string ResourceID )
|
|
raises( com::sun::star::resource::MissingResourceException,
|
|
com::sun::star::lang::NoSupportException );
|
|
|
|
|
|
/**
|
|
Removes a Resource ID including the corresponding string for
|
|
s specific locale.
|
|
|
|
@param ResourceID
|
|
The Resource ID to be removed.
|
|
|
|
@param locale
|
|
The locale the Resource ID should be removed for.
|
|
The locale has to match exactly with one of the locales provided by
|
|
getLocales(). A closest match search is not supported.
|
|
|
|
@throws
|
|
com::sun::star::resource::MissingResourceException
|
|
if the Resource ID is not valid.
|
|
|
|
@throws
|
|
com::sun::star::lang::NoSupportException
|
|
if the resource is read only, see isReadOnly()
|
|
*/
|
|
void removeIdForLocale( [in] string ResourceID, [in] com::sun::star::lang::Locale locale )
|
|
raises( com::sun::star::resource::MissingResourceException,
|
|
com::sun::star::lang::NoSupportException );
|
|
|
|
|
|
/**
|
|
Creates a new locale.
|
|
|
|
<p>For each existing ResourceID an empty string
|
|
will be created. The first locale created will
|
|
automatically be the first default locale.
|
|
Otherwise strings for all already created IDs
|
|
will be copied from the default locale.</p>
|
|
|
|
@throws
|
|
com::sun::star::container::ElementExistException
|
|
if the Locale already has been created.
|
|
|
|
@throws
|
|
com::sun::star::lang::IllegalArgumentException
|
|
if the Locale is not valid.
|
|
|
|
@throws
|
|
com::sun::star::lang::NoSupportException
|
|
if the resource is read only, see isReadOnly()
|
|
*/
|
|
void newLocale( [in] com::sun::star::lang::Locale locale )
|
|
raises( com::sun::star::container::ElementExistException,
|
|
com::sun::star::lang::IllegalArgumentException,
|
|
com::sun::star::lang::NoSupportException );
|
|
|
|
|
|
/**
|
|
Removes a locale completely including the corresponding
|
|
strings for each locale.
|
|
|
|
@throws
|
|
com::sun::star::lang::IllegalArgumentException
|
|
if the Locale to be removed is not supported.
|
|
|
|
@throws
|
|
com::sun::star::lang::NoSupportException
|
|
if the resource is read only, see isReadOnly()
|
|
*/
|
|
void removeLocale( [in] com::sun::star::lang::Locale locale )
|
|
raises( com::sun::star::lang::IllegalArgumentException,
|
|
com::sun::star::lang::NoSupportException );
|
|
|
|
|
|
/**
|
|
Provides a numeric id that is unique within all Resource IDs
|
|
used in the string table.
|
|
|
|
This method takes into account all Resource IDs starting with
|
|
a decimal number and only evaluates the ID until the first non
|
|
digit character is reached. This allows to extend unique IDs
|
|
with individual identifiers without breaking the mechanism of
|
|
this method.
|
|
|
|
Examples:
|
|
ID "42" -> numeric id 42
|
|
ID "0foo" -> numeric id 0
|
|
ID "111.MyId.Something.Else" -> numeric id 111
|
|
ID "No Digits" -> not considered for numeric id
|
|
|
|
The id returned will be 0 for an empty string table and it will
|
|
be reset to 0 if all locales are removed. In all other cases
|
|
this method returns the maximum numeric id used so far at the
|
|
beginning of a Resource ID incremented by 1. When calling this
|
|
method more than once always the same number will be returned
|
|
until this number is really used at the beginning of a new
|
|
Resource ID passed to setString() or
|
|
setStringForLocale().
|
|
|
|
As the numeric id is guaranteed to be unique for the complete
|
|
string table all locales are taken into account. So using this
|
|
methods will force the implementation to load all locale data
|
|
that may not have been loaded so far.
|
|
|
|
@throws
|
|
com::sun::star::lang::NoSupportException
|
|
if the next available id exceeds the range of type long.
|
|
So it's not recommended to use own Resource IDs starting
|
|
with a decimal number near to the maximum long value if
|
|
this methods should be used.
|
|
*/
|
|
long getUniqueNumericId()
|
|
raises( com::sun::star::lang::NoSupportException );
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|