mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
ML fixes
- The naming convention for a french empty translation of x.doc is x_fr.doc - Fixed mimetype and initial file sizes - Raised minor issue: AR-1487 - Shortened crazy language names - Made language name ordering follow the declaration order in the config XML file git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@5812 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
</config>
|
</config>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Define a ordered map of languages matched by his unique language code.
|
Define a ordered map of languages matched by the unique language code.
|
||||||
-->
|
-->
|
||||||
<config evaluator="string-compare" condition="Languages Filter Map">
|
<config evaluator="string-compare" condition="Languages Filter Map">
|
||||||
|
|
||||||
@@ -19,216 +19,192 @@
|
|||||||
The list is ordered by language code ascending.
|
The list is ordered by language code ascending.
|
||||||
-->
|
-->
|
||||||
<ISO_639-1>
|
<ISO_639-1>
|
||||||
<lang order="1" code="aa">Afar</lang>
|
<lang code="aa">Afar</lang>
|
||||||
<lang order="2" code="ab">Abkhazian</lang>
|
<lang code="ab">Abkhazian</lang>
|
||||||
<lang order="3" code="ae">Avestan</lang>
|
<lang code="ae">Avestan</lang>
|
||||||
<lang order="4" code="af">Afrikaans</lang>
|
<lang code="af">Afrikaans</lang>
|
||||||
<lang order="5" code="ak">Akan</lang>
|
<lang code="ak">Akan</lang>
|
||||||
<lang order="6" code="am">Amharic</lang>
|
<lang code="am">Amharic</lang>
|
||||||
<lang order="7" code="an">Aragonese</lang>
|
<lang code="an">Aragonese</lang>
|
||||||
<lang order="8" code="ar">Arabic</lang>
|
<lang code="ar">Arabic</lang>
|
||||||
<lang order="9" code="as">Assamese</lang>
|
<lang code="as">Assamese</lang>
|
||||||
<lang order="10" code="av">Avaric</lang>
|
<lang code="av">Avaric</lang>
|
||||||
<lang order="11" code="ay">Aymara</lang>
|
<lang code="ay">Aymara</lang>
|
||||||
<lang order="12" code="az">Azerbaijani</lang>
|
<lang code="az">Azerbaijani</lang>
|
||||||
<lang order="13" code="ba">Bashkir</lang>
|
<lang code="ba">Bashkir</lang>
|
||||||
<lang order="14" code="be">Belarusian</lang>
|
<lang code="be">Belarusian</lang>
|
||||||
<lang order="15" code="bg">Bulgarian</lang>
|
<lang code="bg">Bulgarian</lang>
|
||||||
<lang order="16" code="bh">Bihari</lang>
|
<lang code="bh">Bihari</lang>
|
||||||
<lang order="17" code="bi">Bislama</lang>
|
<lang code="bi">Bislama</lang>
|
||||||
<lang order="18" code="bm">Bambara</lang>
|
<lang code="bm">Bambara</lang>
|
||||||
<lang order="19" code="bn">Bengali</lang>
|
<lang code="bn">Bengali</lang>
|
||||||
<lang order="20" code="bo">Tibetan</lang>
|
<lang code="bo">Tibetan</lang>
|
||||||
<lang order="21" code="br">Breton</lang>
|
<lang code="br">Breton</lang>
|
||||||
<lang order="22" code="bs">Bosnian</lang>
|
<lang code="bs">Bosnian</lang>
|
||||||
<lang order="23" code="ca">Catalan; Valencian</lang>
|
<lang code="ca">Catalan; Valencian</lang>
|
||||||
<lang order="24" code="ce">Chechen</lang>
|
<lang code="ce">Chechen</lang>
|
||||||
<lang order="25" code="ch">Chamorro</lang>
|
<lang code="ch">Chamorro</lang>
|
||||||
<lang order="26" code="co">Corsican</lang>
|
<lang code="co">Corsican</lang>
|
||||||
<lang order="27" code="cr">Cree</lang>
|
<lang code="cr">Cree</lang>
|
||||||
<lang order="28" code="cs">Czech</lang>
|
<lang code="cs">Czech</lang>
|
||||||
<lang order="29" code="cu">
|
<lang code="cu">Slavic</lang>
|
||||||
Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic
|
<lang code="cv">Chuvash</lang>
|
||||||
</lang>
|
<lang code="cy">Welsh</lang>
|
||||||
<lang order="30" code="cv">Chuvash</lang>
|
<lang code="da">Danish</lang>
|
||||||
<lang order="31" code="cy">Welsh</lang>
|
<lang code="de">German</lang>
|
||||||
<lang order="32" code="da">Danish</lang>
|
<lang code="dv">Maldivian</lang>
|
||||||
<lang order="33" code="de">German</lang>
|
<lang code="dz">Dzongkha</lang>
|
||||||
<lang order="34" code="dv">
|
<lang code="ee">Ewe</lang>
|
||||||
Divehi; Dhivehi; Maldivian
|
<lang code="el">Greek</lang>
|
||||||
</lang>
|
<lang code="en">English</lang>
|
||||||
<lang order="35" code="dz">Dzongkha</lang>
|
<lang code="eo">Esperanto</lang>
|
||||||
<lang order="36" code="ee">Ewe</lang>
|
<lang code="es">Spanish</lang>
|
||||||
<lang order="37" code="el">Greek</lang>
|
<lang code="et">Estonian</lang>
|
||||||
<lang order="38" code="en">English</lang>
|
<lang code="eu">Basque</lang>
|
||||||
<lang order="39" code="eo">Esperanto</lang>
|
<lang code="fa">Persian</lang>
|
||||||
<lang order="40" code="es">Spanish</lang>
|
<lang code="ff">Fulah</lang>
|
||||||
<lang order="41" code="et">Estonian</lang>
|
<lang code="fi">Finnish</lang>
|
||||||
<lang order="42" code="eu">Basque</lang>
|
<lang code="fj">Fijian</lang>
|
||||||
<lang order="43" code="fa">Persian</lang>
|
<lang code="fo">Faroese</lang>
|
||||||
<lang order="44" code="ff">Fulah</lang>
|
<lang code="fr">French</lang>
|
||||||
<lang order="45" code="fi">Finnish</lang>
|
<lang code="fy">Western Frisian</lang>
|
||||||
<lang order="46" code="fj">Fijian</lang>
|
<lang code="ga">Irish</lang>
|
||||||
<lang order="47" code="fo">Faroese</lang>
|
<lang code="gd">Gaelic</lang>
|
||||||
<lang order="48" code="fr">French</lang>
|
<lang code="gl">Galician</lang>
|
||||||
<lang order="49" code="fy">Western Frisian</lang>
|
<lang code="gn">Guarani</lang>
|
||||||
<lang order="50" code="ga">Irish</lang>
|
<lang code="gu">Gujarati</lang>
|
||||||
<lang order="51" code="gd">
|
<lang code="gv">Manx</lang>
|
||||||
Gaelic; Scottish Gaelic
|
<lang code="ha">Hausa</lang>
|
||||||
</lang>
|
<lang code="he">Hebrew</lang>
|
||||||
<lang order="52" code="gl">Galician</lang>
|
<lang code="hi">Hindi</lang>
|
||||||
<lang order="53" code="gn">Guarani</lang>
|
<lang code="ho">Hiri Motu</lang>
|
||||||
<lang order="54" code="gu">Gujarati</lang>
|
<lang code="hr">Croatian</lang>
|
||||||
<lang order="55" code="gv">Manx</lang>
|
<lang code="ht">Haitian</lang>
|
||||||
<lang order="56" code="ha">Hausa</lang>
|
<lang code="hu">Hungarian</lang>
|
||||||
<lang order="57" code="he">Hebrew</lang>
|
<lang code="hy">Armenian</lang>
|
||||||
<lang order="58" code="hi">Hindi</lang>
|
<lang code="hz">Herero</lang>
|
||||||
<lang order="59" code="ho">Hiri Motu</lang>
|
<lang code="ia">Interlingua</lang>
|
||||||
<lang order="60" code="hr">Croatian</lang>
|
<lang code="id">Indonesian</lang>
|
||||||
<lang order="61" code="ht">
|
<lang code="ie">Interlingue</lang>
|
||||||
Haitian; Haitian Creole
|
<lang code="ig">Igbo</lang>
|
||||||
</lang>
|
<lang code="ii">Sichuan Yi</lang>
|
||||||
<lang order="62" code="hu">Hungarian</lang>
|
<lang code="ik">Inupiaq</lang>
|
||||||
<lang order="63" code="hy">Armenian</lang>
|
<lang code="io">Ido</lang>
|
||||||
<lang order="64" code="hz">Herero</lang>
|
<lang code="is">Icelandic</lang>
|
||||||
<lang order="65" code="ia">
|
<lang code="it">Italian</lang>
|
||||||
Interlingua (International Auxiliary Language Association)
|
<lang code="iu">Inuktitut</lang>
|
||||||
</lang>
|
<lang code="ja">Japanese</lang>
|
||||||
<lang order="66" code="id">Indonesian</lang>
|
<lang code="jv">Javanese</lang>
|
||||||
<lang order="67" code="ie">Interlingue</lang>
|
<lang code="ka">Georgian</lang>
|
||||||
<lang order="68" code="ig">Igbo</lang>
|
<lang code="kg">Kongo</lang>
|
||||||
<lang order="69" code="ii">Sichuan Yi</lang>
|
<lang code="ki">Kikuyu; Gikuyu</lang>
|
||||||
<lang order="70" code="ik">Inupiaq</lang>
|
<lang code="kj">Kuanyama; Kwanyama</lang>
|
||||||
<lang order="71" code="io">Ido</lang>
|
<lang code="kk">Kazakh</lang>
|
||||||
<lang order="72" code="is">Icelandic</lang>
|
<lang code="kl">Kalaallisut; Greenlandic</lang>
|
||||||
<lang order="73" code="it">Italian</lang>
|
<lang code="km">Khmer</lang>
|
||||||
<lang order="74" code="iu">Inuktitut</lang>
|
<lang code="kn">Kannada</lang>
|
||||||
<lang order="75" code="ja">Japanese</lang>
|
<lang code="ko">Korean</lang>
|
||||||
<lang order="76" code="jv">Javanese</lang>
|
<lang code="kr">Kanuri</lang>
|
||||||
<lang order="77" code="ka">Georgian</lang>
|
<lang code="ks">Kashmiri</lang>
|
||||||
<lang order="78" code="kg">Kongo</lang>
|
<lang code="ku">Kurdish</lang>
|
||||||
<lang order="79" code="ki">Kikuyu; Gikuyu</lang>
|
<lang code="kv">Komi</lang>
|
||||||
<lang order="80" code="kj">Kuanyama; Kwanyama</lang>
|
<lang code="kw">Cornish</lang>
|
||||||
<lang order="81" code="kk">Kazakh</lang>
|
<lang code="ky">Kirghiz</lang>
|
||||||
<lang order="82" code="kl">
|
<lang code="la">Latin</lang>
|
||||||
Kalaallisut; Greenlandic
|
<lang code="lb">Luxembourgish; Letzeburgesch</lang>
|
||||||
</lang>
|
<lang code="lg">Ganda</lang>
|
||||||
<lang order="83" code="km">Khmer</lang>
|
<lang code="li">Limburgan; Limburger; Limburgish</lang>
|
||||||
<lang order="84" code="kn">Kannada</lang>
|
<lang code="ln">Lingala</lang>
|
||||||
<lang order="85" code="ko">Korean</lang>
|
<lang code="lo">Lao</lang>
|
||||||
<lang order="86" code="kr">Kanuri</lang>
|
<lang code="lt">Lithuanian</lang>
|
||||||
<lang order="87" code="ks">Kashmiri</lang>
|
<lang code="lu">Luba-Katanga</lang>
|
||||||
<lang order="88" code="ku">Kurdish</lang>
|
<lang code="lv">Latvian</lang>
|
||||||
<lang order="89" code="kv">Komi</lang>
|
<lang code="mg">Malagasy</lang>
|
||||||
<lang order="90" code="kw">Cornish</lang>
|
<lang code="mh">Marshallese</lang>
|
||||||
<lang order="91" code="ky">Kirghiz</lang>
|
<lang code="mi">Maori</lang>
|
||||||
<lang order="92" code="la">Latin</lang>
|
<lang code="mk">Macedonian</lang>
|
||||||
<lang order="93" code="lb">
|
<lang code="ml">Malayalam</lang>
|
||||||
Luxembourgish; Letzeburgesch
|
<lang code="mn">Mongolian</lang>
|
||||||
</lang>
|
<lang code="mo">Moldavian</lang>
|
||||||
<lang order="94" code="lg">Ganda</lang>
|
<lang code="mr">Marathi</lang>
|
||||||
<lang order="95" code="li">
|
<lang code="ms">Malay</lang>
|
||||||
Limburgan; Limburger; Limburgish
|
<lang code="mt">Maltese</lang>
|
||||||
</lang>
|
<lang code="my">Burmese</lang>
|
||||||
<lang order="96" code="ln">Lingala</lang>
|
<lang code="na">Nauru</lang>
|
||||||
<lang order="97" code="lo">Lao</lang>
|
<lang code="nb">Norvégien Bokmål</lang>
|
||||||
<lang order="98" code="lt">Lithuanian</lang>
|
<lang code="nd">North Ndebele</lang>
|
||||||
<lang order="99" code="lu">Luba-Katanga</lang>
|
<lang code="ne">Nepali</lang>
|
||||||
<lang order="100" code="lv">Latvian</lang>
|
<lang code="ng">Ndonga</lang>
|
||||||
<lang order="101" code="mg">Malagasy</lang>
|
<lang code="nl">Dutch</lang>
|
||||||
<lang order="102" code="mh">Marshallese</lang>
|
<lang code="nn">Norwegian Nynorsk</lang>
|
||||||
<lang order="103" code="mi">Maori</lang>
|
<lang code="no">Norwegian</lang>
|
||||||
<lang order="104" code="mk">Macedonian</lang>
|
<lang code="nr">South Ndebele</lang>
|
||||||
<lang order="105" code="ml">Malayalam</lang>
|
<lang code="nv">Navajo; Navaho</lang>
|
||||||
<lang order="106" code="mn">Mongolian</lang>
|
<lang code="ny">Chichewa; Chewa; Nyanja</lang>
|
||||||
<lang order="107" code="mo">Moldavian</lang>
|
<lang code="oc">Occitan (post 1500); Provençal</lang>
|
||||||
<lang order="108" code="mr">Marathi</lang>
|
<lang code="oj">Ojibwa</lang>
|
||||||
<lang order="109" code="ms">Malay</lang>
|
<lang code="om">Oromo</lang>
|
||||||
<lang order="110" code="mt">Maltese</lang>
|
<lang code="or">Oriya</lang>
|
||||||
<lang order="111" code="my">Burmese</lang>
|
<lang code="os">Ossetian; Ossetic</lang>
|
||||||
<lang order="112" code="na">Nauru</lang>
|
<lang code="pa">Panjabi; Punjabi</lang>
|
||||||
<lang order="113" code="nb">Norvégien Bokmål</lang>
|
<lang code="pi">Pali</lang>
|
||||||
<lang order="114" code="nd">
|
<lang code="pl">Polish</lang>
|
||||||
Ndebele, North; North Ndebele
|
<lang code="ps">Pushto</lang>
|
||||||
</lang>
|
<lang code="pt">Portuguese</lang>
|
||||||
<lang order="115" code="ne">Nepali</lang>
|
<lang code="qu">Quechua</lang>
|
||||||
<lang order="116" code="ng">Ndonga</lang>
|
<lang code="rm">Raeto-Romance</lang>
|
||||||
<lang order="117" code="nl">Dutch</lang>
|
<lang code="rn">Rundi</lang>
|
||||||
<lang order="118" code="nn">Norwegian Nynorsk</lang>
|
<lang code="ro">Romanian</lang>
|
||||||
<lang order="119" code="no">Norwegian</lang>
|
<lang code="ru">Russian</lang>
|
||||||
<lang order="120" code="nr">
|
<lang code="rw">Kinyarwanda</lang>
|
||||||
Ndebele, South; South Ndebele
|
<lang code="sa">Sanskrit</lang>
|
||||||
</lang>
|
<lang code="sc">Sardinian</lang>
|
||||||
<lang order="121" code="nv">Navajo; Navaho</lang>
|
<lang code="sd">Sindhi</lang>
|
||||||
<lang order="122" code="ny">
|
<lang code="se">Northern Sami</lang>
|
||||||
Chichewa; Chewa; Nyanja
|
<lang code="sg">Sango</lang>
|
||||||
</lang>
|
<lang code="si">Sinhala; Sinhalese</lang>
|
||||||
<lang order="123" code="oc">
|
<lang code="sk">Slovak</lang>
|
||||||
Occitan (post 1500); Provençal
|
<lang code="sl">Slovenian</lang>
|
||||||
</lang>
|
<lang code="sm">Samoan</lang>
|
||||||
<lang order="124" code="oj">Ojibwa</lang>
|
<lang code="sn">Shona</lang>
|
||||||
<lang order="125" code="om">Oromo</lang>
|
<lang code="so">Somali</lang>
|
||||||
<lang order="126" code="or">Oriya</lang>
|
<lang code="sq">Albanian</lang>
|
||||||
<lang order="127" code="os">Ossetian; Ossetic</lang>
|
<lang code="sr">Serbian</lang>
|
||||||
<lang order="128" code="pa">Panjabi; Punjabi</lang>
|
<lang code="ss">Swati</lang>
|
||||||
<lang order="129" code="pi">Pali</lang>
|
<lang code="st">Sotho, Southern</lang>
|
||||||
<lang order="130" code="pl">Polish</lang>
|
<lang code="su">Sundanese</lang>
|
||||||
<lang order="131" code="ps">Pushto</lang>
|
<lang code="sv">Swedish</lang>
|
||||||
<lang order="132" code="pt">Portuguese</lang>
|
<lang code="sw">Swahili</lang>
|
||||||
<lang order="133" code="qu">Quechua</lang>
|
<lang code="ta">Tamil</lang>
|
||||||
<lang order="134" code="rm">Raeto-Romance</lang>
|
<lang code="te">Telugu</lang>
|
||||||
<lang order="135" code="rn">Rundi</lang>
|
<lang code="tg">Tajik</lang>
|
||||||
<lang order="136" code="ro">Romanian</lang>
|
<lang code="th">Thai</lang>
|
||||||
<lang order="137" code="ru">Russian</lang>
|
<lang code="ti">Tigrinya</lang>
|
||||||
<lang order="138" code="rw">Kinyarwanda</lang>
|
<lang code="tk">Turkmen</lang>
|
||||||
<lang order="139" code="sa">Sanskrit</lang>
|
<lang code="tl">Tagalog</lang>
|
||||||
<lang order="140" code="sc">Sardinian</lang>
|
<lang code="tn">Tswana</lang>
|
||||||
<lang order="141" code="sd">Sindhi</lang>
|
<lang code="to">Tonga (Tonga Islands)</lang>
|
||||||
<lang order="142" code="se">Northern Sami</lang>
|
<lang code="tr">Turkish</lang>
|
||||||
<lang order="143" code="sg">Sango</lang>
|
<lang code="tr">Turkish</lang>
|
||||||
<lang order="144" code="si">Sinhala; Sinhalese</lang>
|
<lang code="ts">Tsonga</lang>
|
||||||
<lang order="145" code="sk">Slovak</lang>
|
<lang code="tt">Tatar</lang>
|
||||||
<lang order="146" code="sl">Slovenian</lang>
|
<lang code="tw">Twi</lang>
|
||||||
<lang order="147" code="sm">Samoan</lang>
|
<lang code="ty">Tahitian</lang>
|
||||||
<lang order="148" code="sn">Shona</lang>
|
<lang code="ug">Uighur; Uyghur</lang>
|
||||||
<lang order="149" code="so">Somali</lang>
|
<lang code="uk">Ukrainian</lang>
|
||||||
<lang order="150" code="sq">Albanian</lang>
|
<lang code="ur">Urdu</lang>
|
||||||
<lang order="151" code="sr">Serbian</lang>
|
<lang code="uz">Uzbek</lang>
|
||||||
<lang order="152" code="ss">Swati</lang>
|
<lang code="ve">Venda</lang>
|
||||||
<lang order="153" code="st">Sotho, Southern</lang>
|
<lang code="vi">Vietnamese</lang>
|
||||||
<lang order="154" code="su">Sundanese</lang>
|
<lang code="vo">Volapük</lang>
|
||||||
<lang order="155" code="sv">Swedish</lang>
|
<lang code="wa">Walloon</lang>
|
||||||
<lang order="156" code="sw">Swahili</lang>
|
<lang code="wo">Wolof</lang>
|
||||||
<lang order="157" code="ta">Tamil</lang>
|
<lang code="xh">Xhosa</lang>
|
||||||
<lang order="158" code="te">Telugu</lang>
|
<lang code="yi">Yiddish</lang>
|
||||||
<lang order="159" code="tg">Tajik</lang>
|
<lang code="yo">Yoruba</lang>
|
||||||
<lang order="160" code="th">Thai</lang>
|
<lang code="za">Zhuang; Chuang</lang>
|
||||||
<lang order="161" code="ti">Tigrinya</lang>
|
<lang code="zh">Chinese</lang>
|
||||||
<lang order="162" code="tk">Turkmen</lang>
|
<lang code="zu">Zulu</lang>
|
||||||
<lang order="163" code="tl">Tagalog</lang>
|
|
||||||
<lang order="164" code="tn">Tswana</lang>
|
|
||||||
<lang order="165" code="to">Tonga (Tonga Islands)</lang>
|
|
||||||
<lang order="166" code="tr">Turkish</lang>
|
|
||||||
<lang order="167" code="tr">Turkish</lang>
|
|
||||||
<lang order="168" code="ts">Tsonga</lang>
|
|
||||||
<lang order="169" code="tt">Tatar</lang>
|
|
||||||
<lang order="170" code="tw">Twi</lang>
|
|
||||||
<lang order="171" code="ty">Tahitian</lang>
|
|
||||||
<lang order="172" code="ug">Uighur; Uyghur</lang>
|
|
||||||
<lang order="173" code="uk">Ukrainian</lang>
|
|
||||||
<lang order="174" code="ur">Urdu</lang>
|
|
||||||
<lang order="175" code="uz">Uzbek</lang>
|
|
||||||
<lang order="176" code="ve">Venda</lang>
|
|
||||||
<lang order="177" code="vi">Vietnamese</lang>
|
|
||||||
<lang order="178" code="vo">Volapük</lang>
|
|
||||||
<lang order="179" code="wa">Walloon</lang>
|
|
||||||
<lang order="180" code="wo">Wolof</lang>
|
|
||||||
<lang order="181" code="xh">Xhosa</lang>
|
|
||||||
<lang order="182" code="yi">Yiddish</lang>
|
|
||||||
<lang order="183" code="yo">Yoruba</lang>
|
|
||||||
<lang order="184" code="za">Zhuang; Chuang</lang>
|
|
||||||
<lang order="185" code="zh">Chinese</lang>
|
|
||||||
<lang order="186" code="zu">Zulu</lang>
|
|
||||||
</ISO_639-1>
|
</ISO_639-1>
|
||||||
|
|
||||||
|
|
||||||
@@ -238,216 +214,192 @@
|
|||||||
The list is ordered for the European Commission needs.
|
The list is ordered for the European Commission needs.
|
||||||
-->
|
-->
|
||||||
<ISO_639-1_EU-Order>
|
<ISO_639-1_EU-Order>
|
||||||
<lang order="1" code="bg">Bulgarian</lang>
|
<lang code="bg">Bulgarian</lang>
|
||||||
<lang order="2" code="cs">Czech</lang>
|
<lang code="cs">Czech</lang>
|
||||||
<lang order="3" code="da">Danish</lang>
|
<lang code="da">Danish</lang>
|
||||||
<lang order="4" code="de">German</lang>
|
<lang code="de">German</lang>
|
||||||
<lang order="5" code="et">Estonian</lang>
|
<lang code="et">Estonian</lang>
|
||||||
<lang order="6" code="el">Greek</lang>
|
<lang code="el">Greek</lang>
|
||||||
<lang order="7" code="en" default="true">English</lang>
|
<lang code="en" default="true">English</lang>
|
||||||
<lang order="8" code="es">Spanish</lang>
|
<lang code="es">Spanish</lang>
|
||||||
<lang order="9" code="fr">French</lang>
|
<lang code="fr">French</lang>
|
||||||
<lang order="10" code="ga">Irish</lang>
|
<lang code="ga">Irish</lang>
|
||||||
<lang order="11" code="it">Italian</lang>
|
<lang code="it">Italian</lang>
|
||||||
<lang order="12" code="lv">Latvian</lang>
|
<lang code="lv">Latvian</lang>
|
||||||
<lang order="13" code="lt">Lithuanian</lang>
|
<lang code="lt">Lithuanian</lang>
|
||||||
<lang order="14" code="hu">Hungarian</lang>
|
<lang code="hu">Hungarian</lang>
|
||||||
<lang order="15" code="mt">Maltese</lang>
|
<lang code="mt">Maltese</lang>
|
||||||
<lang order="16" code="nl">Dutch</lang>
|
<lang code="nl">Dutch</lang>
|
||||||
<lang order="17" code="pl">Polish</lang>
|
<lang code="pl">Polish</lang>
|
||||||
<lang order="18" code="pt">Portuguese</lang>
|
<lang code="pt">Portuguese</lang>
|
||||||
<lang order="19" code="ro">Romanian</lang>
|
<lang code="ro">Romanian</lang>
|
||||||
<lang order="20" code="sk">Slovak</lang>
|
<lang code="sk">Slovak</lang>
|
||||||
<lang order="21" code="sl">Slovenian</lang>
|
<lang code="sl">Slovenian</lang>
|
||||||
<lang order="22" code="fi">Finnish</lang>
|
<lang code="fi">Finnish</lang>
|
||||||
<lang order="23" code="sv">Swedish</lang>
|
<lang code="sv">Swedish</lang>
|
||||||
<lang order="24" code="hr">Croatian</lang>
|
<lang code="hr">Croatian</lang>
|
||||||
<lang order="25" code="tr">Turkish</lang>
|
<lang code="tr">Turkish</lang>
|
||||||
<lang order="26" code="aa">Afar</lang>
|
<lang code="aa">Afar</lang>
|
||||||
<lang order="27" code="ab">Abkhazian</lang>
|
<lang code="ab">Abkhazian</lang>
|
||||||
<lang order="28" code="af">Afrikaans</lang>
|
<lang code="af">Afrikaans</lang>
|
||||||
<lang order="29" code="ak">Akan</lang>
|
<lang code="ak">Akan</lang>
|
||||||
<lang order="30" code="sq">Albanian</lang>
|
<lang code="sq">Albanian</lang>
|
||||||
<lang order="31" code="am">Amharic</lang>
|
<lang code="am">Amharic</lang>
|
||||||
<lang order="32" code="ar">Arabic</lang>
|
<lang code="ar">Arabic</lang>
|
||||||
<lang order="33" code="an">Aragonese</lang>
|
<lang code="an">Aragonese</lang>
|
||||||
<lang order="34" code="hy">Armenian</lang>
|
<lang code="hy">Armenian</lang>
|
||||||
<lang order="35" code="as">Assamese</lang>
|
<lang code="as">Assamese</lang>
|
||||||
<lang order="36" code="av">Avaric</lang>
|
<lang code="av">Avaric</lang>
|
||||||
<lang order="37" code="ae">Avestan</lang>
|
<lang code="ae">Avestan</lang>
|
||||||
<lang order="38" code="ay">Aymara</lang>
|
<lang code="ay">Aymara</lang>
|
||||||
<lang order="39" code="az">Azerbaijani</lang>
|
<lang code="az">Azerbaijani</lang>
|
||||||
<lang order="40" code="ba">Bashkir</lang>
|
<lang code="ba">Bashkir</lang>
|
||||||
<lang order="41" code="bm">Bambara</lang>
|
<lang code="bm">Bambara</lang>
|
||||||
<lang order="42" code="eu">Basque</lang>
|
<lang code="eu">Basque</lang>
|
||||||
<lang order="43" code="be">Belarusian</lang>
|
<lang code="be">Belarusian</lang>
|
||||||
<lang order="44" code="bn">Bengali</lang>
|
<lang code="bn">Bengali</lang>
|
||||||
<lang order="45" code="bh">Bihari</lang>
|
<lang code="bh">Bihari</lang>
|
||||||
<lang order="46" code="bi">Bislama</lang>
|
<lang code="bi">Bislama</lang>
|
||||||
<lang order="47" code="bs">Bosnian</lang>
|
<lang code="bs">Bosnian</lang>
|
||||||
<lang order="48" code="br">Breton</lang>
|
<lang code="br">Breton</lang>
|
||||||
<lang order="49" code="my">Burmese</lang>
|
<lang code="my">Burmese</lang>
|
||||||
<lang order="50" code="ca">Catalan; Valencian</lang>
|
<lang code="ca">Catalan; Valencian</lang>
|
||||||
<lang order="51" code="ch">Chamorro</lang>
|
<lang code="ch">Chamorro</lang>
|
||||||
<lang order="52" code="ce">Chechen</lang>
|
<lang code="ce">Chechen</lang>
|
||||||
<lang order="53" code="zh">Chinese</lang>
|
<lang code="zh">Chinese</lang>
|
||||||
<lang order="54" code="cu">
|
<lang code="cu">Slavic</lang>
|
||||||
Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic
|
<lang code="cv">Chuvash</lang>
|
||||||
</lang>
|
<lang code="kw">Cornish</lang>
|
||||||
<lang order="55" code="cv">Chuvash</lang>
|
<lang code="co">Corsican</lang>
|
||||||
<lang order="56" code="kw">Cornish</lang>
|
<lang code="cr">Cree</lang>
|
||||||
<lang order="57" code="co">Corsican</lang>
|
<lang code="dv">Divehi; Dhivehi; Maldivian</lang>
|
||||||
<lang order="58" code="cr">Cree</lang>
|
<lang code="dz">Dzongkha</lang>
|
||||||
<lang order="59" code="dv">
|
<lang code="eo">Esperanto</lang>
|
||||||
Divehi; Dhivehi; Maldivian
|
<lang code="ee">Ewe</lang>
|
||||||
</lang>
|
<lang code="fo">Faroese</lang>
|
||||||
<lang order="60" code="dz">Dzongkha</lang>
|
<lang code="fj">Fijian</lang>
|
||||||
<lang order="61" code="eo">Esperanto</lang>
|
<lang code="fy">Western Frisian</lang>
|
||||||
<lang order="62" code="ee">Ewe</lang>
|
<lang code="ff">Fulah</lang>
|
||||||
<lang order="63" code="fo">Faroese</lang>
|
<lang code="ka">Georgian</lang>
|
||||||
<lang order="64" code="fj">Fijian</lang>
|
<lang code="gd">Gaelic</lang>
|
||||||
<lang order="65" code="fy">Western Frisian</lang>
|
<lang code="gl">Galician</lang>
|
||||||
<lang order="66" code="ff">Fulah</lang>
|
<lang code="gv">Manx</lang>
|
||||||
<lang order="67" code="ka">Georgian</lang>
|
<lang code="gn">Guarani</lang>
|
||||||
<lang order="68" code="gd">
|
<lang code="gu">Gujarati</lang>
|
||||||
Gaelic; Scottish Gaelic
|
<lang code="ht">Haitian</lang>
|
||||||
</lang>
|
<lang code="ha">Hausa</lang>
|
||||||
<lang order="69" code="gl">Galician</lang>
|
<lang code="he">Hebrew</lang>
|
||||||
<lang order="70" code="gv">Manx</lang>
|
<lang code="hz">Herero</lang>
|
||||||
<lang order="71" code="gn">Guarani</lang>
|
<lang code="hi">Hindi</lang>
|
||||||
<lang order="72" code="gu">Gujarati</lang>
|
<lang code="ho">Hiri Motu</lang>
|
||||||
<lang order="73" code="ht">
|
<lang code="ig">Igbo</lang>
|
||||||
Haitian; Haitian Creole
|
<lang code="is">Icelandic</lang>
|
||||||
</lang>
|
<lang code="io">Ido</lang>
|
||||||
<lang order="74" code="ha">Hausa</lang>
|
<lang code="ii">Sichuan Yi</lang>
|
||||||
<lang order="75" code="he">Hebrew</lang>
|
<lang code="iu">Inuktitut</lang>
|
||||||
<lang order="76" code="hz">Herero</lang>
|
<lang code="ie">Interlingue</lang>
|
||||||
<lang order="77" code="hi">Hindi</lang>
|
<lang code="ia">Interlingua</lang>
|
||||||
<lang order="78" code="ho">Hiri Motu</lang>
|
<lang code="id">Indonesian</lang>
|
||||||
<lang order="79" code="ig">Igbo</lang>
|
<lang code="ik">Inupiaq</lang>
|
||||||
<lang order="80" code="is">Icelandic</lang>
|
<lang code="jv">Javanese</lang>
|
||||||
<lang order="81" code="io">Ido</lang>
|
<lang code="ja">Japanese</lang>
|
||||||
<lang order="82" code="ii">Sichuan Yi</lang>
|
<lang code="kl">Kalaallisut; Greenlandic</lang>
|
||||||
<lang order="83" code="iu">Inuktitut</lang>
|
<lang code="kn">Kannada</lang>
|
||||||
<lang order="84" code="ie">Interlingue</lang>
|
<lang code="ks">Kashmiri</lang>
|
||||||
<lang order="85" code="ia">
|
<lang code="kr">Kanuri</lang>
|
||||||
Interlingua (International Auxiliary Language Association)
|
<lang code="kk">Kazakh</lang>
|
||||||
</lang>
|
<lang code="km">Khmer</lang>
|
||||||
<lang order="86" code="id">Indonesian</lang>
|
<lang code="ki">Kikuyu; Gikuyu</lang>
|
||||||
<lang order="87" code="ik">Inupiaq</lang>
|
<lang code="rw">Kinyarwanda</lang>
|
||||||
<lang order="88" code="jv">Javanese</lang>
|
<lang code="ky">Kirghiz</lang>
|
||||||
<lang order="89" code="ja">Japanese</lang>
|
<lang code="kv">Komi</lang>
|
||||||
<lang order="90" code="kl">
|
<lang code="kg">Kongo</lang>
|
||||||
Kalaallisut; Greenlandic
|
<lang code="ko">Korean</lang>
|
||||||
</lang>
|
<lang code="kj">Kuanyama; Kwanyama</lang>
|
||||||
<lang order="91" code="kn">Kannada</lang>
|
<lang code="ku">Kurdish</lang>
|
||||||
<lang order="92" code="ks">Kashmiri</lang>
|
<lang code="lo">Lao</lang>
|
||||||
<lang order="93" code="kr">Kanuri</lang>
|
<lang code="la">Latin</lang>
|
||||||
<lang order="94" code="kk">Kazakh</lang>
|
<lang code="li">Limburgan; Limburger; Limburgish</lang>
|
||||||
<lang order="95" code="km">Khmer</lang>
|
<lang code="ln">Lingala</lang>
|
||||||
<lang order="96" code="ki">Kikuyu; Gikuyu</lang>
|
<lang code="lb">Luxembourgish; Letzeburgesch</lang>
|
||||||
<lang order="97" code="rw">Kinyarwanda</lang>
|
<lang code="lu">Luba-Katanga</lang>
|
||||||
<lang order="98" code="ky">Kirghiz</lang>
|
<lang code="lg">Ganda</lang>
|
||||||
<lang order="99" code="kv">Komi</lang>
|
<lang code="mk">Macedonian</lang>
|
||||||
<lang order="100" code="kg">Kongo</lang>
|
<lang code="mh">Marshallese</lang>
|
||||||
<lang order="101" code="ko">Korean</lang>
|
<lang code="ml">Malayalam</lang>
|
||||||
<lang order="102" code="kj">Kuanyama; Kwanyama</lang>
|
<lang code="mi">Maori</lang>
|
||||||
<lang order="103" code="ku">Kurdish</lang>
|
<lang code="mr">Marathi</lang>
|
||||||
<lang order="104" code="lo">Lao</lang>
|
<lang code="ms">Malay</lang>
|
||||||
<lang order="105" code="la">Latin</lang>
|
<lang code="mg">Malagasy</lang>
|
||||||
<lang order="106" code="li">
|
<lang code="mo">Moldavian</lang>
|
||||||
Limburgan; Limburger; Limburgish
|
<lang code="mn">Mongolian</lang>
|
||||||
</lang>
|
<lang code="na">Nauru</lang>
|
||||||
<lang order="107" code="ln">Lingala</lang>
|
<lang code="nv">Navajo; Navaho</lang>
|
||||||
<lang order="108" code="lb">
|
<lang code="nr">South Ndebele</lang>
|
||||||
Luxembourgish; Letzeburgesch
|
<lang code="nd">North Ndebele</lang>
|
||||||
</lang>
|
<lang code="ng">Ndonga</lang>
|
||||||
<lang order="109" code="lu">Luba-Katanga</lang>
|
<lang code="ne">Nepali</lang>
|
||||||
<lang order="110" code="lg">Ganda</lang>
|
<lang code="nn">Norwegian Nynorsk</lang>
|
||||||
<lang order="111" code="mk">Macedonian</lang>
|
<lang code="nb">Norvégien Bokmål</lang>
|
||||||
<lang order="112" code="mh">Marshallese</lang>
|
<lang code="no">Norwegian</lang>
|
||||||
<lang order="113" code="ml">Malayalam</lang>
|
<lang code="ny">Chichewa; Chewa; Nyanja</lang>
|
||||||
<lang order="114" code="mi">Maori</lang>
|
<lang code="oc">Occitan (post 1500); Provençal</lang>
|
||||||
<lang order="115" code="mr">Marathi</lang>
|
<lang code="oj">Ojibwa</lang>
|
||||||
<lang order="116" code="ms">Malay</lang>
|
<lang code="or">Oriya</lang>
|
||||||
<lang order="117" code="mg">Malagasy</lang>
|
<lang code="om">Oromo</lang>
|
||||||
<lang order="118" code="mo">Moldavian</lang>
|
<lang code="os">Ossetian; Ossetic</lang>
|
||||||
<lang order="119" code="mn">Mongolian</lang>
|
<lang code="pa">Panjabi; Punjabi</lang>
|
||||||
<lang order="120" code="na">Nauru</lang>
|
<lang code="fa">Persian</lang>
|
||||||
<lang order="121" code="nv">Navajo; Navaho</lang>
|
<lang code="pi">Pali</lang>
|
||||||
<lang order="122" code="nr">
|
<lang code="ps">Pushto</lang>
|
||||||
Ndebele, South; South Ndebele
|
<lang code="qu">Quechua</lang>
|
||||||
</lang>
|
<lang code="rm">Raeto-Romance</lang>
|
||||||
<lang order="123" code="nd">
|
<lang code="rn">Rundi</lang>
|
||||||
Ndebele, North; North Ndebele
|
<lang code="ru">Russian</lang>
|
||||||
</lang>
|
<lang code="sg">Sango</lang>
|
||||||
<lang order="124" code="ng">Ndonga</lang>
|
<lang code="sa">Sanskrit</lang>
|
||||||
<lang order="125" code="ne">Nepali</lang>
|
<lang code="sr">Serbian</lang>
|
||||||
<lang order="126" code="nn">Norwegian Nynorsk</lang>
|
<lang code="si">Sinhala; Sinhalese</lang>
|
||||||
<lang order="127" code="nb">Norvégien Bokmål</lang>
|
<lang code="se">Northern Sami</lang>
|
||||||
<lang order="128" code="no">Norwegian</lang>
|
<lang code="sm">Samoan</lang>
|
||||||
<lang order="129" code="ny">
|
<lang code="sn">Shona</lang>
|
||||||
Chichewa; Chewa; Nyanja
|
<lang code="sd">Sindhi</lang>
|
||||||
</lang>
|
<lang code="so">Somali</lang>
|
||||||
<lang order="130" code="oc">
|
<lang code="st">Sotho, Southern</lang>
|
||||||
Occitan (post 1500); Provençal
|
<lang code="sc">Sardinian</lang>
|
||||||
</lang>
|
<lang code="ss">Swati</lang>
|
||||||
<lang order="131" code="oj">Ojibwa</lang>
|
<lang code="su">Sundanese</lang>
|
||||||
<lang order="132" code="or">Oriya</lang>
|
<lang code="sw">Swahili</lang>
|
||||||
<lang order="133" code="om">Oromo</lang>
|
<lang code="ty">Tahitian</lang>
|
||||||
<lang order="134" code="os">Ossetian; Ossetic</lang>
|
<lang code="ta">Tamil</lang>
|
||||||
<lang order="135" code="pa">Panjabi; Punjabi</lang>
|
<lang code="tt">Tatar</lang>
|
||||||
<lang order="136" code="fa">Persian</lang>
|
<lang code="te">Telugu</lang>
|
||||||
<lang order="137" code="pi">Pali</lang>
|
<lang code="tg">Tajik</lang>
|
||||||
<lang order="138" code="ps">Pushto</lang>
|
<lang code="tl">Tagalog</lang>
|
||||||
<lang order="139" code="qu">Quechua</lang>
|
<lang code="th">Thai</lang>
|
||||||
<lang order="140" code="rm">Raeto-Romance</lang>
|
<lang code="bo">Tibetan</lang>
|
||||||
<lang order="141" code="rn">Rundi</lang>
|
<lang code="ti">Tigrinya</lang>
|
||||||
<lang order="142" code="ru">Russian</lang>
|
<lang code="to">Tonga (Tonga Islands)</lang>
|
||||||
<lang order="143" code="sg">Sango</lang>
|
<lang code="tn">Tswana</lang>
|
||||||
<lang order="144" code="sa">Sanskrit</lang>
|
<lang code="ts">Tsonga</lang>
|
||||||
<lang order="145" code="sr">Serbian</lang>
|
<lang code="tk">Turkmen</lang>
|
||||||
<lang order="146" code="si">Sinhala; Sinhalese</lang>
|
<lang code="tr">Turkish</lang>
|
||||||
<lang order="147" code="se">Northern Sami</lang>
|
<lang code="tw">Twi</lang>
|
||||||
<lang order="148" code="sm">Samoan</lang>
|
<lang code="ug">Uighur; Uyghur</lang>
|
||||||
<lang order="149" code="sn">Shona</lang>
|
<lang code="uk">Ukrainian</lang>
|
||||||
<lang order="150" code="sd">Sindhi</lang>
|
<lang code="ur">Urdu</lang>
|
||||||
<lang order="151" code="so">Somali</lang>
|
<lang code="uz">Uzbek</lang>
|
||||||
<lang order="152" code="st">Sotho, Southern</lang>
|
<lang code="ve">Venda</lang>
|
||||||
<lang order="153" code="sc">Sardinian</lang>
|
<lang code="vi">Vietnamese</lang>
|
||||||
<lang order="154" code="ss">Swati</lang>
|
<lang code="vo">Volapük</lang>
|
||||||
<lang order="155" code="su">Sundanese</lang>
|
<lang code="cy">Welsh</lang>
|
||||||
<lang order="156" code="sw">Swahili</lang>
|
<lang code="wa">Walloon</lang>
|
||||||
<lang order="157" code="ty">Tahitian</lang>
|
<lang code="wo">Wolof</lang>
|
||||||
<lang order="158" code="ta">Tamil</lang>
|
<lang code="xh">Xhosa</lang>
|
||||||
<lang order="159" code="tt">Tatar</lang>
|
<lang code="yi">Yiddish</lang>
|
||||||
<lang order="160" code="te">Telugu</lang>
|
<lang code="yo">Yoruba</lang>
|
||||||
<lang order="161" code="tg">Tajik</lang>
|
<lang code="za">Zhuang; Chuang</lang>
|
||||||
<lang order="162" code="tl">Tagalog</lang>
|
<lang code="zu">Zulu</lang>
|
||||||
<lang order="163" code="th">Thai</lang>
|
|
||||||
<lang order="164" code="bo">Tibetan</lang>
|
|
||||||
<lang order="165" code="ti">Tigrinya</lang>
|
|
||||||
<lang order="166" code="to">Tonga (Tonga Islands)</lang>
|
|
||||||
<lang order="167" code="tn">Tswana</lang>
|
|
||||||
<lang order="168" code="ts">Tsonga</lang>
|
|
||||||
<lang order="169" code="tk">Turkmen</lang>
|
|
||||||
<lang order="170" code="tr">Turkish</lang>
|
|
||||||
<lang order="171" code="tw">Twi</lang>
|
|
||||||
<lang order="172" code="ug">Uighur; Uyghur</lang>
|
|
||||||
<lang order="173" code="uk">Ukrainian</lang>
|
|
||||||
<lang order="174" code="ur">Urdu</lang>
|
|
||||||
<lang order="175" code="uz">Uzbek</lang>
|
|
||||||
<lang order="176" code="ve">Venda</lang>
|
|
||||||
<lang order="177" code="vi">Vietnamese</lang>
|
|
||||||
<lang order="178" code="vo">Volapük</lang>
|
|
||||||
<lang order="179" code="cy">Welsh</lang>
|
|
||||||
<lang order="180" code="wa">Walloon</lang>
|
|
||||||
<lang order="181" code="wo">Wolof</lang>
|
|
||||||
<lang order="182" code="xh">Xhosa</lang>
|
|
||||||
<lang order="183" code="yi">Yiddish</lang>
|
|
||||||
<lang order="184" code="yo">Yoruba</lang>
|
|
||||||
<lang order="185" code="za">Zhuang; Chuang</lang>
|
|
||||||
<lang order="186" code="zu">Zulu</lang>
|
|
||||||
</ISO_639-1_EU-Order>
|
</ISO_639-1_EU-Order>
|
||||||
</config>
|
</config>
|
||||||
</alfresco-config>
|
</alfresco-config>
|
||||||
|
@@ -37,7 +37,6 @@ import org.alfresco.model.ContentModel;
|
|||||||
import org.alfresco.repo.search.QueryParameterDefImpl;
|
import org.alfresco.repo.search.QueryParameterDefImpl;
|
||||||
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
||||||
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
import org.alfresco.service.cmr.dictionary.DictionaryService;
|
||||||
import org.alfresco.service.cmr.ml.MultilingualContentService;
|
|
||||||
import org.alfresco.service.cmr.model.FileExistsException;
|
import org.alfresco.service.cmr.model.FileExistsException;
|
||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
import org.alfresco.service.cmr.model.FileInfo;
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
|
@@ -59,7 +59,6 @@ public class ContentFilterLanguagesMap implements ContentFilterLanguagesService
|
|||||||
private static final String DEFAULT_LANGUAGE_LIST_STANDARD = "ISO 639-1";
|
private static final String DEFAULT_LANGUAGE_LIST_STANDARD = "ISO 639-1";
|
||||||
|
|
||||||
private static final String ATTR_CODE = "code";
|
private static final String ATTR_CODE = "code";
|
||||||
private static final String ATTR_ORDER = "order";
|
|
||||||
private static final String ATTR_DEFAULT = "default";
|
private static final String ATTR_DEFAULT = "default";
|
||||||
|
|
||||||
private static final Log logger = LogFactory.getLog(ContentFilterLanguagesMap.class);
|
private static final Log logger = LogFactory.getLog(ContentFilterLanguagesMap.class);
|
||||||
@@ -210,11 +209,10 @@ public class ContentFilterLanguagesMap implements ContentFilterLanguagesService
|
|||||||
for (ConfigElement langElem : languages)
|
for (ConfigElement langElem : languages)
|
||||||
{
|
{
|
||||||
String code = convertToOldISOCode(langElem.getAttribute(ATTR_CODE));
|
String code = convertToOldISOCode(langElem.getAttribute(ATTR_CODE));
|
||||||
String order = langElem.getAttribute(ATTR_ORDER);
|
|
||||||
String value = langElem.getValue();
|
String value = langElem.getValue();
|
||||||
String def = langElem.getAttribute(ATTR_DEFAULT);
|
String def = langElem.getAttribute(ATTR_DEFAULT);
|
||||||
|
|
||||||
orderedLangCodes.add(Integer.parseInt(order) - 1, code);
|
orderedLangCodes.add(code);
|
||||||
|
|
||||||
languagesByCode.put(code, value);
|
languagesByCode.put(code, value);
|
||||||
|
|
||||||
|
@@ -39,6 +39,7 @@ import org.alfresco.repo.version.VersionModel;
|
|||||||
import org.alfresco.service.cmr.ml.ContentFilterLanguagesService;
|
import org.alfresco.service.cmr.ml.ContentFilterLanguagesService;
|
||||||
import org.alfresco.service.cmr.ml.MultilingualContentService;
|
import org.alfresco.service.cmr.ml.MultilingualContentService;
|
||||||
import org.alfresco.service.cmr.model.FileFolderService;
|
import org.alfresco.service.cmr.model.FileFolderService;
|
||||||
|
import org.alfresco.service.cmr.model.FileInfo;
|
||||||
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
||||||
import org.alfresco.service.cmr.repository.ContentData;
|
import org.alfresco.service.cmr.repository.ContentData;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
@@ -674,31 +675,75 @@ public class MultilingualContentServiceImpl implements MultilingualContentServic
|
|||||||
*/
|
*/
|
||||||
public NodeRef addEmptyTranslation(NodeRef translationOfNodeRef, String name, Locale locale)
|
public NodeRef addEmptyTranslation(NodeRef translationOfNodeRef, String name, Locale locale)
|
||||||
{
|
{
|
||||||
// any node used as reference
|
|
||||||
NodeRef anyTranslation;
|
|
||||||
// the empty document to create
|
|
||||||
NodeRef newTranslationNodeRef = null;
|
|
||||||
|
|
||||||
QName typeQName = nodeService.getType(translationOfNodeRef);
|
QName typeQName = nodeService.getType(translationOfNodeRef);
|
||||||
if (typeQName.equals(ContentModel.TYPE_MULTILINGUAL_CONTAINER))
|
boolean hasMLAspect = nodeService.hasAspect(translationOfNodeRef, ContentModel.ASPECT_MULTILINGUAL_DOCUMENT);
|
||||||
|
if (hasMLAspect || typeQName.equals(ContentModel.TYPE_MULTILINGUAL_CONTAINER))
|
||||||
{
|
{
|
||||||
// Set the ml container ans get the pivot
|
// Get the pivot translation
|
||||||
anyTranslation = getPivotTranslation(translationOfNodeRef);
|
NodeRef pivotTranslationNodeRef = getPivotTranslation(translationOfNodeRef);
|
||||||
}
|
if (pivotTranslationNodeRef != null)
|
||||||
else if(nodeService.hasAspect(translationOfNodeRef, ContentModel.ASPECT_MULTILINGUAL_DOCUMENT))
|
{
|
||||||
{
|
// We found a pivot translation, so use it
|
||||||
anyTranslation = translationOfNodeRef;
|
translationOfNodeRef = pivotTranslationNodeRef;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// We use the given translation, provided it is an actual translation
|
||||||
|
if (!hasMLAspect)
|
||||||
|
{
|
||||||
|
throw new IllegalArgumentException(
|
||||||
|
"The node provided is not associated with a pivot translation " +
|
||||||
|
"and is not in itself a translation: \n" +
|
||||||
|
" Translation: " + translationOfNodeRef + "\n" +
|
||||||
|
" Locale: " + locale);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
"Node must have aspect " + ContentModel.ASPECT_MULTILINGUAL_DOCUMENT + " applied or be a " + ContentModel.TYPE_MULTILINGUAL_CONTAINER);
|
"Node must have aspect " + ContentModel.ASPECT_MULTILINGUAL_DOCUMENT +
|
||||||
|
" or be a " + ContentModel.TYPE_MULTILINGUAL_CONTAINER + ": \n" +
|
||||||
|
" Translation: " + translationOfNodeRef + "\n" +
|
||||||
|
" Locale: " + locale);
|
||||||
|
}
|
||||||
|
|
||||||
|
FileInfo translationOfFileInfo = fileFolderService.getFileInfo(translationOfNodeRef);
|
||||||
|
String translationOfName = translationOfFileInfo.getName();
|
||||||
|
// If name is null, supply one
|
||||||
|
if (name == null)
|
||||||
|
{
|
||||||
|
name = translationOfName;
|
||||||
|
}
|
||||||
|
// If there is a name clash, add the locale to the main portion of the filename
|
||||||
|
if (name.equals(translationOfName))
|
||||||
|
{
|
||||||
|
String localeStr = locale.toString();
|
||||||
|
if (localeStr.endsWith("_"))
|
||||||
|
{
|
||||||
|
localeStr = localeStr.substring(0, localeStr.length() - 1);
|
||||||
|
}
|
||||||
|
String rawName;
|
||||||
|
String extension;
|
||||||
|
int index = name.lastIndexOf('.');
|
||||||
|
if (index > 0)
|
||||||
|
{
|
||||||
|
rawName = name.substring(0, index);
|
||||||
|
extension = "." + name.substring(index + 1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rawName = name;
|
||||||
|
extension = ""; // No extension
|
||||||
|
}
|
||||||
|
name = rawName + "_" + localeStr + extension;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the document in the space of the node of reference
|
// Create the document in the space of the node of reference
|
||||||
NodeRef parentNodeRef = nodeService.getPrimaryParent(anyTranslation).getParentRef();
|
NodeRef parentNodeRef = nodeService.getPrimaryParent(translationOfNodeRef).getParentRef();
|
||||||
|
|
||||||
newTranslationNodeRef = fileFolderService.create(
|
// Create the empty translation
|
||||||
|
NodeRef newTranslationNodeRef = fileFolderService.create(
|
||||||
parentNodeRef,
|
parentNodeRef,
|
||||||
name,
|
name,
|
||||||
ContentModel.TYPE_CONTENT).getNodeRef();
|
ContentModel.TYPE_CONTENT).getNodeRef();
|
||||||
@@ -706,24 +751,19 @@ public class MultilingualContentServiceImpl implements MultilingualContentServic
|
|||||||
// add the translation to the container
|
// add the translation to the container
|
||||||
addTranslation(newTranslationNodeRef, translationOfNodeRef, locale);
|
addTranslation(newTranslationNodeRef, translationOfNodeRef, locale);
|
||||||
|
|
||||||
|
// Although the content is spoofed from the pivot translation, it isn't done for all services
|
||||||
|
// TODO: Fix http://issues.alfresco.com/browse/AR-1487
|
||||||
|
ContentData translationOfContentData = (ContentData) nodeService.getProperty(translationOfNodeRef, ContentModel.PROP_CONTENT);
|
||||||
|
if (translationOfContentData != null)
|
||||||
|
{
|
||||||
|
nodeService.setProperty(newTranslationNodeRef, ContentModel.PROP_CONTENT, translationOfContentData);
|
||||||
|
}
|
||||||
|
|
||||||
// set it empty
|
// set it empty
|
||||||
nodeService.addAspect(newTranslationNodeRef, ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION, null);
|
nodeService.addAspect(newTranslationNodeRef, ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION, null);
|
||||||
// Initially, the file should be temporary. This will be changed as soon as some content is added.
|
// Initially, the file should be temporary. This will be changed as soon as some content is added.
|
||||||
nodeService.addAspect(newTranslationNodeRef, ContentModel.ASPECT_TEMPORARY, null);
|
nodeService.addAspect(newTranslationNodeRef, ContentModel.ASPECT_TEMPORARY, null);
|
||||||
|
|
||||||
// get the extension and set the ContentData property with an null URL.
|
|
||||||
// TODO: Mimetype must be correct, i.e. taken from the original
|
|
||||||
String extension = "";
|
|
||||||
int dotIdx;
|
|
||||||
if((dotIdx = name.lastIndexOf(".")) > -1 )
|
|
||||||
{
|
|
||||||
extension = name.substring(dotIdx);
|
|
||||||
}
|
|
||||||
|
|
||||||
nodeService.setProperty(newTranslationNodeRef, ContentModel.PROP_CONTENT,
|
|
||||||
new ContentData(null, extension, 0, "UTF-8", locale));
|
|
||||||
|
|
||||||
|
|
||||||
if (logger.isDebugEnabled())
|
if (logger.isDebugEnabled())
|
||||||
{
|
{
|
||||||
logger.debug("Added an empty translation: \n" +
|
logger.debug("Added an empty translation: \n" +
|
||||||
|
@@ -117,10 +117,16 @@ public abstract class AbstractMultilingualTestCases extends TestCase
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected NodeRef createContent()
|
protected NodeRef createContent()
|
||||||
|
{
|
||||||
|
String name = "" + System.currentTimeMillis();
|
||||||
|
return createContent(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected NodeRef createContent(String name)
|
||||||
{
|
{
|
||||||
NodeRef contentNodeRef = fileFolderService.create(
|
NodeRef contentNodeRef = fileFolderService.create(
|
||||||
folderNodeRef,
|
folderNodeRef,
|
||||||
"" + System.currentTimeMillis(),
|
name,
|
||||||
ContentModel.TYPE_CONTENT).getNodeRef();
|
ContentModel.TYPE_CONTENT).getNodeRef();
|
||||||
// add some content
|
// add some content
|
||||||
ContentWriter contentWriter = fileFolderService.getWriter(contentNodeRef);
|
ContentWriter contentWriter = fileFolderService.getWriter(contentNodeRef);
|
||||||
|
@@ -30,10 +30,11 @@ import java.util.List;
|
|||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
import org.alfresco.i18n.I18NUtil;
|
import org.alfresco.i18n.I18NUtil;
|
||||||
import org.alfresco.model.ContentModel;
|
import org.alfresco.model.ContentModel;
|
||||||
|
import org.alfresco.service.cmr.repository.ContentData;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
|
import org.alfresco.service.cmr.repository.datatype.DefaultTypeConverter;
|
||||||
import org.alfresco.service.cmr.version.Version;
|
import org.alfresco.service.cmr.version.Version;
|
||||||
import org.alfresco.service.cmr.version.VersionHistory;
|
import org.alfresco.service.cmr.version.VersionHistory;
|
||||||
|
|
||||||
@@ -187,17 +188,57 @@ public class MultilingualContentServiceImplTest extends AbstractMultilingualTest
|
|||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public void testCreateEmptyTranslation() throws Exception
|
public void testCreateEmptyTranslation() throws Exception
|
||||||
{
|
{
|
||||||
NodeRef chineseContentNodeRef = createContent();
|
NodeRef chineseContentNodeRef = createContent("Document.txt");
|
||||||
NodeRef mlContainerNodeRef = multilingualContentService.makeTranslation(chineseContentNodeRef, Locale.CHINESE);
|
NodeRef mlContainerNodeRef = multilingualContentService.makeTranslation(chineseContentNodeRef, Locale.CHINESE);
|
||||||
|
|
||||||
NodeRef empty = multilingualContentService.addEmptyTranslation(chineseContentNodeRef, "" + System.currentTimeMillis(), Locale.CANADA);
|
// This should use the pivot language
|
||||||
|
NodeRef emptyNodeRef = multilingualContentService.addEmptyTranslation(mlContainerNodeRef, "Document.txt", Locale.CANADA);
|
||||||
|
|
||||||
// Ensure that the empty translation is not null
|
// Ensure that the empty translation is not null
|
||||||
assertNotNull("The creation of the empty document failed ", empty);
|
assertNotNull("The creation of the empty document failed ", emptyNodeRef);
|
||||||
// Ensure that the empty translation has the mlDocument aspect
|
// Ensure that the empty translation has the mlDocument aspect
|
||||||
assertTrue("The empty document must have the mlDocument aspect", nodeService.hasAspect(empty, ContentModel.ASPECT_MULTILINGUAL_DOCUMENT));
|
assertTrue("The empty document must have the mlDocument aspect",
|
||||||
|
nodeService.hasAspect(emptyNodeRef, ContentModel.ASPECT_MULTILINGUAL_DOCUMENT));
|
||||||
// Ensure that the empty translation has the mlEmptyTranslation aspect
|
// Ensure that the empty translation has the mlEmptyTranslation aspect
|
||||||
assertTrue("The empty document must have the mlEmptyTranslation aspect", nodeService.hasAspect(empty, ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION));
|
assertTrue("The empty document must have the mlEmptyTranslation aspect",
|
||||||
|
nodeService.hasAspect(emptyNodeRef, ContentModel.ASPECT_MULTILINGUAL_EMPTY_TRANSLATION));
|
||||||
|
// Check that the auto renaming worked
|
||||||
|
String emptyName = DefaultTypeConverter.INSTANCE.convert(String.class,
|
||||||
|
nodeService.getProperty(emptyNodeRef, ContentModel.PROP_NAME));
|
||||||
|
assertEquals("Empty auto-rename didn't work for same-named document", "Document_en_CA.txt", emptyName);
|
||||||
|
|
||||||
|
// Check that the content is identical
|
||||||
|
ContentData chineseContentData = fileFolderService.getReader(chineseContentNodeRef).getContentData();
|
||||||
|
ContentData emptyContentData = fileFolderService.getReader(emptyNodeRef).getContentData();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testCreateEmptyTranslationNames() throws Exception
|
||||||
|
{
|
||||||
|
NodeRef chineseContentNodeRef = createContent("Document.txt");
|
||||||
|
NodeRef mlContainerNodeRef = multilingualContentService.makeTranslation(chineseContentNodeRef, Locale.CHINESE);
|
||||||
|
NodeRef koreanContentNodeRef = createContent("Document_ko.txt");
|
||||||
|
multilingualContentService.addTranslation(koreanContentNodeRef, chineseContentNodeRef, Locale.KOREAN);
|
||||||
|
// Create with a null name, and off a non-pivot just to be sure
|
||||||
|
NodeRef nullNameNodeRef = multilingualContentService.addEmptyTranslation(
|
||||||
|
koreanContentNodeRef,
|
||||||
|
null,
|
||||||
|
Locale.CANADA);
|
||||||
|
String nullName = fileFolderService.getFileInfo(nullNameNodeRef).getName();
|
||||||
|
assertEquals("Empty translation name not generated correctly.", "Document_en_CA.txt", nullName);
|
||||||
|
// Create with the same name
|
||||||
|
NodeRef sameNameNodeRef = multilingualContentService.addEmptyTranslation(
|
||||||
|
mlContainerNodeRef,
|
||||||
|
"Document.txt",
|
||||||
|
Locale.CANADA_FRENCH);
|
||||||
|
String sameName = fileFolderService.getFileInfo(sameNameNodeRef).getName();
|
||||||
|
assertEquals("Empty translation name not generated correctly.", "Document_fr_CA.txt", sameName);
|
||||||
|
// Create with a different name
|
||||||
|
NodeRef differentNameNodeRef = multilingualContentService.addEmptyTranslation(
|
||||||
|
mlContainerNodeRef,
|
||||||
|
"Document2.txt",
|
||||||
|
Locale.JAPANESE);
|
||||||
|
String differentName = fileFolderService.getFileInfo(differentNameNodeRef).getName();
|
||||||
|
assertEquals("Empty translation name not generated correctly.", "Document2.txt", differentName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
|
@@ -46,7 +46,6 @@ import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
|||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.repository.NodeService;
|
import org.alfresco.service.cmr.repository.NodeService;
|
||||||
import org.alfresco.service.cmr.repository.StoreRef;
|
import org.alfresco.service.cmr.repository.StoreRef;
|
||||||
import org.alfresco.service.cmr.security.AccessStatus;
|
|
||||||
import org.alfresco.service.cmr.security.AuthenticationService;
|
import org.alfresco.service.cmr.security.AuthenticationService;
|
||||||
import org.alfresco.service.cmr.security.OwnableService;
|
import org.alfresco.service.cmr.security.OwnableService;
|
||||||
import org.alfresco.service.cmr.security.PermissionService;
|
import org.alfresco.service.cmr.security.PermissionService;
|
||||||
|
@@ -164,12 +164,20 @@ public interface MultilingualContentService
|
|||||||
NodeRef getPivotTranslation(NodeRef nodeRef);
|
NodeRef getPivotTranslation(NodeRef nodeRef);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make a empty translation out of an existing document. The necessary translation structures will be created
|
* Make a empty translation out of an existing pivot translation. The given translation or
|
||||||
* as necessary.
|
* container will be used to find the pivot translation. Failing this, the given translation
|
||||||
|
* will be used directly. If no name is provided or if the name is the same as the original's
|
||||||
|
* then the locale will be added to the main portion of the filename, i.e.
|
||||||
|
* <pre>
|
||||||
|
* Document.txt --> Document_fr.txt
|
||||||
|
* </pre>
|
||||||
|
* <p/>
|
||||||
|
* The necessary translation structures will be created as necessary.
|
||||||
*
|
*
|
||||||
* @param translationOfNodeRef An existing <b>cm:mlDocument</b> or <b>cm:mlContainer</b>
|
* @param translationOfNodeRef An existing <b>cm:mlDocument</b> or <b>cm:mlContainer</b>
|
||||||
* @param name The name of the translation to create
|
* @param name The name of the file to create, or <tt>null</tt> to use
|
||||||
* @return Returns the new created <b>cm:mlEmptyTranslation</b>
|
* the default naming convention.
|
||||||
|
* @return Returns the new created <b>cm:mlEmptyTranslation</b>
|
||||||
*/
|
*/
|
||||||
@Auditable(key = Auditable.Key.ARG_0, parameters = {"translationOfNodeRef", "name", "locale"})
|
@Auditable(key = Auditable.Key.ARG_0, parameters = {"translationOfNodeRef", "name", "locale"})
|
||||||
NodeRef addEmptyTranslation(NodeRef translationOfNodeRef, String name, Locale locale);
|
NodeRef addEmptyTranslation(NodeRef translationOfNodeRef, String name, Locale locale);
|
||||||
|
Reference in New Issue
Block a user