Skip to content

Instantly share code, notes, and snippets.

@ujnak
Last active October 23, 2023 04:15
United Codes Enhanced Grid Proのコンテキスト・メニューの翻訳
declare
C_APP_ID constant number := <日本語化するアプリケーションのIDに置き換える>;
/*+
* 翻訳メッセージの追加または編集を行なう。
*/
procedure create_or_update_message(
p_application_id in number
,p_translatable_message in varchar2
,p_message_text in varchar2
,p_language_code in varchar2 default 'ja'
,p_is_js_message in varchar2 default 'Y'
)
as
l_translation_entry_id number;
p_used_in_javascript boolean;
begin
/* メッセージをJavaScriptで使うかどうかの条件をBoolean型に変換する */
p_used_in_javascript := p_is_js_message = 'Y';
/* すでに翻訳メッセージが登録済みであれば更新する。 */
select translation_entry_id into l_translation_entry_id
from apex_application_translations
where 1=1
and application_id = p_application_id
and translatable_message = p_translatable_message
and language_code = p_language_code;
/* 翻訳メッセージの更新 */
apex_lang.update_message(
p_id => l_translation_entry_id
,p_message_text => p_message_text
);
exception
when no_data_found then
/* 翻訳メッセージが未登録なので追加する。 */
apex_lang.create_message(
p_application_id => p_application_id
,p_name => p_translatable_message
,p_language => p_language_code
,p_message_text => p_message_text
,p_used_in_javascript => p_used_in_javascript
);
end create_or_update_message;
begin
create_or_update_message(C_APP_ID,'UC_GRID.CORRECT_ERRORS_BEFORE_SAVE','保存する前にエラーを修正してください。');
create_or_update_message(C_APP_ID,'UC_GRID.SELECT_ONLY_ONE_ROW_TO_DUPLICATE','複製できるのは1行に限られます。');
create_or_update_message(C_APP_ID,'UC_GRID.PASTE_DATA_TOO_MANY_COLUMNS','ペーストしようとしている列が多すぎます。');
create_or_update_message(C_APP_ID,'UC_GRID.CREATE_ROW_PREVENTED','ペーストするには新規行の追加が発生します。\n\n新規行の追加は設定により許可されていません。');
create_or_update_message(C_APP_ID,'UC_GRID.TOOLTIP_NOT_POSSIBLE','ツールチップを設定するには、行索引が0より大きい必要があります。');
create_or_update_message(C_APP_ID,'UC_GRID.RELOAD_DATA_QUESTION','再ロードしますか?\n\n変更は保存されません。');
create_or_update_message(C_APP_ID,'UC_GRID.CHANGES_SAVED','変更が保存されました!');
create_or_update_message(C_APP_ID,'UC_GRID.UNSAVED_CHANGES_EXIST','未保存の変更があります。\n\n続けますか?');
create_or_update_message(C_APP_ID,'UC_GRID.DELETE_ROWS_CONFIRM','本当に行を削除しますか?');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.ADD_ROW','行の追加');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.DUPLICATE_ROW','行の複製');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.DELETE_ROWS','行の削除');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.REFRESH_ROWS','行のリフレッシュ');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.UNDO','元に戻す');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.REDO','やり直す');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.COPY','コピー');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.CUT','カット');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS','セルのハイライト');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS.CLEAR_ALL','すべてをクリア');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS.CLEAR_SELECTION','選択をクリア');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS.','選択したセル/行はハイライトできません。');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS.YELLOW','黄');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS.ORANGE','オレンジ');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS.GREEN','緑');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS.BLUE','青');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS.PINK','ピンク');
create_or_update_message(C_APP_ID,'UC_GRID.CONTEXT_MENU.HIGHLIGHT_CELLS.PURPLE','紫');
create_or_update_message(C_APP_ID,'UC_GRID.VALIDATION.VALUE_REQUIRED','値は必須です。');
create_or_update_message(C_APP_ID,'UC_GRID.VALIDATION.VALUE_TOO_LONG','値が長すぎます。最大長: %0');
create_or_update_message(C_APP_ID,'UC_GRID.BUTTON.SAVE','保存');
create_or_update_message(C_APP_ID,'UC_GRID.BUTTON.RELOAD_DATA','再ロード');
create_or_update_message(C_APP_ID,'UC_GRID.BUTTON.ADD_ROW','行の追加');
create_or_update_message(C_APP_ID,'UC_GRID.BUTTON.DELETED_ROWS','行の削除');
create_or_update_message(C_APP_ID,'UC_GRID.BUTTON.RESET','リセット');
create_or_update_message(C_APP_ID,'UC_GRID.BUTTON.RESET_HTML_TITLE','ソートおよびフィルタのリセット');
create_or_update_message(C_APP_ID,'UC_GRID.BUTTON.MAXIMIZE','最大化');
create_or_update_message(C_APP_ID,'UC_GRID.NO_DATA_FOUND','データが見つかりません。');
create_or_update_message(C_APP_ID,'UC_GRID.TOTAL_ROWS','トータル: %0');
end;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment