i18n: Do not include html directives in translation strings

It is important not to include html directives in translation targets
to avoid unnecessary errors when selecting translated languages.

You can check extracted strings by the following command locally:
  python manage.py extract_messages -m octavia_dashboard

Change-Id: Icb565d43efcb7b078ca0dab106de178ed7993457
This commit is contained in:
Akihiro Motoki 2018-01-24 17:39:56 +09:00
parent a1f11aa497
commit 6407785f3c
13 changed files with 134 additions and 92 deletions

View File

@ -9,8 +9,8 @@
<div class="row">
<div class="col-sm-12 col-md-6">
<div class="form-group required">
<label translate class="control-label" for="floating-ip">
Floating IP address or pool
<label class="control-label" for="floating-ip">
<translate>Floating IP address or pool</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<select class="form-control" name="floating-ip" id="floating-ip"

View File

@ -11,8 +11,8 @@
<div class="col-sm-12 col-md-6 col-lg-4">
<div class="form-group"
ng-class="{ 'has-error': form.address.$invalid && form.address.$dirty }">
<label translate class="control-label" for="address">
IP Address
<label class="control-label" for="address">
<translate>IP Address</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<input name="address" id="address" type="text" class="form-control"
@ -22,8 +22,8 @@
<div class="col-sm-12 col-md-6 col-lg-4">
<div class="form-group"
ng-class="{ 'has-error': form.protocol_port.$invalid && form.protocol_port.$dirty }">
<label translate class="control-label" for="protocol_port">
Protocol Port
<label class="control-label" for="protocol_port">
<translate>Protocol Port</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<input name="protocol_port" id="protocol_port" type="number" class="form-control"
@ -36,8 +36,8 @@
<div class="col-sm-12 col-md-6 col-lg-4">
<div class="form-group required"
ng-class="{ 'has-error': form.weight.$invalid && form.weight.$dirty }">
<label translate class="control-label" for="weight">
Weight
<label class="control-label" for="weight">
<translate>Weight</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<input name="weight" id="weight" type="number" class="form-control"
@ -51,8 +51,8 @@
<div class="col-sm-12 col-md-6 col-lg-4">
<div class="form-group"
ng-class="{ 'has-error': form.monitor_address.$invalid && form.monitor_address.$dirty }">
<label translate class="control-label" for="monitor_address">
Monitor Address
<label class="control-label" for="monitor_address">
<translate>Monitor Address</translate>
</label>
<input name="monitor_address" id="monitor_address" type="text" class="form-control"
ng-model="modal.monitor_address" ng-pattern="::modal.ipPattern"
@ -65,8 +65,8 @@
<div class="col-sm-12 col-md-6 col-lg-4">
<div class="form-group"
ng-class="{ 'has-error': form.monitor_port.$invalid && form.monitor_port.$dirty }">
<label translate class="control-label" for="monitor_port">
Monitor Port
<label class="control-label" for="monitor_port">
<translate>Monitor Port</translate>
</label>
<input name="monitor_port" id="monitor_port" type="number" class="form-control"
ng-model="modal.monitor_port" ng-pattern="/^\d+$/" min="1" max="65535"

View File

@ -2,18 +2,20 @@
If the listener uses the TERMINATED_HTTPS protocol, then one or more SSL certificates must
be selected. The first certificate will be the default.
</p>
<p translate>
Use the key-manager service to create any certificate containers before creating the listener.
The following documentation provides information on how to create a certificate container:
<p>
<translate>
Use the key-manager service to create any certificate containers before creating the listener.
The following documentation provides information on how to create a certificate container:
</translate>
<ul>
<li>
<a target="_blank" href="http://developer.openstack.org/api-guide/key-manager/containers.html#certificate-containers">
Key Manager API Guide: Creating a Certificate Container
<translate>Key Manager API Guide: Creating a Certificate Container</translate>
</a>
</li>
<li>
<a target="_blank" href="http://docs.openstack.org/cli-reference/barbican.html">
Key Manager Service Command-Line Client
<translate>Key Manager Service Command-Line Client</translate>
</a>
</li>
</ul>

View File

@ -3,18 +3,24 @@
tied to the load balancer. Multiple listeners can be associated with the same load balancer but
each must use a unique port.
</p>
<p translate>
<strong>Protocol:</strong>
<p>
<strong translate>Protocol:</strong>
<translate>
The protocol for which the front end listens. The TERMINATED_HTTPS protocol is only available if
the key-manager service is enabled and you have authority to list certificate containers and
secrets.
</translate>
</p>
<p translate>
<strong>Port:</strong>
<p>
<strong translate>Port:</strong>
<translate>
The port on which the front end listens. Must be an integer from 1 to 65535.
</translate>
</p>
<p translate>
<strong>Connection Limit:</strong>
<p>
<strong translate>Connection Limit:</strong>
<translate>
The maximum number of connections permitted for this listener.
Default value is -1 which represents infinite connections.
</translate>
</p>

View File

@ -25,8 +25,8 @@
<div class="col-xs-12 col-sm-8 col-md-6">
<div class="form-group required">
<label translate class="control-label" for="protocol">
Protocol
<label class="control-label" for="protocol">
<translate>Protocol</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<select class="form-control" name="protocol" id="protocol"
@ -42,8 +42,8 @@
<div class="col-xs-12 col-sm-8 col-md-6">
<div class="form-group required"
ng-class="{ 'has-error': listenerDetailsForm.port.$invalid && listenerDetailsForm.port.$dirty }">
<label translate class="control-label" for="port">
Port
<label class="control-label" for="port">
<translate>Port</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<input name="port" id="port" type="number" class="form-control"
@ -66,8 +66,8 @@
<div class="col-xs-12 col-sm-8 col-md-6">
<div class="form-group required"
ng-class="{ 'has-error': listenerDetailsForm.connection_limit.$invalid && listenerDetailsForm.connection_limit.$dirty }">
<label translate class="control-label" for="connection_limit">
Connection Limit
<label class="control-label" for="connection_limit">
<translate>Connection Limit</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<input name="connection_limit" id="connection_limit" type="number" class="form-control"

View File

@ -1,13 +1,17 @@
<p translate>
The load balancer occupies a neutron network port and has an IP address assigned from a subnet.
</p>
<p translate>
<strong>IP address:</strong>
<p>
<strong translate>IP address:</strong>
<translate>
If an IP address is provided it must be a well-formed IPv4 or IPv6 address. The system will
attempt to assign the provided IP address to the load balancer. If an IP address is not provided
then one will be allocated for you.
</translate>
</p>
<p translate>
<strong>Subnet:</strong>
<p>
<strong translate>Subnet:</strong>
<translate>
The network on which to allocate the load balancer's IP address.
</translate>
</p>

View File

@ -38,8 +38,8 @@
<div class="col-xs-12 col-sm-8 col-md-6">
<div class="form-group required">
<label translate class="control-label" for="subnet">
Subnet
<label class="control-label" for="subnet">
<translate>Subnet</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<select class="form-control" name="subnet" id="subnet"

View File

@ -7,32 +7,44 @@
of the pool. Use the "Add external member" button to add a member not found in the Available
Instances table.
</p>
<p translate>
<strong>IP address:</strong>
<p>
<strong translate>IP address:</strong>
<translate>
The IP address of the member to receive traffic from the load balancer. Must be a well-formed
IPv4 or IPv6 address.
</translate>
</p>
<p translate>
<strong>Subnet:</strong>
<p>
<strong translate>Subnet:</strong>
<translate>
The network which contains the IP address of the member.
</translate>
</p>
<p translate>
<strong>Port:</strong>
<p>
<strong translate>Port:</strong>
<translate>
The port on which the member listens for traffic. Must be a number from 1 to 65535.
</translate>
</p>
<p translate>
<strong>Weight:</strong>
<p>
<strong translate>Weight:</strong>
<translate>
The weight of a member determines the portion of requests or connections it services compared
to the other members of the pool. A higher weight means it will receive more traffic. Must be
a number from 1 to 256.
</translate>
</p>
<p translate>
<strong>Monitor Address:</strong>
<p>
<strong translate>Monitor Address:</strong>
<translate>
An alternate IP address used for health monitoring a backend member.
Default is null which monitors the member address.
</translate>
</p>
<p translate>
<strong>Monitor Port:</strong>
<p>
<strong translate>Monitor Port:</strong>
<translate>
An alternate protocol port used for health monitoring a backend member.
Default is null which monitors the member protocol port.
</translate>
</p>

View File

@ -13,16 +13,16 @@
<tr>
<th class="expander"></th>
<th class="rsp-p1" translate>
IP Address
<span class="hz-icon-required fa fa-asterisk" ng-show="ctrl.tableData.displayedAllocated.length > 0">
</th>
<th class="rsp-p1" translate>
Subnet
<th class="rsp-p1">
<translate>IP Address</translate>
<span class="hz-icon-required fa fa-asterisk" ng-show="ctrl.tableData.displayedAllocated.length > 0">
</th>
<th class="rsp-p1">
Port
<translate>Subnet</translate>
<span class="hz-icon-required fa fa-asterisk" ng-show="ctrl.tableData.displayedAllocated.length > 0">
</th>
<th class="rsp-p1">
<translate>Port</translate>
<span class="hz-icon-required fa fa-asterisk" ng-show="ctrl.tableData.displayedAllocated.length > 0">
</th>
<th class="rsp-p1" translate>Weight</th>

View File

@ -4,35 +4,49 @@
to determine if the member receives new connections. Each pool can only have one health
monitor.
</p>
<p translate>
<strong>Interval:</strong>
<p>
<strong translate>Interval:</strong>
<translate>
The interval between health checks. Must be greater than or equal to the timeout.
</translate>
</p>
<p translate>
<strong>Retries:</strong>
<p>
<strong translate>Retries:</strong>
<translate>
The number of allowed connection failures before marking the member as inactive. Must be a
number from 1 to 10.
</translate>
</p>
<p translate>
<strong>Retries down:</strong>
<p>
<strong translate>Retries down:</strong>
<translate>
The number of allowed connection failures before marking the member as error. Must be a
number from 1 to 10. The default is 3.
</translate>
</p>
<p translate>
<strong>Timeout:</strong>
<p>
<strong translate>Timeout:</strong>
<translate>
The time after which a health check times out. Must be a number greater than or equal to 0
and less than or equal to the interval.
</translate>
</p>
<p translate>
<strong>HTTP method:</strong>
<p>
<strong translate>HTTP method:</strong>
<translate>
The HTTP method used to perform the health check.
</translate>
</p>
<p translate>
<strong>Expected status codes:</strong>
<p>
<strong translate>Expected status codes:</strong>
<translate>
The expected HTTP status codes to get from a successful health check. Must be a single number,
a comma separated list of numbers, or a range (two numbers separated by a hyphen).
</translate>
</p>
<p translate>
<strong>URL path:</strong>
<p>
<strong translate>URL path:</strong>
<translate>
The target of the health check HTTP request to the member. Must be a valid URL path.
</translate>
</p>

View File

@ -5,8 +5,8 @@
<div class="col-xs-12 col-sm-8 col-md-6 col-lg-4">
<div class="form-group required">
<label translate class="control-label" for="type">
Monitor type
<label class="control-label" for="type">
<translate>Monitor type</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<select class="form-control" name="type" id="type"
@ -20,8 +20,8 @@
<div class="col-xs-12 col-sm-8 col-md-6 col-lg-4">
<div class="form-group required"
ng-class="{ 'has-error': monitorDetailsForm.retry_down.$invalid && monitorDetailsForm.retry_down.$dirty }">
<label translate class="control-label" for="retry_down">
Retries down
<label class="control-label" for="retry_down">
<translate>Retries down</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<input name="retry_down" id="retry_down" type="number" class="form-control"
@ -40,8 +40,8 @@
<div class="col-xs-12 col-sm-8 col-md-6 col-lg-4">
<div class="form-group required"
ng-class="{ 'has-error': monitorDetailsForm.interval.$invalid && monitorDetailsForm.interval.$dirty }">
<label translate class="control-label" for="interval">
Interval (sec)
<label class="control-label" for="interval">
<translate>Interval (sec)</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<input name="interval" id="interval" type="number" class="form-control"
@ -56,8 +56,8 @@
<div class="col-xs-12 col-sm-8 col-md-6 col-lg-4">
<div class="form-group required"
ng-class="{ 'has-error': monitorDetailsForm.retry.$invalid && monitorDetailsForm.retry.$dirty }">
<label translate class="control-label" for="retry">
Retries
<label class="control-label" for="retry">
<translate>Retries</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<input name="retry" id="retry" type="number" class="form-control"
@ -72,8 +72,8 @@
<div class="col-xs-12 col-sm-8 col-md-6 col-lg-4">
<div class="form-group required"
ng-class="{ 'has-error': monitorDetailsForm.timeout.$invalid && monitorDetailsForm.timeout.$dirty }">
<label translate class="control-label" for="timeout">
Timeout (sec)
<label class="control-label" for="timeout">
<translate>Timeout (sec)</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<input name="timeout" id="timeout" type="number" class="form-control"

View File

@ -1,33 +1,37 @@
<p translate>
A pool represents a group of members over which the load balancing will be applied.
</p>
<p translate>
<strong>Method:</strong>
<p>
<strong translate>Method:</strong>
<translate>
The load balancer algorithm that distributes traffic to the pool members.
</translate>
<ul>
<li>
<li translate>
LEAST_CONNECTIONS: Allocates requests to the instance with the least number of active
connections.
</li>
<li>
<li translate>
ROUND_ROBIN: Rotates requests evenly between multiple instances.
</li>
<li>
<li translate>
SOURCE_IP: Requests from a unique source IP address are consistently directed to the same instance.
</li>
</ul>
</p>
<p translate>
<strong>Session Persistence:</strong>
<p>
<strong translate>Session Persistence:</strong>
<translate>
The type of session persistence for distributing traffic to the pool members.
</translate>
<ul>
<li>
<li translate>
SOURCE_IP: Session persistence based on source ip.
</li>
<li>
<li translate>
HTTP_COOKIE: Session persistence based on http cookie.
</li>
<li>
<li translate>
APP_COOKIE: Session persistence based on application cookie.
</li>
</ul>

View File

@ -25,8 +25,8 @@
<div class="col-xs-12 col-sm-8 col-md-6">
<div class="form-group">
<label translate class="control-label" for="type">
Session Persistence
<label class="control-label" for="type">
<translate>Session Persistence</translate>
</label>
<select class="form-control" name="type" id="type"
ng-options="type for type in model.types"
@ -50,8 +50,8 @@
<div class="col-xs-12 col-sm-8 col-md-6">
<div class="form-group required">
<label translate class="control-label" for="method">
Method
<label class="control-label" for="method">
<translate>Method</translate>
<span class="hz-icon-required fa fa-asterisk"></span>
</label>
<select class="form-control" name="method" id="method"