Buena pregunta. Estoy luchando con esto también. Mi esquema de nombres es:
1) Elementos de la interfaz de usuario: Si una cadena solo corresponde a un ui, la asigno de acuerdo con el elemento de control y el propósito, así como en qué parte del elemento de control se utiliza. ejemplo:
button_helpText;
control : button, purpose: help, context: Text;
2) Elementos generales: Si se utiliza una cadena en la interfaz de usuario, pero quiero utilizarlo en otro contexto que acabo de dejar el prefijo y añadir un sufijo para describir el propósito/contexto mor precisa.
helpMessageHeading;
purpose: help; context: a Message (abstract, could be a dialog), context_of_dialog: Heading; (the heading of a help dialog)
helpMessageText;
purpose: help, context: a Message (abstract, could be a dialog), context_of_dialog: Text; (the text inside a help dialog)
helpExplanation;
purpose: help; context_of_help: Explanation (just a explanation of the help topic)
3) Orden: que ordenar a aquellos cadena basada principalmente en su contexto, ya que es lo que normalmente busca.
<!-- buttons -->
...
<!-- dialogs -->
...
<!-- general -->
...
<!-- explanations -->
...
y así sucesivamente. Entonces mi lista normalmente está separada en controles de UI y, si una cadena no está ligada a ella, su contexto general es preciso. ¿Por qué uso el contexto preciso? Cuando busca una cadena para describir lo que hace, la idea más singular sobre esta cadena es su contexto preciso, por lo que es lo primero que debe aparecer. Pero cuando usa la finalización automática, normalmente busca la descripción general. Creo que esta estructura es una buena solución.
Estoy muy interesado en otras respuestas.
Esas son muchas preguntas para una pregunta. Y algunos (la mayoría) de eso son subjetivos/conducirán a discusiones => fuera del tema aquí de acuerdo con [faq]. – Mat