The Visual Crossing Weather Data platform is designed to provide global weather data coverage for both historical weather data and weather forecast information. We want to offer the data in as many languages and locales as possible to help users throughout the world use the data. To facilitate this, we offer our language descriptors information as open source files so that anyone can provide suggestions, fixes or even provide new translations to completely new languages.
In return, users who provide help within the language files, will be rewarded with free credits to use with their weather account.
Process to modify or add translations
We host the translation information in a Google Sheet which can be found here:
The sheet is made up of series of worksheets, one for each language we support:

Each worksheet is named according to ‘[ language name]-[language code]’ (eg ‘German-de’). The language name is only used for the sheet. The language code corresponds to the same code that is used when passing the requested language via the Weather API ‘lang’ parameter.
Clicking on a sheet brings up the table of the individual translations along with an id:

The Visual Crossing servers look up the correct language description value by finding the value in the ‘desc’ column for the id found in the ‘id’ column. So if the server needs to include the correct value for ‘Dew Point’ based on the requested language, it will use the ‘lang’ parameter from the weather API to find the correct sheet, then find the correct translation based on the id value of ‘dew’.
Modifying existing language translations
To modify the value of a translation text in an existing language:
Step 1 – Navigate to the Google Sheet document
Step 2 – Click on the appropriate sheet for the language in question.
Step 3 – Find the language value that you would like to change
Step 4 – Modify the ‘desc’ column value.
Please modify only the desc value – do not modify the id column as the servers will not be able to correctly look up the language value. When making edits, attempt to keep the text to a similar length otherwise existing users may not be able to use the descriptions in their user interfaces in the same way they are currently using.
Some values include dynamic values that we replace with additional information. These can be identified as having placeholders in the form %s or %d. For example:
skytempprecip | %s and %s with %s. |
skyprecip | %s with %s. |
sky | %s. |
In these cases, please keep the same number of placeholders in any proposed changes. You may change the order of the placeholders if that will create a more readable translation.
Step 5 – notify us of your changes
Finally, once you have made your suggested edits, please send us an email to support@visualcrossing.com. Please include your account email and a brief description of the edits. We will then merge your changes into our build process and you should see your changes available within a few days. We will credit your account with free credits as a thank you!
Adding a new language translations
To create a completely new language, the process is similar.
Step 1 – Navigate to the Google Sheet document
Step 2 – Create a new sheet in the Google Sheets document by duplicating an existing sheet
You can find the duplicate option by right mouse clicking on the sheet name of an existing sheet:

Please give the new sheet a descriptive name. There is no need to include an id – we will add that as part of our review process.
Step 3 – Modify the ‘desc’ column value.
For each row, please provide the suggested translation value. Please modify only the desc value – do not modify the id column as the servers will not be able to correctly look up the language value. When making edits, attempt to keep the text to a similar length otherwise existing users may not be able to use the descriptions in their user interfaces in a similar way.
Some values include dynamic values that we replace. These can be identified as having placeholders in the form %s or %d. For example:
skytempprecip | %s and %s with %s. |
skyprecip | %s with %s. |
sky | %s. |
These dynamic descriptors include other descriptors based on the conditions. The conditions are included in the order listed in the descriptor id. For example, ‘skytempprecip’ will include the sky condition (cloudiness), then temperature, and finally precipitation. For example, “cloudy and warm with rain“. In these cases, please keep the same number of placeholders in any proposed changes. You may change the order of the placeholders if that will create a more readable translation.
Step 5 – notify us of your changes
Finally, once you have made your suggested edits, please send us an email to support@visualcrossing.com. Please include your account email and a brief description of the edits. We will then merge your changes into our build process and you should see your changes available within a few days. We will then credit your account with free credits as a thank you!
Questions or need help?
If you have a question or need help, please post on our actively monitored forum for the fastest replies. You can also contact us via our support site or drop us an email at support@visualcrossing.com.