Jump to content

Commons:Translation possible/Learn more

From Wikimedia Commons, the free media repository

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 powerful are SVGs

[edit]
  • SVGs produce nice images you can zoom in, with a high level of precision and without losing definition:
  • SVGs can hold different text translations within the same file; the following images use the same image file, but the text depends on the context. The first image uses the language of the page dynamically. The second image is forced to display its text in English (of course, there is no difference with the first image if the page is already in English). The remaining images additionally show examples in French and German, respectively (using the same image file):

How do I edit SVGs?

[edit]

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 instead of text when creating or generating a SVG (with some justified exceptions).

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.)

Multiple translations within one SVG file (preferred method)

[edit]

Shortcut
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...
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 multi-language translations in SVG files larger than 5MB may 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)".

CSS can be added to globally scale text for verbose or concise translations,[2] such as:[3]

 <style type="text/css">
text[systemLanguage="es" i] { font-size: 80%; }
text[systemLanguage="zh" i] { font-size:125%; }
 </style>

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").[4]

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.

How to place new monolingual 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.

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

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).

Using numbers instead of labels

[edit]
An example of an image with few labels.

On images with few labels, an alternative to either many translated files, or a multilingual SVG file, 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. File:Robal.png or File:Insect anatomy diagram.svg 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, File:ISS configuration sep-2006 en.svg has English labels, and a version with numeric labels File: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.

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!

See also

[edit]

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. http://commons.wikimedia.org/w/index.php?title=Commons:Graphic_Lab/Illustration_workshop&diff=prev&oldid=1077344410
  3. The i makes the language code case-insensitive.
  4. 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.