Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
a5ccfa0f
Kaydet (Commit)
a5ccfa0f
authored
Kas 07, 2013
tarafından
Eike Rathke
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
adapted to reality
Change-Id: I79d91598b3104fb50d6c19aca135b8d16347ab79
üst
16b58c86
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
124 additions
and
40 deletions
+124
-40
langid.pl
i18nlangtag/source/isolang/langid.pl
+124
-40
No files found.
i18nlangtag/source/isolang/langid.pl
Dosyayı görüntüle @
a5ccfa0f
...
@@ -85,9 +85,9 @@ sub makeLangID($$)
...
@@ -85,9 +85,9 @@ sub makeLangID($$)
}
}
sub
grepFile
($$$$@)
sub
grepFile
($$$$
$
@)
{
{
my
(
$regex
,
$path
,
$module
,
$name
,
@addregex
)
=
@_
;
my
(
$regex
,
$path
,
$module
,
$name
,
$printmsg
,
@addregex
)
=
@_
;
my
@result
;
my
@result
;
my
$found
=
0
;
my
$found
=
0
;
my
$areopen
=
0
;
my
$areopen
=
0
;
...
@@ -156,7 +156,7 @@ sub grepFile($$$$@)
...
@@ -156,7 +156,7 @@ sub grepFile($$$$@)
}
}
close
(
IN
);
close
(
IN
);
}
}
if
(
!
$found
)
{
if
(
!
$found
&&
$printmsg
)
{
print
"Not found in $file\n"
;
print
"Not found in $file\n"
;
#print "Not found in $file for $regex @addregex\n";
#print "Not found in $file for $regex @addregex\n";
}
}
...
@@ -214,16 +214,17 @@ sub main()
...
@@ -214,16 +214,17 @@ sub main()
# #define LANGUAGE_AFRIKAANS 0x0436
# #define LANGUAGE_AFRIKAANS 0x0436
@resultlist
=
grepFile
(
@resultlist
=
grepFile
(
$modifier
.
'^\s*#\s*define\s+[A-Z_]*'
.
$grepdef
,
$modifier
.
'^\s*#\s*define\s+[A-Z_]*'
.
$grepdef
,
"$SRC_ROOT"
,
"include"
,
"i18nlangtag/lang.h"
,
());
"$SRC_ROOT"
,
"include"
,
"i18nlangtag/lang.h"
,
1
,
());
}
}
else
else
{
{
printf
(
"LangID: 0x%04X (dec %d), primary: 0x%03x, sub 0x%02x\n"
,
$lcid
,
printf
(
"LangID: 0x%04X (dec %d), primary: 0x%03x, sub 0x%02x\n"
,
$lcid
,
$lcid
,
$parts
[
0
],
$parts
[
1
]);
$lcid
,
$parts
[
0
],
$parts
[
1
]);
my
$buf
=
sprintf
(
"0x%04X"
,
$lcid
);
my
$buf
=
sprintf
(
"0x%04X"
,
$lcid
);
# #define LANGUAGE_AFRIKAANS 0x0436
@resultlist
=
grepFile
(
@resultlist
=
grepFile
(
'^\s*#\s*define\s+\w+\s+'
.
$buf
,
'^\s*#\s*define\s+\w+\s+'
.
$buf
,
"$SRC_ROOT"
,
"include"
,
"i18nlangtag/lang.h"
,
());
"$SRC_ROOT"
,
"include"
,
"i18nlangtag/lang.h"
,
1
,
());
}
}
for
$result
(
@resultlist
)
for
$result
(
@resultlist
)
{
{
...
@@ -239,23 +240,70 @@ sub main()
...
@@ -239,23 +240,70 @@ sub main()
# If the string given is of the form xx-yy lookup a language,country pair
# If the string given is of the form xx-yy lookup a language,country pair
# to obtain the define identifier. xx and yy themselfs may be regexps.
# to obtain the define identifier. xx and yy themselfs may be regexps.
# xx- is a short form for 'xx-.*' and -yy a short form for '.*-yy'
# xx- is a short form for 'xx-.*' and -yy a short form for '.*-yy'
# Note that -Latn for '.*-Latn' also works, accidentally.
if
(
$grepdef
=~
/^(.*)-$/
)
{
if
(
$grepdef
=~
/^(.*)-$/
)
{
$grepdef
=
$1
.
"-.*"
;
}
$grepdef
=
$1
.
"-.*"
;
}
if
(
$grepdef
=~
/^-(.*)$/
)
{
if
(
$grepdef
=~
/^-(.*)$/
)
{
$grepdef
=
".*-"
.
$1
;
}
$grepdef
=
".*-"
.
$1
;
}
if
(
$grepdef
=~
/^(
.*)-(.*)$/
)
if
(
$grepdef
=~
/^(
[^-]{2,3})-([^-]{2,2})$/
)
# catches also .*-.*
{
{
my
$lang
=
$1
;
my
$lang
=
$1
;
my
$coun
=
$2
;
my
$coun
=
$2
;
$lang
=
lc
(
$lang
);
$lang
=
lc
(
$lang
);
$coun
=
uc
(
$coun
);
$coun
=
uc
(
$coun
);
# { LANGUAGE_AFRIKAANS, "af", "ZA", false },
# { LANGUAGE_AFRIKAANS, "af", "ZA", 0 },
@resultlist
=
grepFile
(
'^\s*\{\s*\w+\s*,\s*"'
.
$lang
.
'"\s*,\s*"'
.
$coun
.
'"\s*,\s*\w+\s*\}\s*,'
,
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/isolang.cxx"
,
1
,
());
for
$result
(
@resultlist
)
{
if
(
$result
=~
/^\s*\{\s*(\w+)\s*,\s*"(\w+)"\s*,\s*"(\w+)?"\s*,\s*\w+\s*\}\s*,/
)
{
push
(
@greplist
,
'\b'
.
$1
.
'\b'
);
$modifier
=
""
;
# complete identifier now case sensitive
if
(
$single
)
{
last
;
}
}
}
$grepdef
=
0
;
}
# Same for lll-Ssss or lll-Ssss-CC language tag.
if
(
$grepdef
=~
/^([^-]{2,3})-([^-]{4,4})$/
||
$grepdef
=~
/^([^-]{2,3})-([^-]{4,4})-([^-]{2,2})$/
)
{
my
$lang
=
$1
;
my
$scri
=
$2
;
my
$coun
=
$3
;
if
(
!
defined
(
$coun
))
{
$coun
=
""
;
}
$lang
=
lc
(
$lang
);
$scri
=
ucfirst
(
lc
(
$scri
));
$coun
=
uc
(
$coun
);
# { LANGUAGE_SERBIAN_LATIN_SERBIA, "sr-Latn", "RS", 0 },
@resultlist
=
grepFile
(
@resultlist
=
grepFile
(
'^\s*\{\s*\w+\s*,\s*
\"'
.
$lang
.
'\"\s*,\s*\"'
.
$coun
.
'\
"\s*,\s*\w+\s*\}\s*,'
,
'^\s*\{\s*\w+\s*,\s*
"'
.
$lang
.
'-'
.
$scri
.
'"\s*,\s*"'
.
$coun
.
'
"\s*,\s*\w+\s*\}\s*,'
,
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/isolang.cxx"
,
());
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/isolang.cxx"
,
1
,
());
for
$result
(
@resultlist
)
for
$result
(
@resultlist
)
{
{
if
(
$result
=~
/^\s*\{\s*(\w+)\s*,\s*\"\w+\"\s*,\s*\"(\w+)?\"\s*,\s*\w+\s*\}\s*,/
)
if
(
$result
=~
/^\s*\{\s*(\w+)\s*,\s*"(\w+-\w+)"\s*,\s*"(\w+)?"\s*,\s*\w+\s*\}\s*,/
)
{
push
(
@greplist
,
'\b'
.
$1
.
'\b'
);
$modifier
=
""
;
# complete identifier now case sensitive
if
(
$single
)
{
last
;
}
}
}
$grepdef
=
0
;
}
# And for any other language tag that MUST match case.
if
(
$grepdef
=~
/^[^-]+-/
)
{
# { LANGUAGE_CATALAN_VALENCIAN, "ca-ES-valencia", "ES", "ca-valencia" },
@resultlist
=
grepFile
(
'^\s*\{\s*\w+\s*,\s*"'
.
$grepdef
.
'"\s*,\s*"(\w*)"\s*,\s*"([^"]*)"\s*\}\s*,'
,
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/isolang.cxx"
,
1
,
());
for
$result
(
@resultlist
)
{
if
(
$result
=~
/^\s*\{\s*(\w+)\s*,\s*"([^"]+)"\s*,\s*"(\w*)"\s*,\s*"([^"]*)"\s*\}\s*,/
)
{
{
push
(
@greplist
,
'\b'
.
$1
.
'\b'
);
push
(
@greplist
,
'\b'
.
$1
.
'\b'
);
$modifier
=
""
;
# complete identifier now case sensitive
$modifier
=
""
;
# complete identifier now case sensitive
...
@@ -276,7 +324,7 @@ sub main()
...
@@ -276,7 +324,7 @@ sub main()
# #define LANGUAGE_AFRIKAANS 0x0436
# #define LANGUAGE_AFRIKAANS 0x0436
@resultlist
=
grepFile
(
@resultlist
=
grepFile
(
$modifier
.
'^\s*#\s*define\s+[A-Z_]*'
.
$grepdef
,
$modifier
.
'^\s*#\s*define\s+[A-Z_]*'
.
$grepdef
,
"$SRC_ROOT"
,
"include"
,
"i18nlangtag/lang.h"
,
());
"$SRC_ROOT"
,
"include"
,
"i18nlangtag/lang.h"
,
1
,
());
my
@lcidlist
;
my
@lcidlist
;
for
$result
(
@resultlist
)
for
$result
(
@resultlist
)
{
{
...
@@ -287,30 +335,66 @@ sub main()
...
@@ -287,30 +335,66 @@ sub main()
}
}
}
}
# { LANGUAGE_AFRIKAANS, "af", "ZA", false },
my
@allresultslist
;
# { LANGUAGE_AFRIKAANS, "af", "ZA", 0 },
@resultlist
=
grepFile
(
$modifier
.
'^\s*\{\s*.*'
.
$grepdef
.
'.*\s*,\s*"(\w+)"\s*,\s*"(\w+)?"\s*,\s*\w+\s*\}\s*,'
,
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/isolang.cxx"
,
0
,
());
push
(
@allresultslist
,
@resultlist
);
# { LANGUAGE_SERBIAN_LATIN_SERBIA, "sr-Latn", "RS", 0 },
@resultlist
=
grepFile
(
@resultlist
=
grepFile
(
$modifier
.
'^\s*\{\s*.*'
.
$grepdef
.
'.*\s*,\s*\".*\"\s*,\s*\".*\"\s*,\s*\w+\s*\}\s*,'
,
$modifier
.
'^\s*\{\s*.*'
.
$grepdef
.
'.*\s*,\s*"(\w+-\w+)"\s*,\s*"(\w+)?"\s*,\s*\w+\s*}\s*,'
,
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/isolang.cxx"
,
());
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/isolang.cxx"
,
0
,
());
push
(
@allresultslist
,
@resultlist
);
# { LANGUAGE_CATALAN_VALENCIAN, "ca-ES-valencia", "ES", "ca-valencia" },
@resultlist
=
grepFile
(
$modifier
.
'^\s*\{\s*.*'
.
$grepdef
.
'.*\s*,\s*"([^"]+)"\s*,\s*"(\w*)"\s*,\s*"([^"]*)"\s*\}\s*,'
,
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/isolang.cxx"
,
0
,
());
push
(
@allresultslist
,
@resultlist
);
my
@lang
coun
greplist
;
my
@lang
tag
greplist
;
for
$result
(
@
result
list
)
for
$result
(
@
allresults
list
)
{
{
if
(
$result
=~
/^\s*\{\s*\w+\s*,\s*\"(\w+)\"\s*,\s*\"(\w+)?\"\s*,\s*\w+\s*\}\s*,/
)
my
$loca
;
# { LANGUAGE_AFRIKAANS, "af", "ZA", 0 },
# { LANGUAGE_SERBIAN_LATIN_SERBIA, "sr-Latn", "RS", 0 },
if
(
$result
=~
/^\s*\{\s*(\w+)\s*,\s*"(\w+)"\s*,\s*"(\w+)?"\s*,\s*\w+\s*\}\s*,/
||
$result
=~
/^\s*\{\s*(\w+)\s*,\s*"(\w+-\w+)"\s*,\s*"(\w+)?"\s*,\s*\w+\s*\}\s*,/
)
{
{
my
$lang
=
$1
;
my
$lang
=
$2
;
my
$coun
=
$2
;
my
$coun
=
$3
;
my
$loca
;
if
(
$coun
)
if
(
$coun
)
{
{
$loca
=
$lang
.
"_"
.
$coun
;
$loca
=
$lang
.
"_"
.
$coun
;
push
(
@lang
coun
greplist
,
'\b'
.
$lang
.
'\b(-'
.
$coun
.
')?'
);
push
(
@lang
tag
greplist
,
'\b'
.
$lang
.
'\b(-'
.
$coun
.
')?'
);
}
}
else
else
{
{
$loca
=
$lang
;
$loca
=
$lang
;
$coun
=
""
;
push
(
@langtaggreplist
,
'\b'
.
$lang
.
'\b'
);
push
(
@langcoungreplist
,
'\b'
.
$lang
.
'\b'
);
}
}
}
# { LANGUAGE_CATALAN_VALENCIAN, "ca-ES-valencia", "ES", "ca-valencia" },
if
(
$result
=~
/^\s*\{\s*(\w+)\s*,\s*"([^"]+)"\s*,\s*"(\w*)"\s*,\s*"([^"]*)"\s*\}\s*,/
)
{
$loca
=
$2
;
my
$lang
=
$4
;
my
$coun
=
$3
;
if
(
$lang
)
{
if
(
$coun
)
{
push
(
@langtaggreplist
,
'\b'
.
$lang
.
'\b(-'
.
$coun
.
')?'
);
}
else
{
push
(
@langtaggreplist
,
'\b'
.
$lang
.
'\b'
);
}
}
}
if
(
$loca
)
{
$loca
=~
s/-/_/g
;
my
$file
=
"$SRC_ROOT/i18npool/source/localedata/data/$loca.xml"
;
my
$file
=
"$SRC_ROOT/i18npool/source/localedata/data/$loca.xml"
;
my
$found
=
open
(
LD
,
$file
);
my
$found
=
open
(
LD
,
$file
);
if
(
$found
)
if
(
$found
)
...
@@ -319,11 +403,11 @@ sub main()
...
@@ -319,11 +403,11 @@ sub main()
my
$on
=
0
;
my
$on
=
0
;
while
(
my
$line
=
<
LD
>
)
while
(
my
$line
=
<
LD
>
)
{
{
if
(
$line
=~
/<(Language|Country)>/
)
{
if
(
$line
=~
/<(Language|Country
|Variant
)>/
)
{
$on
=
1
;
}
$on
=
1
;
}
if
(
$on
)
{
if
(
$on
)
{
print
$line
;
}
print
$line
;
}
if
(
$line
=~
/<\/(Language|Country)>/
)
{
if
(
$line
=~
/<\/(Language|Country
|Variant
)>/
)
{
$on
=
0
;
}
$on
=
0
;
}
}
}
close
(
LD
);
close
(
LD
);
...
@@ -333,42 +417,42 @@ sub main()
...
@@ -333,42 +417,42 @@ sub main()
}
}
}
}
# case LANGUAGE_ARABIC:
# case LANGUAGE_ARABIC
_SAUDI_ARABIA & LANGUAGE_MASK_PRIMARY
:
grepFile
(
grepFile
(
$modifier
.
'^\s*case\s*.*'
.
$grepdef
.
'.*\s*:'
,
$modifier
.
'^\s*case\s*.*'
.
$grepdef
.
'.*
(\s*&\s*\w+)?
\s*:'
,
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/mslangid.cxx"
,
());
"$SRC_ROOT"
,
"i18nlangtag"
,
"source/isolang/mslangid.cxx"
,
1
,
());
my
$module
=
"svtools"
;
my
$module
=
"svtools"
;
my
$name
=
"source/misc/langtab.src"
;
my
$name
=
"source/misc/langtab.src"
;
# < "Afrikaans" ; LANGUAGE_AFRIKAANS ; > ;
# < "Afrikaans" ; LANGUAGE_AFRIKAANS ; > ;
# lookup define
# lookup define
@resultlist
=
grepFile
(
@resultlist
=
grepFile
(
$modifier
.
'^\s*<\s*
\".*\
"\s*;\s*.*'
.
$grepdef
.
'.*\s*;\s*>\s*;'
,
$modifier
.
'^\s*<\s*
".*
"\s*;\s*.*'
.
$grepdef
.
'.*\s*;\s*>\s*;'
,
"$SRC_ROOT"
,
$module
,
$name
,
());
"$SRC_ROOT"
,
$module
,
$name
,
1
,
());
# lookup string
# lookup string
if
(
!
@resultlist
)
{
if
(
!
@resultlist
)
{
grepFile
(
grepFile
(
$modifier
.
'^\s*<\s*
\".*'
.
$grepdef
.
'.*\
"\s*;\s*.*\s*;\s*>\s*;'
,
$modifier
.
'^\s*<\s*
".*'
.
$grepdef
.
'.*
"\s*;\s*.*\s*;\s*>\s*;'
,
"$SRC_ROOT"
,
$module
,
$name
,
());
}
"$SRC_ROOT"
,
$module
,
$name
,
1
,
());
}
for
my
$lang
coun
(
@langcoun
greplist
)
for
my
$lang
tag
(
@langtag
greplist
)
{
{
# Name (xxx) = "/registry/spool/org/openoffice/Office/Common-ctl.xcu";
# Name (xxx) = "/registry/spool/org/openoffice/Office/Common-ctl.xcu";
grepFile
(
grepFile
(
'^\s*Name\s*\('
.
$lang
coun
.
'\)\s*='
,
'^\s*Name\s*\('
.
$lang
tag
.
'\)\s*='
,
"$SRC_ROOT"
,
"scp2"
,
"source/ooo/file_ooo.scp"
,
());
"$SRC_ROOT"
,
"scp2"
,
"source/ooo/file_ooo.scp"
,
1
,
());
# completelangiso=af ar as-IN ... zu
# completelangiso=af ar as-IN ... zu
grepFile
(
grepFile
(
'^\s*completelangiso\s*=\s*(\s*([a-z]{2,3})(-[A-Z][A-Z])?)*'
.
$lang
coun
.
''
,
'^\s*completelangiso\s*=\s*(\s*([a-z]{2,3})(-[A-Z][A-Z])?)*'
.
$lang
tag
.
''
,
"$SRC_ROOT"
,
"solenv"
,
"inc/langlist.mk"
,
"$SRC_ROOT"
,
"solenv"
,
"inc/langlist.mk"
,
1
,
# needs a duplicated pair of backslashes to produce a literal \\
# needs a duplicated pair of backslashes to produce a literal \\
(
'^\s*completelangiso\s*='
,
'^\s*$'
,
'^\s*'
.
$lang
coun
.
'\s*\\\\*$'
));
(
'^\s*completelangiso\s*='
,
'^\s*$'
,
'^\s*'
.
$lang
tag
.
'\s*\\\\*$'
));
# af 1252 1078 # Afrikaans
# af 1252 1078 # Afrikaans
grepFile
(
grepFile
(
'^\s*'
.
$lang
coun
.
''
,
'^\s*'
.
$lang
tag
.
''
,
"$SRC_ROOT"
,
"l10ntools"
,
"source/ulfconv/msi-encodinglist.txt"
,
());
"$SRC_ROOT"
,
"l10ntools"
,
"source/ulfconv/msi-encodinglist.txt"
,
1
,
());
}
}
}
}
return
0
;
return
0
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment