summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/resource/XLocale.idl
blob: 562307d82def2e75e4c58486e8e61205bb8bdf0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
/* -*- 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 .
 */
#ifndef __com_sun_star_resource_XLocale_idl__
#define __com_sun_star_resource_XLocale_idl__

#include <com/sun/star/uno/XInterface.idl>

#include <com/sun/star/lang/Locale.idl>

#include <com/sun/star/resource/MissingResourceException.idl>



 module com {  module sun {  module star {  module resource {

/** offers some operations on com::sun::star::lang::Locale
    structures.
        @see         Locale
 */
published interface XLocale: com::sun::star::uno::XInterface
{
    /** creates a locale from language, country, and variant.

        <p>NOTE: ISO 639 is not a stable standard; some of the
        language codes it defines (specifically iw, ji, and in) have
        changed.  This constructor accepts both the old codes (iw, ji,
        and in) and the new codes (he, yi, and id), but all other API
        on XLocale will return only the <b>NEW</b> codes.
        </p>
        <p>Note: The Java class <code>Locale</code> returns the <strong>old</strong> codes.

        </p>
     */
    com::sun::star::lang::Locale create( [in] string aLanguage,
             [in] string aCountry,
             [in] string aVariant );

    /** the common method of getting the current default locale.

        <p>It is used for the presentation (for menus, dialogs, etc.).
        It is, generally, set once when your applet or application is
        initialized, then never reset. (If you do reset the default
        locale, you probably want to reload your GUI, so that the
        change is reflected in your interface.)
        </p>
        <p>More advanced programs allow users to use different locales
        for different fields, for example, in a spreadsheet.

        <br>Note that the initial setting will match the host system.</p>
     */
    com::sun::star::lang::Locale getDefault();

    /** sets the default locale for the whole environment.

        <p>It is normally set once at the beginning of an application,
        then never reset. <code>setDefault</code> does not reset the host
        locale.

        </p>
     */
    void setDefault( [in] com::sun::star::lang::Locale newLocale );

    /** @returns
                    a sequence of all locales which are available in the system.
     */
    sequence<com::sun::star::lang::Locale> getAvailableLocales();

    /** @returns
                    a sequence of all ISO country codes known to the component.
     */
    sequence<string> getISOCountries();

    /** @returns
                    a sequence of all ISO language codes known to the component.
     */
    sequence<string> getISOLanguages();

    /** @returns
                    a sequence for language codes which are valid within the
                    given country.
     */
    sequence<string> getLanguagesForCountry( [in] string country );

    /** @returns
                    the ISO language code for the specified locale.
     */
    string getISO3Language( [in] com::sun::star::lang::Locale locale )
            raises( com::sun::star::resource::MissingResourceException );

    /** @returns
                    the ISO country code for the specified locale.
     */
    string getISO3Country( [in] com::sun::star::lang::Locale locale )
            raises( com::sun::star::resource::MissingResourceException );

    /** @returns
                    language code for display of field to user. If the localized
                    name is not found, returns the ISO code. The desired user language
                    is from the default locale.
     */
    string getDisplayLanguage_Default( [in] com::sun::star::lang::Locale locale );


    /** @return
                    language code for display of field to user. If the localized
                    name is not found, returns the ISO codes.

                @param locale the locale.

                @param inLocale
                    specifies the desired user language.
     */
    string getDisplayLanguage( [in] com::sun::star::lang::Locale locale,
             [in] com::sun::star::lang::Locale inLocale );

    /** @returns
                    country code for display of field to user. If the localized
                    name is not found, returns the ISO code. The desired user country
                    is from the default locale.
     */
    string getDisplayCountry_Default( [in] com::sun::star::lang::Locale locale );

    /** @returns
                    country code for display of field to user. If the localized
                    name is not found, returns the ISO codes.

                @param locale the locale.

                @param inLocale
                    specifies the desired user country.
     */
    string getDisplayCountry( [in] com::sun::star::lang::Locale locale,
             [in] com::sun::star::lang::Locale inLocale );

    /** @returns
                    variant code for display of field to user. The desired user variant
                    is from the default locale.
     */
    string getDisplayVariant_Default( [in] com::sun::star::lang::Locale locale );

    /** @returns
                    variant code for display of field to user. If the localized
                    name is not found, returns the ISO codes.

                @param locale the locale.

                @param inLocale
                    specifies the desired user variant.
     */
    string getDisplayVariant( [in] com::sun::star::lang::Locale locale,
             [in] com::sun::star::lang::Locale inLocale );

    /** @returns
                    a string to display the entire locale to user. If the localized
                    name is not found, uses the ISO codes. The default locale is used
                    for the presentation language.

            @param locale the locale.
     */
    string getDisplayName_Default( [in] com::sun::star::lang::Locale locale );

    /** @returns
                    a string to display the entire locale to user. If the localized
                    name is not found, uses the ISO codes.

                @param locale the locale.

                @param inLocale
                    specifies the desired user locale.
     */
    string getDisplayName( [in] com::sun::star::lang::Locale locale,
             [in] com::sun::star::lang::Locale inLocale );

    /** @returns
                `TRUE` if the com::sun::star::lang::Locale <var>l1</var> is equal to the
                other one.

                <p>A locale is deemed equal to another locale with identical
                language, country, and variant, and unequal to all other
                objects.
     */
    boolean equals( [in] com::sun::star::lang::Locale l1,
             [in] com::sun::star::lang::Locale l2 );

};


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */