title: constant string file in python
body: <p>I'm attempting to put all of my user facing strings into a single file to make changing those strings easier. I'm looking for a best practice in terms of readability. I have two version of the same file right now and I see trade off to both versions. So I was wondering if there's a best practice about this situation.</p>
  
  <p><strong>First constants.py file</strong></p>
  
  <pre><code>class strings:
  
      esc_statuses = {
          "RETURNED": "Returned",
          "SUBMITTED": "Submitted",
          "DRAFT": "Draft",
          "CANCELED": "Canceled",
          "ESCALATED": "Escalated"
          }
  
      NewEscFieldText = {
          "customer_name": "The name of the customer who encountered this bug.",
          "summary": "A brief summary of the bug.",
          "request": "The request.",
          "customer_impact": "How the customer is impacted.",
          "severity": "The severity of the bug.",
          "component": "The component of this bug.",
          "related_bugs": "Bugs which are related to this one.",
          "logs": "The logs assosciated with this bug.",
          "description": "A detailed discription of the problem and any work \
                  put into reproducting it.",
          "documentation": "Documentation consulted before escalation.",
          }
  </code></pre>
  
  <p>In the first version I'll have to say:</p>
  
  <pre><code>from constants import strings
  </code></pre>
  
  <p>and then whenever I want to reference something I'll have to say</p>
  
  <pre><code>strings.esc_statuses["RETURNED"]
  </code></pre>
  
  <p>I think the constants.py file looks more readable in this format but every time I have to use a string I'll have a much longer name to chew.</p>
  
  <p><strong>Second constants.py file.</strong></p>
  
  <pre><code>class strings:
  
      # ------------------------ Escalation status -----------------------------
      RETURNED = "Returned"
      SUBMITTED = "Submitted"
      DRAFT =: "Draft"
      CANCELED =: "Canceled"
      ESCALATED =: "Escalated"
  
      # ----------------------- New Escalation Field Text ----------------------
      customer_name = "The name of the customer who encountered this bug."
      summary = "A brief summary of the bug."
      request = "The request."
      customer_impact = "How the customer is impacted."
      severity = "The severity of the bug."
      component = "The component of this bug."
      related_bugs = "Bugs which are related to this one."
      logs = "The logs assosciated with this bug."
      description = "A detailed discription of the problem and any work put \
              into reproducting it."
      documentation = "Documentation consulted before escalation."
  </code></pre>
  
  <p>In this version all I have to say is</p>
  
  <pre><code>from constants import strings
  strings.RETURNED
  </code></pre>
  
  <p>Which I think makes using strings more readable but also makes the file itself harder to read.</p>
  
  <p>So, are there any style guides that cover this? Are there any considerations I've missed?</p>