Commons:Translation possible/Learn more: Difference between revisions

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
Content deleted Content added
added a shortcut
m Reverted edits by 168.181.51.174 (talk) to last revision by Bawolff
Tags: Rollback Mobile edit Mobile web edit Advanced mobile edit
 
(10 intermediate revisions by 10 users not shown)
Line 64: Line 64:
You can place multiple translations into one SVG file using the SVG <code><nowiki><switch></nowiki></code> element. The resulting multilingual file has the advantage of sharing graphics; if the graphics are updated, then all the languages get the updated graphics. Compare to having several translated files; an update to one of the files does not propagate to the other language versions.
You can place multiple translations into one SVG file using the SVG <code><nowiki><switch></nowiki></code> element. The resulting multilingual file has the advantage of sharing graphics; if the graphics are updated, then all the languages get the updated graphics. Compare to having several translated files; an update to one of the files does not propagate to the other language versions.


However, not all graphics editors can edit the text contained in the <code>switch</code> element. In such cases, a graphics editor may still be used to edit the text positions and sizes (such as in [[:en:Inkscape|Inkscape]]), and [[Commons:SVG Translate tool|the SVG Translate tool]] at Commons can be used to add translations, and most separate text editors can be used to make changes to the texts throughout the multiple languages. Loading an SVG file with <code>switch</code> translations into a graphics editor and then saving it may remove all the translations. Please note that currently multi-language translations in SVG files larger than 256kB do not render properly due to a [[phab:T270889|bug]].
However, not all graphics editors can edit the text contained in the <code>switch</code> element. In such cases, a graphics editor may still be used to edit the text positions and sizes (such as in [[:en:Inkscape|Inkscape]]), and [[Commons:SVG Translate tool|the SVG Translate tool]] at Commons can be used to add translations, and most separate text editors can be used to make changes to the texts throughout the multiple languages. Loading an SVG file with <code>switch</code> translations into a graphics editor and then saving it may remove all the translations. Please note that currently multi-language translations in SVG files larger than 5MB do not render properly due to a [[phab:T270889|bug]].


It is advisable to give an extra margin for text contained in images with <code>switch</code> elements, in order to allow for current or future languages that need more letters.
It is advisable to give an extra margin for text contained in images with <code>switch</code> elements, in order to allow for current or future languages that need more letters.
Line 115: Line 115:


== Language codes ==
== Language codes ==
SVG files use [[w:IETF language tag|IETF language tags]] to specify languages. They are often referred to as BCP 47 language tags, but BCP 47 is the combination of IETF RFC 5646 and RFC 4647. The Wikimedia Foundation uses language identifiers that usually match IETF langtags, but there are some differences. For example, the IETF language tag <code>als</code> is for Tosk Albanian, but Wikimedia uses that tag for Alemannisch (which IETF represents as <code>gsw</code>). Please be aware of the distinction and use IETF language tags (not MediaWiki anguage identifiers) in SVG files.
SVG files use [[w:IETF language tag|IETF language tags]] to specify languages. They are often referred to as BCP 47 language tags, but BCP 47 is the combination of IETF RFC 5646 and RFC 4647. The Wikimedia Foundation uses language identifiers that usually match IETF langtags, but there are some differences. For example, the IETF language tag <code>als</code> is for Tosk Albanian, but Wikimedia uses that tag for Alemannisch (which IETF represents as <code>gsw</code>). Simple English is <code>simple</code> in Wikimedia but <code>en-simple</code> in IETF. Please be aware of the distinction and use IETF language tags (not MediaWiki language identifiers) in SVG files.
<div class="mw-collapsible mw-collapsed" style="border: 3px solid black;">
<div class="mw-collapsible mw-collapsed" style="border: 3px solid black;">
<div class="mw-collapsible-toggle" style="cursor:pointer; float:none">Click here to show a list of all WikiMedia language codes supported:</div>
<div class="mw-collapsible-toggle" style="cursor:pointer; float:none">Click here to show a list of all WikiMedia language codes supported:</div>

Latest revision as of 16:03, 3 May 2024

Shortcut: COM:TPLM català | čeština | Deutsch | English | español | Esperanto | فارسی | français | galego | עברית | hrvatski | italiano | 日本語 | 한국어 | македонски | polski | português | русский | Tiếng Việt | 中文(繁體) | 中文(简体) | +/−

How to translate an SVG file

[edit]

This page explains how to translate inside labels or captions in an SVG file. You are probably here because someone tagged an image with {{Translate}}. Please note that this template and its related pages is a one-man idea. If you have questions or comments about it, please use the template discussion page.

What is SVG?

[edit]

SVG is an image file format that consists of plain XML text. Therefore the text labels stored in it can be easily translated. For more information about SVG or XML, please use the links. There are Wikipedia articles in many languages.

How do I edit SVGs?

[edit]
An example of a simple SVG with translations in one file. Go to file's page and render this text in English, German, French, Spanish...

