~ubuntu-branches/ubuntu/saucy/padre/saucy-proposed

« back to all changes in this revision

Viewing changes to lib/Padre/Locale.pm

  • Committer: Package Import Robot
  • Author(s): Dominique Dumont, gregor herrmann, Dominique Dumont
  • Date: 2012-01-04 12:04:20 UTC
  • mfrom: (1.3.3)
  • Revision ID: package-import@ubuntu.com-20120104120420-i5oybqwf91m1d3il
Tags: 0.92.ds1-1
[ gregor herrmann ]
* Remove debian/source/local-options; abort-on-upstream-changes
  and unapply-patches are default in dpkg-source since 1.16.1.
* Swap order of alternative (build) dependencies after the perl
  5.14 transition.

[ Dominique Dumont ]
* Imported Upstream version 0.92.ds1
* removed fix-spelling patch (applied upstream)
* lintian-override: use wildcard to avoid listing a gazillion files
* updated size of some 'not-real-man-page' entries
* rules: remove dekstop cruft (replaced by a file provided in debian
  directory)
* control: removed Breaks statement. Add /me to uploaders. Updated
  dependencies
* rules: make sure that non-DFSG file (i.e. the cute butterfly, sigh)
  is not distributed

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
use 5.008;
35
35
use strict;
36
36
use warnings;
 
37
use utf8; # Encoding of this source code
37
38
use List::Util ();
38
39
use File::Spec ();
39
40
 
50
51
use constant DEFAULT  => 'en-gb';
51
52
use constant SHAREDIR => Padre::Util::sharedir('locale');
52
53
 
53
 
our $VERSION = '0.90';
 
54
our $VERSION = '0.92';
54
55
 
55
56
# The RFC4646 table is the primary language data table and contains
56
57
# mappings from a Padre-supported language to all the relevant data
66
67
 
67
68
sub label {
68
69
        my $name = shift;
69
 
        require Encode;
70
 
        return $RFC4646{$name}{utf8text} ? Encode::decode( 'utf8', $RFC4646{$name}{utf8text} ) : $name;
 
70
        return $RFC4646{$name}{utf8text} ? $RFC4646{$name}{utf8text} : $name;
71
71
}
72
72
 
73
73
BEGIN {
98
98
 
99
99
                        # REQUIRED: The wxWidgets language (integer) identifier.
100
100
                        # http://docs.wxwidgets.org/stable/wx_languagecodes.html#languagecodes
101
 
                        wxid => Wx::wxLANGUAGE_ENGLISH_UK,
 
101
                        wxid => Wx::LANGUAGE_ENGLISH_UK,
102
102
 
103
103
                        # OPTIONAL: Recommended language fallback sequence.
104
104
                        # This is an ordered list of alternative languages
125
125
                        utf8text => 'English (Australia)',
126
126
                        iso639   => 'en',
127
127
                        iso3166  => 'AU',
128
 
                        wxid     => Wx::wxLANGUAGE_ENGLISH_AUSTRALIA,
 
128
                        wxid     => Wx::LANGUAGE_ENGLISH_AUSTRALIA,
129
129
 
130
130
                        # Even though en-gb is the default language, in this
131
131
                        # specific case there is a clearly expressed desire for
141
141
                'x-unknown' => {
142
142
                        gettext  => _T('Unknown'),
143
143
                        utf8text => 'Unknown',
144
 
                        iso639   => 'en',                  # For convenience
 
144
                        iso639   => 'en',                # For convenience
145
145
                        iso3166  => undef,
146
 
                        wxid     => Wx::wxLANGUAGE_UNKNOWN,
 
146
                        wxid     => Wx::LANGUAGE_UNKNOWN,
147
147
                        fallback => [],
148
148
                },
149
149
 
157
157
                        utf8text  => 'عربي',
158
158
                        iso639    => 'ar',
159
159
                        iso3166   => undef,
160
 
                        wxid      => Wx::wxLANGUAGE_ARABIC,
 
160
                        wxid      => Wx::LANGUAGE_ARABIC,
161
161
                        fallback  => [],
162
162
                        supported => 1,
163
163
                },
