Visualforceで項目のラベルを取得して表示したい場合は次のように記載することで対応可能です。
<apex:outputText value="{!$ObjectType.Account.Fields.Name.Label}" />
$ObjectTypeについての詳細はこちら
$ObjectType
http://www.salesforce.com/us/developer/docs/pages/Content/pages_variables_global_objecttype.htm
便利ですね。今回はこれをApexクラス内で実行する方法についてです。
Apexクラス内では$Objectという書き方はできないので別の方法になります。
こんな感じです。
Schema.SObjectType.Account.fields.Name.label;
Schemaを使用することで取得できます。
実行時のキャプチャです。
実行ユーザが英語の場合はちゃんと変換されます。
すごく便利です。
すごく便利なのですが、注意しなくてはいけないこともあります。
一度に実行できるのは100回までみたいです。
101回以上でLimitExceptionが発生します。
検証時のキャプチャです。
という感じでエラーがでます。おそらくcatchでは拾えないと思います。
なので使用する際にはループ内で使用しないなどの対策が必要です。
Schema.sObjectでできることについての詳細はこちらです。
sObject Describe Result Methods
http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_methods_system_sobject_describe.htm