Differences From Artifact [5268bd2a18]:
- File
src/OFLocalization.h
— part of check-in
[0a73af49f0]
at
2017-04-30 13:35:16
on branch trunk
— Use nonatomic for properties and clean up
This changes retaining behavior, meaning properties are not returned
retained and autoreleased anymore, so a property returned from a getter
now needs to be manually retained and autoreleased before calling the
setter. However, this is rarely the case and not using atomic improves
performance. (user: js, size: 6041) [annotate] [blame] [check-ins using]
To Artifact [368d40b91d]:
- File
src/OFLocalization.h
— part of check-in
[4af49a13c3]
at
2017-05-07 20:10:13
on branch trunk
— Small code style change
Casts are now written like types in variable declarations. (user: js, size: 6065) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
36 37 38 39 40 41 42 | */ @interface OFLocalization: OFObject { OFString *_language; OFString *_territory; of_string_encoding_t _encoding; OFString *_decimalPoint; | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | */ @interface OFLocalization: OFObject { OFString *_language; OFString *_territory; of_string_encoding_t _encoding; OFString *_decimalPoint; OFMutableArray OF_GENERIC(OFDictionary OF_GENERIC(OFString *, id) *) *_localizedStrings; } /** * The language of the locale for messages. * * If the language is unknown, it is `nil`. |
︙ | ︙ | |||
87 88 89 90 91 92 93 | /** * @brief Returns the language of the locale. * * If the language is unknown, `nil` is returned. * * @return The language of the locale. */ | | | | | | | | > | 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 | /** * @brief Returns the language of the locale. * * If the language is unknown, `nil` is returned. * * @return The language of the locale. */ + (nullable OFString *)language; /*! * @brief Returns the territory of the locale. * * If the territory is unknown, `nil` is returned. * * @return The territory of the locale. */ + (nullable OFString *)territory; /*! * @brief Returns the native 8-bit string encoding for the locale. * * This is useful to encode strings correctly for passing them to operating * system calls. * * If the native 8-bit encoding is unknown, UTF-8 is assumed. * * @return The native 8-bit string encoding for the locale */ + (of_string_encoding_t)encoding; /*! * @brief Returns the decimal point of the system's locale. * * @return The decimal point of the system's locale */ + (OFString *)decimalPoint; #ifdef OF_HAVE_FILES /*! * @brief Adds a directory to scan for language files. * * @param path The path to the directory to scan for language files */ + (void)addLanguageDirectory: (OFString *)path; #endif /*! * @brief Initializes the OFLocalization singleton with the specified locale. * * @warning This sets the locale via `setlocale()`! * * @warning You should never call this yourself, except if you do not use * @ref OFApplication. In this case, you need to allocate exactly one * instance of OFLocalization, which will be come the singleton, and * call this method. */ - init; #ifdef OF_HAVE_FILES /*! * @brief Adds a directory to scan for language files. * * @param path The path to the directory to scan for language files */ - (void)addLanguageDirectory: (OFString *)path; #endif /*! * @brief Returns the localized string for the specified ID, using the fallback * string if it cannot be looked up or is missing. * * @note This takes a variadic argument, terminated by `nil`, that consists of * pairs of variable names and variable values, which will be replaced * inside the localized string. For example, you can pass * `@"name", @"foo", nil`, causing `%[name]` to be replaced with `foo` in * the localized string. * * @note Generally, you want to use @ref OF_LOCALIZED instead, which also takes * care of the `nil` sentinel automatically. * * @param ID The ID for the localized string * @param fallback The fallback to use in case the localized string cannot be * looked up or is missing * @return The localized string */ - (OFString *)localizedStringForID: (OFConstantString *)ID fallback: (OFConstantString *)fallback, ... OF_SENTINEL; /** * @brief Returns the localized string for the specified ID, using the fallback * string if it cannot be looked up or is missing. * * @note This takes a variadic argument, terminated by `nil` and passed as * va_list, that consists of pairs of variable names and variable values, |
︙ | ︙ | |||
189 190 191 192 193 194 195 | * @param fallback The fallback to use in case the localized string cannot be * looked up or is missing * @param arguments A va_list of arguments, consisting of pairs of variable * names and values to replace in the localized string, * terminated with `nil` * @return The localized string */ | | | | | 190 191 192 193 194 195 196 197 198 199 200 201 202 | * @param fallback The fallback to use in case the localized string cannot be * looked up or is missing * @param arguments A va_list of arguments, consisting of pairs of variable * names and values to replace in the localized string, * terminated with `nil` * @return The localized string */ - (OFString *)localizedStringForID: (OFConstantString *)ID fallback: (OFConstantString *)fallback arguments: (va_list)arguments; @end OF_ASSUME_NONNULL_END |