W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
啟用代碼檢查以突出顯示硬編碼字符串文字后,您可以繼續(xù)將這些文字解壓縮到屬性文件中。為此,IntelliJ IDEA 提供特殊意圖行為 i18nize 硬編碼字符串文本。
本節(jié)考慮兩種訪問資源包的可能方法:
tip:您可以跳過此步驟,并在 I18nize 硬編碼字符串對話框中立即指定所需的資源包表達式。
指定將用于存儲提取的文字的資源包。特別地,您可以將以下語句添加到您的源代碼中:
private static ResourceBundle <field name> =
getBundle("<bundle name>");
例如:
private static ResourceBundle myBundle =
getBundle("com.intellij.fontChooser.FontChooser");
如果 ResourceBundle 字段已在源代碼中聲明(如步驟1所示),則 IntelliJ IDEA 在默認情況下建議它的名稱。如果您尚未在源代碼中聲明此字段,您仍然可以在對話框中立即定義所需的表達式。為此,請在 "資源包表達式" 字段中輸入 ResourceBundle 類型的有效表達式。
注意:基本代碼完成在該字段中工作。鍵入類名,并按下 Ctrl+Space ,選擇方法:
從建議列表中選擇所需的方法,然后再按 Ctrl+Space 一次以填寫括號:
之后,在引號中鍵入包和資源包名稱:
如果在對話框中定義了資源包,結(jié)果將是:
redist/annotations.jar
歸檔文件被添加到模塊依賴關(guān)系中。import org.jetbrains.annotations.PropertyKey;
import org.jetbrains.annotations.NonNls;
import java.util.ResourceBundle;
import java.text.MessageFormat;
public class I18nSupport {
@NonNls
private static final ResourceBundle bundle = ResourceBundle.getBundle ("com.intellij.FontChooser");
public static String i18n_str
(@PropertyKey(resourceBundle ="com.intellij.FontChooser")
String key,Object... params){
String value =bundle.getString(key);
if (params.length >0) return MessageFormat.format(value, params);
return value;
}
}
點擊 "編輯 i18n 模板鏈接"。在 "文件模板" 對話框中,將 I18nized 表達式更改為指向自定義資源包類的方法:
這個更改是全局性的,并且會影響所有項目!
點擊“確定”,保存更新的模板并關(guān)閉對話框。
有時你可能想隱藏硬編碼的文字。要這樣做,使用不需要國際化注釋。
annotations.xml
文件將被存儲的位置 。或者,您可以添加 @NonNls 注釋:
如果您選中該復(fù)選框以后不顯示此對話框,則您仍然可以在“設(shè)置”對話框中選擇注釋樣式(代碼樣式 |Java 代碼生成)。
您的源代碼可以包含您想要識別的硬編碼字符串,并進一步提取到屬性。要在編輯器中突出顯示硬編碼的文字,請使用國際化代碼檢查。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: