概要 Drupalで翻訳がないノードの一覧を取得する機会がありましたので、備忘録です。
方法 色々とやり方があるかと思いますが、今回はjsonapiを使用します。
マスタ言語が日本語(ja)、追加したい翻訳言語を英語(en)とします。
jsonapiによって、例えばcollectionというタクソノミーであれば、以下で取得できます。
https://xxx/jsonapi/taxonomy_term/collection
また、以下のように/enを追加することで、翻訳ノードがある場合には、その情報が返却されます。
https://xxx/en/jsonapi/taxonomy_term/collection
この時、翻訳ノードがある場合には、attributes/langcodeがenになりますが、翻訳がないノードについては、jaのままとなりました。
{ " " " " " " } } } } " { " " " " " } } " " " " " " j v m l s h , d t i l s h , a d d l r r s e e i e r a y d i e r t r r a e e o r t n l e t p " n l e t u u n v v n s a k f f a e : k f f r p p g i i a i " s " " " " s " " i a a c s s p o : " : : : : " " : : b l l o i i i n : 1 : u _ _ d o o " " { { " [ " e { " t i i e n n : : { h t 3 { h e n n " _ _ t a d t s t t : c l { " t x 1 t " e e r o 1 p o e p : r r " e g . : n 6 s n n e a _ 0 / o f : { a a n t m " / m - / l l " e e , j y 5 / _ _ , d s s _ 1 x _ _ " s o t 7 x t r : a n e 8 x i e g a r - / d v n e p m 4 e " i u " i - 9 n : s l : . - 8 / i l o c 0 j 1 o , n r o - s 9 n u g l 9 o , _ l / l 6 n i l f e b a d , o c d p " r t - i : m i 7 / a o b t 1 t n 0 a 9 / " 4 x , 1 , 5 o . f n 0 2 o / c m " c y 6 _ 6 t e e " r , m / c o l l e c t i o n / 1 e 3 d 1 e 6 f - 5 1 7 8 - 4 9 8 0 - 9 6 b d - 7 b 0 4 5 f 2 c c 6 6 e ? r e s o u r c e V e r s i o n = i d % 3 A 1 9 " この性質を利用して、指定した言語と異なる言語コードがlangcodeに含まれた場合、その言語に対する翻訳がないノードとして抽出できそうです。
...