- 1 What does string freeze means?
- 2 Why is there a string freeze?
- 3 When does the string freeze happens?
- 4 How long is there a string freeze?
- 5 What changes are affected by the string freeze?
- 6 What changes are not affected by the string freeze?
- 7 What should I do in case I want to break the string freeze?
What does string freeze means?
String freeze means that we cannot add new strings but we could be able to improve strings and fix bugs. It could be considered as a soft freeze.
Why is there a string freeze?
The string freeze ensures that documentation and translation teams have a relatively-stable universe to produce documentation and translations for.
When does the string freeze happens?
The string freeze happens at the same time as feature freeze.
How long is there a string freeze?
The string freeze is maintained for every module affected by the freeze until the release branch is cut. When that happens, the string freeze is lifted from master.
What changes are affected by the string freeze?
Once the string freeze kicks in, proposed changes containing large modifications in user-facing strings cannot be accepted. In other words, additions or significant changes in strings marked for translation in a module included in OpenStack core is affected by the freeze. E.g.:
- Change a user-visible API error message
- Change a config option name or existing description
Such changes should be rejected by the review team and postponed until the next series development opens - which should happen when RC1 is published.
What changes are not affected by the string freeze?
Proposed changes that do not contain modifications affecting user-facing strings won't be affected by the string freeze. E.g.:
- Add, remove or change of a message that is nor marked for translation.
- Add a missing description to a config option
- Add or change of log messages.
- Add a translatable string identical to an existing message that is already marked for translation and has the same meaning and context. The available translation will be re-used automatically.
What should I do in case I want to break the string freeze?
We need to make a difference between small and medium/large changes and if the change is proposed during the RC or after the RC release - most of translation teams will complete their translations before RC is shipped.
This distinction is neccesary because we need to maintain a balance of when the translation deadline is and how many new strings are added (generally around 5 string addition/changes). As long as fairly small features land in early RC cycle adding a few words can be accepted.
Small changes during the RC period
We will allow modifications during the RC period for the following scenarios:
- A string is misunderstanding and should be updated.
- A string should be translated yet not marked with _().
Medium/Large changes and changes after the RC release
If you want to propose a large change during the RC period or a change in general after the RC release containing a user-facing string modification (that you believe fixes an important issue) for merging into the release under development after string freeze, follow those steps:
- Mention the need for a string freeze exception on the review
- Provide links to appropriate bugs
- Raise a thread to discuss the proposed change on the openstack-i18n mailing-list
- Lazy consensus should be preferred, but the affected project PTLs has final say on what's acceptable or not.