CORE/views/translated_extracts.sql
2022-02-22 20:14:39 +01:00

41 lines
1.2 KiB
SQL

CREATE OR REPLACE VIEW translated_extracts AS
WITH x AS (
SELECT /*+ MATERIALIZE */
app.get_app_id() AS app_id,
'PAGE_NAME' AS page_name,
'REGION_%' AS region_name,
'BUTTON_%' AS button_name
FROM DUAL
)
SELECT
REGEXP_SUBSTR(REGEXP_REPLACE(t.item_name, '^T[_]'), '^([^_]+)', 1, 1, NULL, 1) AS item_type,
--
t.item_name,
t.page_id,
t.value_en,
t.field_static_id,
t.field_replacement
FROM (
SELECT
x.page_name AS item_name,
p.page_id,
--
REGEXP_REPLACE(REGEXP_REPLACE(p.page_name, '(#fa-[a-z0-9_-]+\s*)'), '[&][[:alnum:]_-]+\.') AS value_en,
--
p.page_alias AS field_static_id,
--
NULL AS field_replacement
FROM apex_application_pages p
JOIN x
ON x.app_id = p.application_id
LEFT JOIN translated_items t
ON t.app_id = p.application_id
AND t.page_id = p.page_id
AND t.item_name = x.page_name
WHERE p.page_id NOT IN (0, 9999, 947)
AND p.page_name NOT LIKE '%&' || x.page_name || '.%'
AND p.page_name NOT LIKE '&%.'
AND t.item_name IS NULL
) t;