Translation Guide

February 13, 2026 · View on GitHub

Help make Planify available in your language! This guide will walk you through creating a new translation.

Getting Started

Prerequisites

  • A text editor or translation tool (recommended: Poedit)
  • Basic understanding of your target language
  • Familiarity with Git (for contributing back)

Step 1: Choose Your Language Code

Find your language code from the table below. Use the format language_COUNTRY (e.g., es_ES for Spanish from Spain, pt_BR for Portuguese from Brazil).

Step 2: Create Your Translation File

  1. Copy an existing .po file (e.g., es.po) as a template
  2. Rename it to your language code (e.g., fr.po for French)
  3. Open the file in your preferred editor

Step 3: Update File Headers

Modify the header information in your .po file:

"Language: YOUR_LANGUAGE_CODE\n"
"Language-Team: YOUR_LANGUAGE_NAME\n"
"Last-Translator: Your Name <your.email@example.com>\n"

Step 4: Translate Strings

Translate each msgstr entry:

msgid "Hello"
msgstr "Hola"  # Replace with your translation

Translation Tips:

  • Keep UI elements concise
  • Maintain consistent terminology
  • Test special characters and accents
  • Consider context (buttons vs. descriptions)
  • Preserve placeholders like %s, %d

Step 5: Add to LINGUAS File

Add your language code to the LINGUAS file.

Step 6: Test Your Translation

  1. Build Planify with your translation
  2. Check for text overflow or layout issues
  3. Verify all strings are translated

Step 7: Submit Your Translation

  1. Fork the repository
  2. Add your .po file and update LINGUAS
  3. Create a pull request

Translation Tools

  • Poedit: User-friendly GUI editor
  • Lokalize: KDE translation tool
  • Text editors: VS Code, Vim, etc. with gettext plugins

Need Help?

  • Check existing translations for reference
  • Ask questions in GitHub issues
  • Join our community discussions

Language Codes Reference

CodeLanguage
afAfrikaans
af_NAAfrikaans (Namibia)
af_ZAAfrikaans (South Africa)
akAkan
ak_GHAkan (Ghana)
sqAlbanian
sq_ALAlbanian (Albania)
sq_XKAlbanian (Kosovo)
sq_MKAlbanian (Macedonia)
amAmharic
am_ETAmharic (Ethiopia)
arArabic
ar_DZArabic (Algeria)
ar_BHArabic (Bahrain)
ar_TDArabic (Chad)
ar_KMArabic (Comoros)
ar_DJArabic (Djibouti)
ar_EGArabic (Egypt)
ar_ERArabic (Eritrea)
ar_IQArabic (Iraq)
ar_ILArabic (Israel)
ar_JOArabic (Jordan)
ar_KWArabic (Kuwait)
ar_LBArabic (Lebanon)
ar_LYArabic (Libya)
ar_MRArabic (Mauritania)
ar_MAArabic (Morocco)
ar_OMArabic (Oman)
ar_PSArabic (Palestinian Territories)
ar_QAArabic (Qatar)
ar_SAArabic (Saudi Arabia)
ar_SOArabic (Somalia)
ar_SSArabic (South Sudan)
ar_SDArabic (Sudan)
ar_SYArabic (Syria)
ar_TNArabic (Tunisia)
ar_AEArabic (United Arab Emirates)
ar_EHArabic (Western Sahara)
ar_YEArabic (Yemen)
hyArmenian
hy_AMArmenian (Armenia)
asAssamese
as_INAssamese (India)
azAzerbaijani
az_AZAzerbaijani (Azerbaijan)
az_Cyrl_AZAzerbaijani (Cyrillic, Azerbaijan)
az_CyrlAzerbaijani (Cyrillic)
az_Latn_AZAzerbaijani (Latin, Azerbaijan)
az_LatnAzerbaijani (Latin)
bmBambara
bm_Latn_MLBambara (Latin, Mali)
bm_LatnBambara (Latin)
euBasque
eu_ESBasque (Spain)
beBelarusian
be_BYBelarusian (Belarus)
bnBengali
bn_BDBengali (Bangladesh)
bn_INBengali (India)
bsBosnian
bs_BABosnian (Bosnia & Herzegovina)
bs_Cyrl_BABosnian (Cyrillic, Bosnia & Herzegovina)
bs_CyrlBosnian (Cyrillic)
bs_Latn_BABosnian (Latin, Bosnia & Herzegovina)
bs_LatnBosnian (Latin)
brBreton
br_FRBreton (France)
bgBulgarian
bg_BGBulgarian (Bulgaria)
myBurmese
my_MMBurmese (Myanmar (Burma))
caCatalan
ca_ADCatalan (Andorra)
ca_FRCatalan (France)
ca_ITCatalan (Italy)
ca_ESCatalan (Spain)
zhChinese
zh_CNChinese (China)
zh_HKChinese (Hong Kong SAR China)
zh_MOChinese (Macau SAR China)
zh_Hans_CNChinese (Simplified, China)
zh_Hans_HKChinese (Simplified, Hong Kong SAR China)
zh_Hans_MOChinese (Simplified, Macau SAR China)
zh_Hans_SGChinese (Simplified, Singapore)
zh_HansChinese (Simplified)
zh_SGChinese (Singapore)
zh_TWChinese (Taiwan)
zh_Hant_HKChinese (Traditional, Hong Kong SAR China)
zh_Hant_MOChinese (Traditional, Macau SAR China)
zh_Hant_TWChinese (Traditional, Taiwan)
zh_HantChinese (Traditional)
kwCornish
kw_GBCornish (United Kingdom)
hrCroatian
hr_BACroatian (Bosnia & Herzegovina)
hr_HRCroatian (Croatia)
csCzech
cs_CZCzech (Czech Republic)
daDanish
da_DKDanish (Denmark)
da_GLDanish (Greenland)
nlDutch
nl_AWDutch (Aruba)
nl_BEDutch (Belgium)
nl_BQDutch (Caribbean Netherlands)
nl_CWDutch (Curaçao)
nl_NLDutch (Netherlands)
nl_SXDutch (Sint Maarten)
nl_SRDutch (Suriname)
dzDzongkha
dz_BTDzongkha (Bhutan)
enEnglish
en_ASEnglish (American Samoa)
en_AIEnglish (Anguilla)
en_AGEnglish (Antigua & Barbuda)
en_AUEnglish (Australia)
en_BSEnglish (Bahamas)
en_BBEnglish (Barbados)
en_BEEnglish (Belgium)
en_BZEnglish (Belize)
en_BMEnglish (Bermuda)
en_BWEnglish (Botswana)
en_IOEnglish (British Indian Ocean Territory)
en_VGEnglish (British Virgin Islands)
en_CMEnglish (Cameroon)
en_CAEnglish (Canada)
en_KYEnglish (Cayman Islands)
en_CXEnglish (Christmas Island)
en_CCEnglish (Cocos (Keeling) Islands)
en_CKEnglish (Cook Islands)
en_DGEnglish (Diego Garcia)
en_DMEnglish (Dominica)
en_EREnglish (Eritrea)
en_FKEnglish (Falkland Islands)
en_FJEnglish (Fiji)
en_GMEnglish (Gambia)
en_GHEnglish (Ghana)
en_GIEnglish (Gibraltar)
en_GDEnglish (Grenada)
en_GUEnglish (Guam)
en_GGEnglish (Guernsey)
en_GYEnglish (Guyana)
en_HKEnglish (Hong Kong SAR China)
en_INEnglish (India)
en_IEEnglish (Ireland)
en_IMEnglish (Isle of Man)
en_JMEnglish (Jamaica)
en_JEEnglish (Jersey)
en_KEEnglish (Kenya)
en_KIEnglish (Kiribati)
en_LSEnglish (Lesotho)
en_LREnglish (Liberia)
en_MOEnglish (Macau SAR China)
en_MGEnglish (Madagascar)
en_MWEnglish (Malawi)
en_MYEnglish (Malaysia)
en_MTEnglish (Malta)
en_MHEnglish (Marshall Islands)
en_MUEnglish (Mauritius)
en_FMEnglish (Micronesia)
en_MSEnglish (Montserrat)
en_NAEnglish (Namibia)
en_NREnglish (Nauru)
en_NZEnglish (New Zealand)
en_NGEnglish (Nigeria)
en_NUEnglish (Niue)
en_NFEnglish (Norfolk Island)
en_MPEnglish (Northern Mariana Islands)
en_PKEnglish (Pakistan)
en_PWEnglish (Palau)
en_PGEnglish (Papua New Guinea)
en_PHEnglish (Philippines)
en_PNEnglish (Pitcairn Islands)
en_PREnglish (Puerto Rico)
en_RWEnglish (Rwanda)
en_WSEnglish (Samoa)
en_SCEnglish (Seychelles)
en_SLEnglish (Sierra Leone)
en_SGEnglish (Singapore)
en_SXEnglish (Sint Maarten)
en_SBEnglish (Solomon Islands)
en_ZAEnglish (South Africa)
en_SSEnglish (South Sudan)
en_SHEnglish (St. Helena)
en_KNEnglish (St. Kitts & Nevis)
en_LCEnglish (St. Lucia)
en_VCEnglish (St. Vincent & Grenadines)
en_SDEnglish (Sudan)
en_SZEnglish (Swaziland)
en_TZEnglish (Tanzania)
en_TKEnglish (Tokelau)
en_TOEnglish (Tonga)
en_TTEnglish (Trinidad & Tobago)
en_TCEnglish (Turks & Caicos Islands)
en_TVEnglish (Tuvalu)
en_UGEnglish (Uganda)
en_GBEnglish (United Kingdom)
en_USEnglish (United States)
en_UMEnglish (U.S. Outlying Islands)
en_VIEnglish (U.S. Virgin Islands)
en_VUEnglish (Vanuatu)
en_ZMEnglish (Zambia)
en_ZWEnglish (Zimbabwe)
eoEsperanto
etEstonian
et_EEEstonian (Estonia)
eeEwe
ee_GHEwe (Ghana)
ee_TGEwe (Togo)
foFaroese
fo_FOFaroese (Faroe Islands)
fiFinnish
fi_FIFinnish (Finland)
frFrench
fr_DZFrench (Algeria)
fr_BEFrench (Belgium)
fr_BJFrench (Benin)
fr_BFFrench (Burkina Faso)
fr_BIFrench (Burundi)
fr_CMFrench (Cameroon)
fr_CAFrench (Canada)
fr_CFFrench (Central African Republic)
fr_TDFrench (Chad)
fr_KMFrench (Comoros)
fr_CGFrench (Congo - Brazzaville)
fr_CDFrench (Congo - Kinshasa)
fr_CIFrench (Côte d'Ivoire)
fr_DJFrench (Djibouti)
fr_GQFrench (Equatorial Guinea)
fr_FRFrench (France)
fr_GFFrench (French Guiana)
fr_PFFrench (French Polynesia)
fr_GAFrench (Gabon)
fr_GPFrench (Guadeloupe)
fr_GNFrench (Guinea)
fr_HTFrench (Haiti)
fr_LUFrench (Luxembourg)
fr_MGFrench (Madagascar)
fr_MLFrench (Mali)
fr_MQFrench (Martinique)
fr_MRFrench (Mauritania)
fr_MUFrench (Mauritius)
fr_YTFrench (Mayotte)
fr_MCFrench (Monaco)
fr_MAFrench (Morocco)
fr_NCFrench (New Caledonia)
fr_NEFrench (Niger)
fr_REFrench (Réunion)
fr_RWFrench (Rwanda)
fr_BLFrench (St. Barthélemy)
fr_MFFrench (St. Martin)
fr_PMFrench (St. Pierre & Miquelon)
fr_SNFrench (Senegal)
fr_SCFrench (Seychelles)
fr_CHFrench (Switzerland)
fr_SYFrench (Syria)
fr_TGFrench (Togo)
fr_TNFrench (Tunisia)
fr_VUFrench (Vanuatu)
fr_WFFrench (Wallis & Futuna)
ffFulah
ff_CMFulah (Cameroon)
ff_GNFulah (Guinea)
ff_MRFulah (Mauritania)
ff_SNFulah (Senegal)
glGalician
gl_ESGalician (Spain)
lgGanda
lg_UGGanda (Uganda)
kaGeorgian
ka_GEGeorgian (Georgia)
deGerman
de_ATGerman (Austria)
de_BEGerman (Belgium)
de_DEGerman (Germany)
de_LIGerman (Liechtenstein)
de_LUGerman (Luxembourg)
de_CHGerman (Switzerland)
elGreek
el_CYGreek (Cyprus)
el_GRGreek (Greece)
guGujarati
gu_INGujarati (India)
guzGusii
guz_KEGusii (Kenya)
haHausa
ha_Latn_GHHausa (Latin, Ghana)
ha_Latn_NEHausa (Latin, Niger)
ha_Latn_NGHausa (Latin, Nigeria)
ha_LatnHausa (Latin)
hawHawaiian
haw_USHawaiian (United States)
heHebrew
he_ILHebrew (Israel)
hiHindi
hi_INHindi (India)
huHungarian
hu_HUHungarian (Hungary)
isIcelandic
is_ISIcelandic (Iceland)
igIgbo
ig_NGIgbo (Nigeria)
idIndonesian
id_IDIndonesian (Indonesia)
gaIrish
ga_IEIrish (Ireland)
itItalian
it_ITItalian (Italy)
it_SMItalian (San Marino)
it_CHItalian (Switzerland)
it_VAItalian (Vatican City)
jaJapanese
ja_JPJapanese (Japan)
keaKabuverdianu
kea_CVKabuverdianu (Cape Verde)
kabKabyle
kab_DZKabyle (Algeria)
klKalaallisut
kl_GLKalaallisut (Greenland)
klnKalenjin
kln_KEKalenjin (Kenya)
kamKamba
kam_KEKamba (Kenya)
knKannada
kn_INKannada (India)
kkKazakh
kk_Cyrl_KZKazakh (Cyrillic, Kazakhstan)
kk_CyrlKazakh (Cyrillic)
kmKhmer
km_KHKhmer (Cambodia)
kiKikuyu
ki_KEKikuyu (Kenya)
rwKinyarwanda
rw_RWKinyarwanda (Rwanda)
kokKonkani
kok_INKonkani (India)
koKorean
ko_KPKorean (North Korea)
ko_KRKorean (South Korea)
khqKoyra Chiini
khq_MLKoyra Chiini (Mali)
sesKoyraboro Senni
ses_MLKoyraboro Senni (Mali)
lagLangi
lag_TZLangi (Tanzania)
lvLatvian
lv_LVLatvian (Latvia)
lnLingala
ln_AOLingala (Angola)
ln_CFLingala (Central African Republic)
ln_CGLingala (Congo - Brazzaville)
ln_CDLingala (Congo - Kinshasa)
ltLithuanian
lt_LTLithuanian (Lithuania)
luoLuo
luo_KELuo (Kenya)
luyLuyia
luy_KELuyia (Kenya)
mkMacedonian
mk_MKMacedonian (Macedonia)
jmcMachame
jmc_TZMachame (Tanzania)
kdeMakonde
kde_TZMakonde (Tanzania)
mgMalagasy
mg_MGMalagasy (Madagascar)
msMalay
ms_BNMalay (Brunei)
ms_MYMalay (Malaysia)
ms_SGMalay (Singapore)
mlMalayalam
ml_INMalayalam (India)
mtMaltese
mt_MTMaltese (Malta)
gvManx
gv_IMManx (Isle of Man)
mrMarathi
mr_INMarathi (India)
masMasai
mas_KEMasai (Kenya)
mas_TZMasai (Tanzania)
merMeru
mer_KEMeru (Kenya)
mfeMorisyen
mfe_MUMorisyen (Mauritius)
naqNama
naq_NANama (Namibia)
neNepali
ne_INNepali (India)
ne_NPNepali (Nepal)
ndNorth Ndebele
nd_ZWNorth Ndebele (Zimbabwe)
nbNorwegian Bokmål
nb_NONorwegian Bokmål (Norway)
nb_SJNorwegian Bokmål (Svalbard & Jan Mayen)
nnNorwegian Nynorsk
nn_NONorwegian Nynorsk (Norway)
nynNyankole
nyn_UGNyankole (Uganda)
orOriya
or_INOriya (India)
omOromo
om_ETOromo (Ethiopia)
om_KEOromo (Kenya)
psPashto
ps_AFPashto (Afghanistan)
faPersian
fa_AFPersian (Afghanistan)
fa_IRPersian (Iran)
plPolish
pl_PLPolish (Poland)
ptPortuguese
pt_AOPortuguese (Angola)
pt_BRPortuguese (Brazil)
pt_CVPortuguese (Cape Verde)
pt_GWPortuguese (Guinea-Bissau)
pt_MOPortuguese (Macau SAR China)
pt_MZPortuguese (Mozambique)
pt_PTPortuguese (Portugal)
pt_STPortuguese (São Tomé & Príncipe)
pt_TLPortuguese (Timor-Leste)
paPunjabi
pa_Arab_PKPunjabi (Arabic, Pakistan)
pa_ArabPunjabi (Arabic)
pa_Guru_INPunjabi (Gurmukhi, India)
pa_GuruPunjabi (Gurmukhi)
roRomanian
ro_MDRomanian (Moldova)
ro_RORomanian (Romania)
rmRomansh
rm_CHRomansh (Switzerland)
rofRombo
rof_TZRombo (Tanzania)
ruRussian
ru_BYRussian (Belarus)
ru_KZRussian (Kazakhstan)
ru_KGRussian (Kyrgyzstan)
ru_MDRussian (Moldova)
ru_RURussian (Russia)
ru_UARussian (Ukraine)
rwkRwa
rwk_TZRwa (Tanzania)
saqSamburu
saq_KESamburu (Kenya)
sgSango
sg_CFSango (Central African Republic)
sehSena
seh_MZSena (Mozambique)
srSerbian
sr_BASerbian (Bosnia & Herzegovina)
sr_Cyrl_BASerbian (Cyrillic, Bosnia & Herzegovina)
sr_Cyrl_MESerbian (Cyrillic, Montenegro)
sr_Cyrl_RSSerbian (Cyrillic, Serbia)
sr_CyrlSerbian (Cyrillic)
sr_Latn_BASerbian (Latin, Bosnia & Herzegovina)
sr_Latn_MESerbian (Latin, Montenegro)
sr_Latn_RSSerbian (Latin, Serbia)
sr_LatnSerbian (Latin)
sr_MESerbian (Montenegro)
sr_RSSerbian (Serbia)
snShona
sn_ZWShona (Zimbabwe)
iiSichuan Yi
ii_CNSichuan Yi (China)
siSinhala
si_LKSinhala (Sri Lanka)
skSlovak
sk_SKSlovak (Slovakia)
slSlovenian
sl_SISlovenian (Slovenia)
xogSoga
xog_UGSoga (Uganda)
soSomali
so_DJSomali (Djibouti)
so_ETSomali (Ethiopia)
so_KESomali (Kenya)
so_SOSomali (Somalia)
esSpanish
es_ARSpanish (Argentina)
es_BOSpanish (Bolivia)
es_CLSpanish (Chile)
es_COSpanish (Colombia)
es_CRSpanish (Costa Rica)
es_CUSpanish (Cuba)
es_DOSpanish (Dominican Republic)
es_ECSpanish (Ecuador)
es_SVSpanish (El Salvador)
es_GQSpanish (Equatorial Guinea)
es_GTSpanish (Guatemala)
es_HNSpanish (Honduras)
es_419Spanish (Latin America)
es_MXSpanish (Mexico)
es_NISpanish (Nicaragua)
es_PASpanish (Panama)
es_PYSpanish (Paraguay)
es_PESpanish (Peru)
es_PRSpanish (Puerto Rico)
es_ESSpanish (Spain)
es_USSpanish (United States)
es_UYSpanish (Uruguay)
es_VESpanish (Venezuela)
swSwahili
sw_KESwahili (Kenya)
sw_TZSwahili (Tanzania)
sw_UGSwahili (Uganda)
svSwedish
sv_AXSwedish (Åland Islands)
sv_FISwedish (Finland)
sv_SESwedish (Sweden)
gswSwiss German
gsw_CHSwiss German (Switzerland)
gsw_LISwiss German (Liechtenstein)
shiTachelhit
shi_Latn_MATachelhit (Latin, Morocco)
shi_LatnTachelhit (Latin)
shi_Tfng_MATachelhit (Tifinagh, Morocco)
shi_TfngTachelhit (Tifinagh)
davTaita
dav_KETaita (Kenya)
taTamil
ta_INTamil (India)
ta_MYTamil (Malaysia)
ta_SGTamil (Singapore)
ta_LKTamil (Sri Lanka)
teTelugu
te_INTelugu (India)
teoTeso
teo_KETeso (Kenya)
teo_UGTeso (Uganda)
thThai
th_THThai (Thailand)
boTibetan
bo_CNTibetan (China)
bo_INTibetan (India)
tiTigrinya
ti_ERTigrinya (Eritrea)
ti_ETTigrinya (Ethiopia)
toTongan
to_TOTongan (Tonga)
trTurkish
tr_CYTurkish (Cyprus)
tr_TRTurkish (Turkey)
ukUkrainian
uk_UAUkrainian (Ukraine)
urUrdu
ur_INUrdu (India)
ur_PKUrdu (Pakistan)
uzUzbek
uz_Arab_AFUzbek (Arabic, Afghanistan)
uz_ArabUzbek (Arabic)
uz_Cyrl_UZUzbek (Cyrillic, Uzbekistan)
uz_CyrlUzbek (Cyrillic)
uz_Latn_UZUzbek (Latin, Uzbekistan)
uz_LatnUzbek (Latin)
viVietnamese
vi_VNVietnamese (Vietnam)
vunVunjo
vun_TZVunjo (Tanzania)
cyWelsh
cy_GBWelsh (United Kingdom)
yoYoruba
yo_BJYoruba (Benin)
yo_NGYoruba (Nigeria)
zuZulu
zu_ZAZulu (South Africa)