167
167
                        utf8text  => 'Česky',
168
168
                        iso639    => 'cz',
169
169
                        iso3166   => undef,
170
 
                        wxid      => Wx::wxLANGUAGE_CZECH,
 
170
                        wxid      => Wx::LANGUAGE_CZECH,
171
171
                        fallback  => [],
172
172
                        supported => 1,
173
173
                },
177
177
                        utf8text  => 'Dansk',
178
178
                        iso639    => 'da',
179
179
                        iso3166   => 'DA',
180
 
                        wxid      => Wx::wxLANGUAGE_DANISH,
 
180
                        wxid      => Wx::LANGUAGE_DANISH,
181
181
                        fallback  => [ 'en-gb', 'en-us' ],
182
182
                        supported => 0,
183
183
                },
187
187
                        utf8text  => 'Deutsch',
188
188
                        iso639    => 'de',
189
189
                        iso3166   => undef,
190
 
                        wxid      => Wx::wxLANGUAGE_GERMAN,
 
190
                        wxid      => Wx::LANGUAGE_GERMAN,
191
191
                        fallback  => [],
192
192
                        supported => 1,
193
193
                },
197
197
                        utf8text => 'English',
198
198
                        iso639   => 'en',
199
199
                        iso3166  => undef,
200
 
                        wxid     => Wx::wxLANGUAGE_ENGLISH,
 
200
                        wxid     => Wx::LANGUAGE_ENGLISH,
201
201
                        fallback => [],
202
202
                },
203
203
 
206
206
                        utf8text => 'English (Canada)',
207
207
                        iso639   => 'en',
208
208
                        iso3166  => undef,
209
 
                        wxid     => Wx::wxLANGUAGE_ENGLISH_CANADA,
 
209
                        wxid     => Wx::LANGUAGE_ENGLISH_CANADA,
210
210
                        fallback => [ 'en-us', 'en-gb' ],
211
211
                },
212
212
 
215
215
                        utf8text => 'English (New Zealand)',
216
216
                        iso639   => 'en',
217
217
                        iso3166  => 'NZ',
218
 
                        wxid     => Wx::wxLANGUAGE_ENGLISH_NEW_ZEALAND,
 
218
                        wxid     => Wx::LANGUAGE_ENGLISH_NEW_ZEALAND,
219
219
 
220
220
                        # NOTE: The en-au is debatable
221
221
                        fallback => [ 'en-au', 'en-gb' ],
226
226
                        utf8text => 'English (United States)',
227
227
                        iso639   => 'en',
228
228
                        iso3166  => 'US',
229
 
                        wxid     => Wx::wxLANGUAGE_ENGLISH_US,
 
229
                        wxid     => Wx::LANGUAGE_ENGLISH_US,
230
230
                        fallback => [ 'en-ca', 'en-gb' ],
231
231
                },
232
232
 
235
235
                        utf8text  => 'Español (Argentina)',
236
236
                        iso639    => 'sp',
237
237
                        iso3166   => 'AR',
238
 
                        wxid      => Wx::wxLANGUAGE_SPANISH_ARGENTINA,
 
238
                        wxid      => Wx::LANGUAGE_SPANISH_ARGENTINA,
239
239
                        fallback  => [ 'es-es', 'en-us' ],
240
240
                        supported => 0,
241
241
                },
249
249
                        utf8text  => 'Español',
250
250
                        iso639    => 'sp',
251
251
                        iso3166   => 'SP',
252
 
                        wxid      => Wx::wxLANGUAGE_SPANISH,
 
252
                        wxid      => Wx::LANGUAGE_SPANISH,
253
253
                        fallback  => [],
254
254
                        supported => 1,
255
255
                },
259
259
                        utf8text  => 'پارسی (ایران)',
260
260
                        iso639    => 'prs',
261
261
                        iso3166   => undef,
262
 
                        wxid      => Wx::wxLANGUAGE_FARSI,
 
262
                        wxid      => Wx::LANGUAGE_FARSI,
263
263
                        fallback  => [],
264
264
                        supported => 1
265
265
                },
269
269
                        utf8text  => 'Français (Canada)',
270
270
                        iso639    => 'fr',
271
271
                        iso3166   => 'CA',
272
 
                        wxid      => Wx::wxLANGUAGE_FRENCH_CANADIAN,
273
 
                        fallback  => ['fr-fr'],
 
272
                        wxid      => Wx::LANGUAGE_FRENCH_CANADIAN,
 
273
                        fallback  => ['fr'],
274
274
                        supported => 0,
275
275
                },
276
276
 
277
 
                'fr-fr' => {
 
277
                'fr' => {
278
278
 
279
279
                        # Simplify until there's another French
280
280
                        # gettext   => 'French (France)',
282
282
                        gettext   => _T('French'),
283
283
                        utf8text  => 'Français',
284
284
                        iso639    => 'fr',
285
 
                        iso3166   => 'FR',
286
 
                        wxid      => Wx::wxLANGUAGE_FRENCH,
 
285
                        iso3166   => undef,
 
286
                        wxid      => Wx::LANGUAGE_FRENCH,
287
287
                        fallback  => [],
288
288
                        supported => 1,
289
289
                },
293
293
                        utf8text  => 'עברית',
294
294
                        iso639    => 'he',
295
295
                        iso3166   => undef,
296
 
                        wxid      => Wx::wxLANGUAGE_HEBREW,
 
296
                        wxid      => Wx::LANGUAGE_HEBREW,
297
297
                        fallback  => [],
298
298
                        supported => 1,
299
299
                },
303
303
                        utf8text  => 'Magyar',
304
304
                        iso639    => 'hu',
305
305
                        iso3166   => undef,
306
 
                        wxid      => Wx::wxLANGUAGE_HUNGARIAN,
 
306
                        wxid      => Wx::LANGUAGE_HUNGARIAN,
307
307
                        fallback  => [],
308
308
                        supported => 1,
309
309
                },
317
317
                        utf8text  => 'Italiano',
318
318
                        iso639    => 'it',
319
319
                        iso3166   => 'IT',
320
 
                        wxid      => Wx::wxLANGUAGE_ITALIAN,
 
320
                        wxid      => Wx::LANGUAGE_ITALIAN,
321
321
                        fallback  => [],
322
322
                        supported => 1,
323
323
                },
327
327
                        utf8text  => '日本語',
328
328
                        iso639    => 'ja',
329
329
                        iso3166   => undef,
330
 
                        wxid      => Wx::wxLANGUAGE_JAPANESE,
 
330
                        wxid      => Wx::LANGUAGE_JAPANESE,
331
331
                        fallback  => ['en-us'],
332
332
                        supported => 1,
333
333
                },
337
337
                        utf8text  => '한국어',
338
338
                        iso639    => 'ko',
339
339
                        iso3166   => 'KR',
340
 
                        wxid      => Wx::wxLANGUAGE_KOREAN,
 
340
                        wxid      => Wx::LANGUAGE_KOREAN,
341
341
                        fallback  => [],
342
342
                        supported => 1,
343
343
                },
351
351
                        utf8text  => 'Nederlands',
352
352
                        iso639    => 'nl',
353
353
                        iso3166   => 'NL',
354
 
                        wxid      => Wx::wxLANGUAGE_DUTCH,
 
354
                        wxid      => Wx::LANGUAGE_DUTCH,
355
355
                        fallback  => ['nl-be'],
356
356
                        supported => 1,
357
357
                },
361
361
                        utf8text  => 'Nederlands (België)',
362
362
                        iso639    => 'nl',
363
363
                        iso3166   => 'BE',
364
 
                        wxid      => Wx::wxLANGUAGE_DUTCH_BELGIAN,
 
364
                        wxid      => Wx::LANGUAGE_DUTCH_BELGIAN,
365
365
                        fallback  => ['nl-nl'],
366
366
                        supported => 0,
367
367
                },
371
371
                        utf8text  => 'Norsk',
372
372
                        iso639    => 'no',
373
373
                        iso3166   => 'NO',