There are different ways to translate text in SVG:

  • Use a graphics editor such as Inkscape. For compatibility, save the file as "Plain SVG", not "Inkscape SVG", as the latter format may introduce errors, even though it complies with the SVG specification.
  • Edit the SVG file as a text file.

For editing image in any offline editor, first download the file you want to edit, open the file in the editor, translate the labels, and then save it. When finished, upload the file to Commons under a new name.

Text editing

[edit]

Note that instead of using a graphics editor, you can use any text editor capable of using UTF-8. Find text to translate by searching for <text> tags. In some cases this might be a path for more advanced users as text coordinates adjustments might be needed and some more advanced "garbage" might decrease readability of the SVG.

Preparing a file for translation

[edit]

Using real text

[edit]
Main gallery: Template:Path text SVG.

Only real text, in the form of the SVG <text> element, can be translated. Do not use paths in place of text.

Anchoring the text correctly

[edit]

To make sure text placement "just work" in the translated versions, you should properly use the anchoring functionality of the SVG format and your editor. In most editors (including Inkscape), the function is decided by the typographic alignment option. Anchoring decides how the position of the text is specified. Anchoring to the center means the coordinates specified is the center of the text, and is used in most editors for centering.

By saying "properly use", we mean that the way you anchor it matches the actual design intentions. For example, to center some text on a pyramid, you use the centering anchor while putting the anchor point itself at the middle of the shape. To position a label for something on its right, use the "end" (right-hand-side) anchor. The "align and distribute" option in Inkscape DOES NOT change your anchoring options; it only moves the elements around.

(Yes, the "end" anchor is only on the right for left-to-right languages. A translation tool should probably invert it for RTL languages.)

Using numbers instead of labels

[edit]
Image:Robal.png. An example of a image with few labels.

On images with few labels, an alternative is to have only one file with numeric labels in it and a table below, with different translations, and there is thus a single image that can be used for all languages. Image:Robal.png is a good example.

If you think this image will be better with numbers instead of translated text, you can change {{Translate}} template to {{Convert to international}} or make numbers yourself.

For instance, Image:ISS configuration sep-2006 en.svg has English labels, and a version with numeric labels Image:ISS configuration sep-2006 numbers.svg was created by replacing the labels in the English version. But it's still not fully internationalized, because title and date are still written in the image in English.

How to place new language version in Commons

[edit]

When creating a translated version of an SVG file, it should be saved using the filename of the original file with an IETF langtag suffix. See Commons:File naming. For example, File:Gibraltar map-en.svg is the English version of File:Gibraltar map.svg.

For linking different versions of file one to another, use "other versions" templates like all in Category:Other_versions_templates. Copy one of them and use in your image.

Using the template creates a gallery of the different language versions:

[edit]
Disputed isthmus and land

Also the template {{Derived from}} will be useful to display link to original version of your localized image.

Multiple translations within one SVG file

[edit]
Shortcut
An example of a simple SVG with translations in one file. See the description page for details
Similar example with arrows

You can place multiple translations into one SVG file using the SVG <switch> element. The resulting multilingual file has the advantage of sharing graphics; if the graphics are updated, then all the languages get the updated graphics. Compare to having several translated files; an update to one of the files does not propagate to the other language versions.

However, not all graphics editors can edit the text contained in the switch element. In such cases, a graphics editor may still be used to edit the text positions and sizes (such as in Inkscape), and the SVG Translate tool at Commons can be used to add translations, and most separate text editors can be used to make changes to the texts throughout the multiple languages. Loading an SVG file with switch translations into a graphics editor and then saving it may remove all the translations. Please note that currently multi-language translations in SVG files larger than 5MB do not render properly due to a bug.

It is advisable to give an extra margin for text contained in images with switch elements, in order to allow for current or future languages that need more letters.

Coding

[edit]

When you have a <switch> element, its children (sub-elements) represent possible choices. The children of the switch should have a systemLanguage attribute that specifies the language(s).[1] SVG sequentially looks at each child; if there is a systemLanguage attribute and it does not match, SVG moves on to the next child. If the systemLanguage attribute matches or is not present, then SVG renders that child and does not look further. Omitting the systemLanguage attribute from the last child will implement a default rendering.

Note: The order is important! All children following the child with the omitted systemLanguage are ignored and have no effect!

<switch transform="translate(100,200)">
  <text systemLanguage="en">Population pyramid of Russia (2010)</text>
  <text systemLanguage="de">Alterspyramide von Russland (2010)</text>
  <text systemLanguage="ru">Половозрастная диаграмма России (2010)</text>
  <text>Population pyramid of Russia (2010)</text>
</switch>

Even if the default rendering is English, it is good practice to place an explicit systemLanguage="en" with the same text. The language matching rules can give unexpected behavior when the file is opened in a browser configured for multiple languages. If the languages do not follow the same sequence in each switch, then a browser may display a mix of languages. In addition, the language matching rules will change in SVG 2.0.

You can also have a systemLanguage attribute on an element that is not a child of a switch element. In this case the element will only be rendered if the language matches. Otherwise the element in question will not be displayed.

Currently, only a few graphical editors support language switches in SVG, so you may need to edit the SVG file with a text editor. The SVG Translate may be used if the SVG file follows specific conventions.

The different text translations will have different lengths, so the text anchor point should be chosen carefully. The text-anchor attribute can be set to start (left justified in most languages), middle (centered), or end (right justified). The text elements default to x="0" and y="0", so the switch element can set the text anchor point with transform="translate(100,200)".

When rendering a multi-lingual SVG image on a MediaWiki page, the language to use can be specified using syntax like [[File:SystemLanguage.svg|lang=de]]. The attribute "lang" is optional; if it is missing, MediaWiki will attempt to use the wiki's default language or fallback to English ("en").[2]

Note: If a switch element has an English-language clause (systemLanguage="en") and a default language clause (no systemLanguage attribute), then MediaWiki will display the English-language clause.

Setting up multiple translations within one SVG file with Inkscape

[edit]

Inkscape does not support the addition of language switches, but they are recognized as a "Conditional Group". Editing with text editor is required. To start using the switch element in Inkscape, the following steps are:

  1. Always, in a new drawing, you need to add the two tags of <switch>...</switch>. In a new drawing, or in a previous localized drawing, you will have to add the items (usually text to localize) between these two tags and with systemLanguage assigned.
  2. In drawings that use labels and arrows, it can often happen that (depending on the language) the labels and arrows position is not the most appropriate. You can correct it, after the previous step, directly with Inkscape. But if you need to change the text or arrows of a language that is not what Inkscape has configured, you must first change the Inkscape interface. To change the language of the Inkscape interface: from the menu bar, select "Edit|Preferences..."; then in the opened window, in the second group ("Interface") change the language. You can look at the code from the last example, above (SystemLanguageArrows.svg). Note: In the examples, the ID names of the objects have been changed in order to be followed more easily.
  3. For the previous changes, you must be careful about the changes you make, otherwise Inkscape will not show what you want. If this is the first time you do it, first try changing the examples above. Sometimes the Inkscape XML editor ("Edit|XML Editor...") can be useful for you to find an error in your changes.

Viewing

[edit]

Most browsers support viewing SVG files with switch elements. The browser will display the languages according to the browser's default language settings. If one wants to view a different language, then change the language of the browser and restart it.

Another way of viewing the file is to upload it to File:Test.svg and select the desired language from the dropdown list.

See also

[edit]

Language codes

[edit]

SVG files use IETF language tags to specify languages. They are often referred to as BCP 47 language tags, but BCP 47 is the combination of IETF RFC 5646 and RFC 4647. The Wikimedia Foundation uses language identifiers that usually match IETF langtags, but there are some differences. For example, the IETF language tag als is for Tosk Albanian, but Wikimedia uses that tag for Alemannisch (which IETF represents as gsw). Simple English is simple in Wikimedia but en-simple in IETF. Please be aware of the distinction and use IETF language tags (not MediaWiki language identifiers) in SVG files.