374
 
                        wxid      => Wx::wxLANGUAGE_NORWEGIAN_BOKMAL,
 
374
                        wxid      => Wx::LANGUAGE_NORWEGIAN_BOKMAL,
375
375
                        fallback  => [ 'en-gb', 'en-us' ],
376
376
                        supported => 1,
377
377
                },
381
381
                        utf8text  => 'Polski',
382
382
                        iso639    => 'pl',
383
383
                        iso3166   => 'PL',
384
 
                        wxid      => Wx::wxLANGUAGE_POLISH,
 
384
                        wxid      => Wx::LANGUAGE_POLISH,
385
385
                        fallback  => [],
386
386
                        supported => 1,
387
387
                },
391
391
                        utf8text  => 'Português (Brasil)',
392
392
                        iso639    => 'pt',
393
393
                        iso3166   => 'BR',
394
 
                        wxid      => Wx::wxLANGUAGE_PORTUGUESE_BRAZILIAN,
 
394
                        wxid      => Wx::LANGUAGE_PORTUGUESE_BRAZILIAN,
395
395
                        fallback  => ['pt-pt'],
396
396
                        supported => 1,
397
397
                },
401
401
                        utf8text  => 'Português (Europeu)',
402
402
                        iso639    => 'pt',
403
403
                        iso3166   => 'PT',
404
 
                        wxid      => Wx::wxLANGUAGE_PORTUGUESE,
 
404
                        wxid      => Wx::LANGUAGE_PORTUGUESE,
405
405
                        fallback  => ['pt-br'],
406
406
                        supported => 0,
407
407
                },
411
411
                        utf8text  => 'Русский',
412
412
                        iso639    => 'ru',
413
413
                        iso3166   => undef,
414
 
                        wxid      => Wx::wxLANGUAGE_RUSSIAN,
 
414
                        wxid      => Wx::LANGUAGE_RUSSIAN,
415
415
                        fallback  => [],
416
416
                        supported => 1,
417
417
                },
421
421
                        utf8text  => 'Türkçe',
422
422
                        iso639    => 'tr',
423
423
                        iso3166   => 'TR',
424
 
                        wxid      => Wx::wxLANGUAGE_TURKISH,
 
424
                        wxid      => Wx::LANGUAGE_TURKISH,
425
425
                        fallback  => [],
426
426
                        supported => 1,
427
427
                },
431
431
                        utf8text  => 'Chinese',
432
432
                        iso639    => 'zh',
433
433
                        iso3166   => undef,
434
 
                        wxid      => Wx::wxLANGUAGE_CHINESE,
 
434
                        wxid      => Wx::LANGUAGE_CHINESE,
435
435
                        fallback  => [ 'zh-tw', 'zh-cn', 'en-us' ],
436
436
                        supported => 0,
437
437
                },
441
441
                        utf8text  => '中文 (简体)',
442
442
                        iso639    => 'zh',
443
443
                        iso3166   => 'CN',
444
 
                        wxid      => Wx::wxLANGUAGE_CHINESE_SIMPLIFIED,
 
444
                        wxid      => Wx::LANGUAGE_CHINESE_SIMPLIFIED,
445
445
                        fallback  => [ 'zh-tw', 'en-us' ],
446
446
                        supported => 1,
447
447
                },
451
451
                        utf8text  => '正體中文 (繁體)',
452
452
                        iso639    => 'zh',
453
453
                        iso3166   => 'TW',
454
 
                        wxid      => Wx::wxLANGUAGE_CHINESE_TRADITIONAL,
 
454
                        wxid      => Wx::LANGUAGE_CHINESE_TRADITIONAL,
455
455
                        fallback  => [ 'zh-cn', 'en-us' ],
456
456
                        supported => 1,
457
457
                },
516
516
        return $RFC4646{$locale}->{actual};
517
517
}
518
518
 
519
 
#
 
519
sub rfc4646_exists {
 
520
        defined $RFC4646{ $_[0] };
 
521
}
 
522
 
520
523
sub iso639 {
521
524
        my $id     = rfc4646();
522
525
        my $iso639 = $RFC4646{$id}{iso639};