Click here to show a list of all WikiMedia language codes supported:
List of languages supported on Wikimedia Commons.
Code Language name (in English) Native language name
nrSouth NdebeleisiNdebele seSewula
hak-hantHakka (Traditional Han script)客家語(繁體)
afAfrikaansAfrikaans
agqAghemAghem
hak-hansHakka (Simplified Han script)客家语(简体)
tigTigreትግሬ
ccpChakma𑄌𑄋𑄴𑄟𑄳𑄦
gswAlemannicAlemannisch
acfSaint Lucian CreoleKwéyòl Sent Lisi
akAkanAkan
bgcHaryanviहरियाणवी
hkeHundekihunde
smaSouthern Samiåarjelsaemien
isv-cyrlInterslavic (Cyrillic script)меджусловјанскы
luaLuba-Luluaciluba
cdo-latnMindong (Latin script)Mìng-dĕ̤ng-ngṳ̄ (Bàng-uâ-cê)
hak-latnHak-kâ-ngî (Pha̍k-fa-sṳ)Hak-kâ-ngî (Pha̍k-fa-sṳ)
nan-latn-pehoejiMinnan (Pe̍h-ōe-jī)Bân-lâm-gú (Pe̍h-ōe-jī)
isv-latnInterslavic (Latin script)medžuslovjansky
aceAcehneseAcèh
cdo-hantMindong (Traditional Han script)閩東語(傳統漢字)
kncCentral KanuriYerwa Kanuri
ibaIbanJaku Iban
angOld EnglishÆnglisc
nan-latn-tailoMinnan (Tâi-lô)Bân-lâm-gú (Tâi-lô)
nupNupeNupe
alsAlemannischAlemannisch
en-usAmerican EnglishAmerican English
aseAmerican Sign LanguageAmerican sign language
smnInari Samianarâškielâ
anAragonesearagonés
bkhBakakoBakoko
brhBrahuiBráhuí
etEstonianeesti
foFaroeseføroyskt
idIndonesianBahasa Indonesia
biBislamaBislama
eoEsperantoEsperanto
map-bmsBanyumasanBasa Banyumasan
frpArpitanarpetan
hsbUpper Sorbianhornjoserbsce
ioIdoIdo
naNauruDorerin Naoero
brBretonbrezhoneg
rnRundiikirundi
hrCroatianhrvatski
emlEmiliano-Romagnoloemiliàn e rumagnòl
frFrenchfrançais
bsBosnianbosanski
hilHiligaynonIlonggo
csCzechčeština
ikInupiaqIñupiatun
dagDagbanidagbanli
etuEjaghamEjagham
snShonachiShona
bbc-latnBatak Toba (Latin script)Batak Toba
en-gbBritish EnglishBritish English
duaDualaDuala
euBasqueeuskara
ibbIbibioibibio
gaIrishGaeilge
gpeGhanaian PidginGhanaian Pidgin
nvNavajoDiné bizaad
se-noNorthern Sami (Norway)davvisámegiella (Norgga bealde)
se-seNorthern Sami (Sweden)davvisámegiella (Ruoŧa bealde)
nyNyanjaChi-Chewa
bugBugineseBasa Ugi
enEnglishEnglish
cnhHakha-ChinHakha Chin
bewBetawiBetawi
gaaGaGa
iloIlokoIlokano
smSamoanGagana Samoa
banBalineseBasa Bali
frcCajun Frenchfrançais cadien
gagGagauzGagauz
bjnBanjarBanjar
msMalayBahasa Melayu
esSpanishespañol
caCatalancatalà
roa-rupAromanianarmãneashti
igIgboIgbo
guwGungungbe
gom-latnGoan Konkani (Latin script)Gõychi Konknni
gvManxGaelg
astAsturianasturianu
bmBambarabamanankan
efiEfikEfịk
rupAromanianarmãneashti
gdScottish GaelicGàidhlig
absAmbonese Malaybahasa ambon
dsbLower Sorbiandolnoserbski
en-caCanadian EnglishCanadian English
btmBatak MandailingBatak Mandailing
hif-latnFiji Hindi (Latin script)Fiji Hindi
es-formalSpanish (formal address)español (formal)
etoEtonEton
cpsCapiznonCapiceño
glGaliciangalego
bclCentral BikolBikol Central
coCorsicancorsu
rwKinyarwandaIkinyarwanda
zh-min-nanMinnanBân-lâm-gú
gurFrafrafarefare
dgaDagaareDagaare
seNorthern Samidavvisámegiella
barBavarianBoarisch
seiSeriCmique Itom
extExtremaduranestremeñu
se-fiNorthern Sami (Finland)davvisámegiella (Suoma bealde)
hoHiri MotuHiri Motu
hrxHunsrikHunsrik
iglIgalaIgala
ewoEwondoEwondo
es-419Latin American Spanishespañol de América Latina
eglEmilianEmiliàn
baxBamunBamum
kgeKomeringKumoring
basBasaaBasaa
fonFonfɔ̀ngbè
haHausaHausa
iaInterlinguainterlingua
pdcPennsylvania GermanDeitsch
ieInterlingueInterlingue
daDanishdansk
chnChinook Jargonchinuk wawa
fmpFe'Fe'Fe'fe
ike-latnEastern Canadian (Latin script)inuktitut
deGermanDeutsch
gnGuaraniAvañe'ẽ
bbcBatak TobaBatak Toba
eeEweeʋegbe
kiKikuyuGĩkũyũ
ksfBafiaBafia
dtpCentral DusunKadazandusun
bbjGhomalaGhomála
chChamorroChamoru
sjePite Samibidumsámegiella
vmwMakhuwaemakhuwa
wlsWallisianFakaʻuvea
cebCebuanoCebuano
muiMusiBaso Palembang
cbk-zamChavacanoChavacano de Zamboanga
alnGheg AlbanianGegë
de-formalGerman (formal address)Deutsch (Sie-Form)
tumTumbukachiTumbuka
mhMarshalleseEbon
bfdBafutBafut
choChoctawChahta anumpa
ayAymaraAymar aru
bkcBakaBaka
gyaGbayaGbaya
atjAtikamekwAtikamekw
azAzerbaijaniazərbaycanca
hifFiji HindiFiji Hindi
fyWestern FrisianFrysk
gorGorontaloBahasa Hulontalo
furFriulianfurlan
cyWelshCymraeg
ffFulaFulfulde
bdrWest Coast BajauBajau Sama
hawHawaiianHawaiʻi
aaeArbëreshArbërisht
btoIriga BicolanoIriga Bicolano
xhXhosaisiXhosa
zuZuluisiZulu
isIcelandicíslenska
isuIsuIsu
itItalianitaliano
jvJavaneseJawa
smjLule Samijulevsámegiella
jutJutishjysk
rmfFinnish Kalokaalengo tšimb
kbpKabiyeKabɩyɛ
keaKabuverdianukabuverdianu
klKalaallisutkalaallisut
krKanurikanuri
pamPampangaKapampangan
cakKaqchikelKaqchikel
kaiKarekareKarai-karai
krlKareliankarjal
csbKashubiankaszëbsczi
kerKeraKera
kwCornishkernowek
krjKinaray-aKinaray-a
kiuKirmanjkiKırmancki
swSwahiliKiswahili
bkmKomKom
kgKongoKongo
avkKotavaKotava
htHaitian CreoleKreyòl ayisyen
sesKoyraboro SenniKoyraboro Senni
kriKrioKrio
gcfGuadeloupean Creolekréyòl Gwadloup
gcrGuianan Creolekriyòl gwiyannen
kusKusaalKʋsaal
kuKurdishkurdî
ku-latnKurdish (Latin script)kurdî (latînî)
fkvKvenskkvääni
kjKuanyamaKwanyama
nmgKwasioKwasio
jboLojbanla .lojban.
lldLadinLadin
ladLadinoLadino
lnsLamnso'Lamnso
ltgLatgalianlatgaļu
laLatinLatina
lvLatvianlatviešu
lzzLazLazuri
toTonganlea faka-Tonga
lbLuxembourgishLëtzebuergesch
niaNiasLi Niha
ltLithuanianlietuvių
liLimburgishLimburgs
lijLigurianLigure
lnLingalalingála
lfnLingua Franca NovaLingua Franca Nova
livLivonianLīvõ kēļ
oloLivvi-Karelianlivvinkarjala
lmoLombardlombard
lgGandaLuganda
madMadureseMadhurâ
huHungarianmagyar
hu-formalHungarian (formal address)magyar (formal)
vmfMain-FranconianMainfränkisch
mcpMakaMaka
mgMalagasyMalagasy
mtMalteseMalti
mnc-latnManchu (Latin script)manju gisun
miMāoriMāori
mrhMaraMara
arnMapuchemapudungun
fitTornedalen Finnishmeänkieli
srqSirionómbia cheë
byvMedumbaMedumba
fatFantimfantse
minMinangkabauMinangkabau
mwlMirandeseMirandés
lusMizoMizo ţawng
bqzMka'aMka'a
mosMossimoore
muaMundangMundang
musMuscogeeMvskoke
fjFijianNa Vosa Vakaviti
nahNahuatlNāhuatl
pcmNigerian PidginNaijá
napNeapolitanNapulitano
nmzNawdmnawdm
nnzNda'Nda'Nda'nda
nlDutchNederlands
nl-informalDutch (informal address)Nederlands (informeel)
nds-nlLow SaxonNedersaksies
crCreeNēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ
nnhNgiemboonNgiemboon
nlaNgombalaNgombala
ngeNgémbaNgémba
yrlNheengatuNhẽẽgatú
niuNiueanNiuē
lemNomaandeNomaande
frrNorthern FrisianNordfriisk
pihNorfuk / PitkernNorfuk / Pitkern
nbNorwegian Bokmålnorsk bokmål
noNorwegiannorsk
nnNorwegian Nynorsknorsk nynorsk
rmcCarpathian Romaniromaňi čhib
vepVepsvepsän kel’
be-taraskBelarusian (Taraškievica orthography)беларуская (тарашкевіца)
luzSouthern Luriلئری دوٙمینی
wesPidgin (Cameroon)Pidgin (Cameroon)
boTibetanབོད་ཡིག
nsoNorthern SothoSesotho sa Leboa
kk-kzKazakh (Kazakhstan)қазақша (Қазақстан)
aryMoroccan Arabicالدارجة
tokToki Ponatoki pona
shy-latnShawiya (Latin script)tacawit
kk-cnKazakh (China)قازاقشا (جۇنگو)
arzEgyptian Arabicمصرى
roRomanianromână
pntPonticΠοντιακά
crh-latnCrimean Tatar (Latin script)qırımtatarca (Latin)
soSomaliSoomaaliga
sqAlbanianshqip
moMoldovanмолдовеняскэ
tpiTok PisinTok Pisin
ndsLow GermanPlattdüütsch
arArabicالعربية
loLaoລາວ
koKorean한국어
crhCrimean Tatarqırımtatarca
truTuroyoṪuroyo
srSerbianсрпски / srpski
altSouthern Altaiалтай тил
bnBanglaবাংলা
anpAngikaअंगिका
lrcNorthern Luriلۊری شومالی
yiYiddishייִדיש
kk-latnKazakh (Latin script)qazaqşa (latın)
orOdiaଓଡ଼ିଆ
inhIngushгӀалгӀай
mrMarathiमराठी
mncManchumanju gisun
tnTswanaSetswana
mnMongolianмонгол
apcLevantine Arabicشامي
vroVõrovõro
knKannadaಕನ್ನಡ
urUrduاردو
pnbWestern Punjabiپنجابی
stySiberian Tatarсебертатар
nqoN’Koߒߞߏ
kk-trKazakh (Turkey)qazaqşa (Türkïya)
amAmharicአማርኛ
mhrEastern Mariолык марий
gotGothic𐌲𐌿𐍄𐌹𐍃𐌺
gom-devaGoan Konkani (Devanagari script)गोंयची कोंकणी
qugChimborazo Highland QuichuaRuna shimi
ssSwatiSiSwati
rmRomanshrumantsch
nrmNormanNouormand
omOromoOromoo
nodNorthern Thaiᨣᩤᩴᨾᩮᩬᩥᨦ
kmKhmerភាសាខ្មែរ
arcAramaicܐܪܡܝܐ
psPashtoپښتو
mniManipuriꯃꯤꯇꯩ ꯂꯣꯟ
osOsseticирон
hsnXiang湘語
novNovialNovial
crh-roDobrujan Tatartatarşa
ksKashmiriकॉशुर / کٲشُر
yoYorubaYorùbá
voVolapükVolapük
tyTahitianreo tahiti
sh-cyrlSerbo-Croatian (Cyrillic script)српскохрватски (ћирилица)
newNewariनेपाल भाषा
slSlovenianslovenščina
tlTagalogTagalog
zh-twChinese (Taiwan)中文(臺灣)
chrCherokeeᏣᎳᎩ
zh-sgChinese (Singapore)中文(新加坡)
plPolishpolski
mlMalayalamമലയാളം
sdSindhiسنڌي
tt-latnTatar (Latin script)tatarça
votVoticVaďďa
zh-myChinese (Malaysia)中文(马来西亚)
zh-moChinese (Macau)中文(澳門)
skr-arabSaraiki (Arabic script)سرائیکی
yue-hantCantonese (Traditional Han script)粵語(繁體)
elGreekΕλληνικά
ku-arabKurdish (Arabic script)کوردی (عەرەبی)
nan-haniMinnan (Han script)閩南語
ruRussianрусский
zh-hansSimplified Chinese中文(简体)
tzmCentral Atlas Tamazightⵜⴰⵎⴰⵣⵉⵖⵜ
warWarayWinaray
zghStandard Moroccan Tamazightⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ
shnShanၽႃႇသႃႇတႆး
tg-cyrlTajik (Cyrillic script)тоҷикӣ
bgnWestern Balochiروچ کپتین بلوچی
zeaZeelandicZeêuws
yue-hansCantonese (Simplified Han script)粵语(简体)
teTeluguతెలుగు
ryuOkinawan沖縄口
wuu-hansWu (Simplified Han script)吴语(简体)
ybbYembaYemba
yasNugunuNugunu
xsySaisiyatsaisiyat
xmfMingrelianმარგალური
neNepaliनेपाली
aeb-latnTunisian Arabic (Latin script)Tûnsî
wuu-hantWu (Traditional Han script)吳語(正體)
wuuWu吴语
beBelarusianбеларуская
woWolofWolof
bat-smgSamogitianžemaitėška
zh-cnChinese (China)中文(中国大陆)
ceChechenнохчийн
uzUzbekoʻzbekcha / ўзбекча
nyoNyoroOrunyoro
cpx-latnPuxian (Latin script)Pó-sing-gṳ̂ (Báⁿ-uā-ci̍)
otaOttoman Turkishلسان عثمانى
asAssameseঅসমীয়া
bhoBhojpuriभोजपुरी
viVietnameseTiếng Việt
vecVenetianvèneto
veVendaTshivenda
uz-latnUzbek (Latin script)oʻzbekcha
mnwMonဘာသာမန်
uz-cyrlUzbek (Cyrillic script)ўзбекча
ukUkrainianукраїнська
ug-latnUyghur (Latin script)Uyghurche
ug-arabUyghur (Arabic script)ئۇيغۇرچە
dzDzongkhaཇོང་ཁ
udmUdmurtудмурт
tyvTuvinianтыва дыл
ckbCentral Kurdishکوردی
hzHereroOtsiherero
rutRutulмыхаӀбишды
pt-brBrazilian Portugueseportuguês do Brasil
twTwiTwi
tvuTunenTunen
ttjTooroOrutooro
tt-cyrlTatar (Cyrillic script)татарча
ms-arabMalay (Jawi script)بهاس ملايو
trvTarokoSeediq
ruq-cyrlMegleno-Romanian (Cyrillic script)Влахесте
vutVuteVute
nynNyankolerunyankore
shiTachelhitTaclḥit
trTurkishTürkçe
shyShawiyatacawit
thThaiไทย
zaZhuangVahcuengh
tcyTuluತುಳು
myBurmeseမြန်မာဘာသာ
yueCantonese粵語
kyKyrgyzкыргызча
dtyDoteliडोटेली
ugUyghurئۇيغۇرچە / Uyghurche
gucWayuuwayuunaiki
sgSangoSängö
tgTajikтоҷикӣ
ojbNorthwestern OjibwaOjibwemowin
de-chSwiss High GermanSchweizer Hochdeutsch
ngNdongaOshiwambo
svSwedishsvenska
annOboloObolo
hyArmenianհայերեն
suSundaneseSunda
bgBulgarianбългарски
bpyBishnupriyaবিষ্ণুপ্রিয়া মণিপুরী
ady-cyrlAdyghe (Cyrillic script)адыгабзэ
tetTetumtetun
roa-taraTarantinotarandíne
ko-kpKorean (North Korea)조선말
kshColognianRipoarisch
sh-latnSerbo-Croatian (Latin script)srpskohrvatski (latinica)
szySakizayaSakizaya
sroCampidanese Sardiniansardu campidanesu
srnSranan TongoSranantongo
arqAlgerian Arabicجازايرية
sr-elSerbian (Latin script)srpski (latinica)
tlyTalyshtolışi
shSerbo-Croatiansrpskohrvatski / српскохрватски
smsSkolt Saminuõrttsääʹmǩiõll
sdhSouthern Kurdishکوردی خوارگ
sr-ecSerbian (Cyrillic script)српски (ћирилица)
pwnPaiwanpinayuanan
vlsWest FlemishWest-Vlams
kumKumykкъумукъ
cpx-hantPuxian (Traditional Han script)莆仙語(繁體)
rskPannonian Rusynруски
shi-tfngTachelhit (Tifinagh script)ⵜⴰⵛⵍⵃⵉⵜ
bhBhojpuriभोजपुरी
hnoNorthern Hindkoہندکو
nogNogaiногайша
tg-latnTajik (Latin script)tojikī
pflPalatine GermanPälzisch
mrjWestern Mariкырык мары
skrSaraikiسرائیکی
hywWestern ArmenianԱրեւմտահայերէն
fiFinnishsuomi
gomGoan Konkaniगोंयची कोंकणी / Gõychi Konknni
mnc-mongManchu (Mongolian script)ᠮᠠᠨᠵᡠ ᡤᡳᠰᡠᠨ
ks-devaKashmiri (Devanagari script)कॉशुर
simpleSimple EnglishSimple English
maiMaithiliमैथिली
hiHindiहिन्दी
iiSichuan Yiꆇꉙ
aaAfarQafár af
siSinhalaසිංහල
be-x-oldBelarusian (Taraškievica orthography)беларуская (тарашкевіца)
rueRusynрусиньскый
tiTigrinyaትግርኛ
kaGeorgianქართული
zhChinese中文
zh-classicalLiterary Chinese文言
gan-hantGan (Traditional Han script)贛語(繁體)
paPunjabiਪੰਜਾਬੀ
koiKomi-Permyakперем коми
lzhLiterary Chinese文言
sgsSamogitianžemaitėška
myvErzyaэрзянь
gan-hansGan (Simplified Han script)赣语(简体)
sylSylhetiꠍꠤꠟꠐꠤ
mkMacedonianмакедонски
mdfMokshaмокшень
sdcSassarese SardinianSassaresu
tkTurkmenTürkmençe
kswS'gaw Karenစှီၤ
skSlovakslovenčina
kcgTyapTyap
ban-baliBalinese (Balinese script)ᬩᬲᬩᬮᬶ
fiu-vrovõrovõro
kk-cyrlKazakh (Cyrillic script)қазақша (кирил)
zh-hkChinese (Hong Kong)中文(香港)
szlSilesianślůnski
ruq-latnMegleno-Romanian (Latin script)Vlăheşte
sahYakutсаха тыла
rgnRomagnolRumagnôl
kabKabyleTaqbaylit
kbdKabardianадыгэбзэ
zh-hantTraditional Chinese中文(繁體)
lezLezghianлезги
rmyVlax Romaniromani čhib
pmsPiedmontesePiemontèis
kjpEastern Pwoဖၠုံလိက်
lbeLakлакку
rifRiffianTarifit
zgh-latnStandard Moroccan Tamazight (Latin script)tamaziɣt tanawayt
kaaKara-KalpakQaraqalpaqsha
diqZazakiZazaki
qucKʼicheʼQatzijob\ʼal
satSantaliᱥᱟᱱᱛᱟᱲᱤ
cvChuvashчӑвашла
dvDivehiދިވެހިބަސް
ks-arabKashmiri (Arabic script)کٲشُر
nysNyungarNyunga
jamJamaican Creole EnglishPatois
shi-latnTachelhit (Latin script)Taclḥit
prgPrussianprūsiskan
ganGan贛語
kvKomiкоми
nanMinnan閩南語 / Bân-lâm-gú
scoScotsScots
gldNanaiна̄ни
ike-cansEastern Canadian (Aboriginal syllabics)ᐃᓄᒃᑎᑐᑦ
dinDinkaThuɔŋjäŋ
kjhKhakasхакас
grcAncient GreekἈρχαία ἑλληνικὴ
khwKhowarکھوار
kkKazakhқазақша
piPaliपालि
lozLoziSilozi
kk-arabKazakh (Arabic script)قازاقشا (تٴوتە)
bqiBakhtiariبختیاری
avAvaricавар
pdtPlautdietschPlautdietsch
aeb-arabTunisian Arabic (Arabic script)تونسي
pap-awPapiamento (Aruba)Papiamento
papPapiamentoPapiamentu
cdoMindong閩東語 / Mìng-dĕ̤ng-ngṳ̄
chyCheyenneTsetsêhestâhese
iuInuktitutᐃᓄᒃᑎᑐᑦ / inuktitut
acmIraqi Arabicعراقي
guGujaratiગુજરાતી
kbd-cyrlKabardian (Cyrillic script)адыгэбзэ
bxrRussia Buriatбуряад
tddTai Nueaᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ
cuChurch Slavicсловѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ
azbSouth Azerbaijaniتۆرکجه
quQuechuaRuna Simi
wyaWyandotWyandot
pcdPicardPicard
aebTunisian Arabicتونسي / Tûnsî
crh-cyrlCrimean Tatar (Cyrillic script)къырымтатарджа (Кирилл)
heHebrewעברית
lkiLakiلەکی
bccSouthern Balochiجهلسری بلوچی
nitSoutheastern Kolamiకొలామి
de-atAustrian GermanÖsterreichisches Deutsch
rkiArakaneseရခိုင်
mznMazanderaniمازِرونی
zh-yueCantonese粵語
stSouthern SothoSesotho
ttTatarтатарча / tatarça
stqSaterland FrisianSeeltersk
magMagahiमगही
tayTayalTayal
pagPangasinanPangasinan
mcnMassavùn màsànà
nan-hantMinnan (Traditional Han script)閩南語(傳統漢字)
sjdKildin Samiкӣллт са̄мь кӣлл
hakHakka Chinese客家語 / Hak-kâ-ngî
tly-cyrlTalysh (Cyrillic script)толыши
scnSiciliansicilianu
cpx-hansPuxian (Simplified Han script)莆仙语(简体)
osa-latnOsage (Latin script)Wažáže íe
taTamilதமிழ்
waWalloonwalon
awaAwadhiअवधी
cpxPuxian莆仙語 / Pó-sing-gṳ̂
ruqMegleno-RomanianVlăheşte
saSanskritसंस्कृतम्
amiAmisPangcah
ptPortugueseportuguês
jaJapanese日本語
faPersianفارسی
baBashkirбашҡортса
bagTukiTuki
walWolayttawolaytta
xalKalmykхальмг
krcKarachay-Balkarкъарачай-малкъар
yavYangbenYangben
sliLower SilesianSchläsch
glkGilakiگیلکی
bciBaouléwawle
abAbkhazianаԥсшәа
blkPa'Oပအိုဝ်ႏဘာႏသာႏ
rwrMarwari (India)मारवाड़ी
adyAdygheадыгабзэ
yatYambetaYambeta
sjuUme Samiubmejesámiengiälla
scSardiniansardu
tsTsongaXitsonga
ocOccitanoccitan

There are currently 538 supported languages (plus the language tag zxx denoting the absence of any linguistic content).

Note
SVG systemLanguage codes must be valid BCP 47 language tags (code differences).

Support this template

[edit]

You don't have to translate this part; it should be enough if this information is here in English. Users who do not yet have a version in their language will find it here, I guess.

You can support this template by translating this help page into your language and saving it as a sub-page. The template consists of three parts. For example, for the German template they are:

The template page should contain the template itself and the quick info text translated from the English template.

The help page (this page) in your language should be saved under the subject that you would use in your language, like "Learn more" (which I selected for English).

The language link template is the same for every version of this template. It contains all the links to existing language versions. Please add your language there and there, if you have created a new translation.

Thank you for your support!

Notes

[edit]
  1. You can specify multiple languages separated by a comma, in case multiple languages happen to express something the same way. See MDN page for systemLanguage.
  2. Starting in November 2018, MediaWiki tries to use the wiki's language rather than always use "en" when the file transclusion does not specify a lang parameter. Consequently, the German Wikipedia (https://de.wikipedia.org) will behave as if |lang=de were specified when systemLanguage="de" attributes are present in the SVG file.