Changeset 3326912
- Timestamp:
- 07/13/2025 06:01:03 AM (9 months ago)
- Location:
- just-translate
- Files:
-
- 294 added
- 5 edited
-
tags/0.0.3 (added)
-
tags/0.0.3/admin (added)
-
tags/0.0.3/admin/base.php (added)
-
tags/0.0.3/admin/css (added)
-
tags/0.0.3/admin/css/translations.css (added)
-
tags/0.0.3/admin/index.php (added)
-
tags/0.0.3/admin/js (added)
-
tags/0.0.3/admin/js/translations.js (added)
-
tags/0.0.3/admin/settings.php (added)
-
tags/0.0.3/admin/translations.php (added)
-
tags/0.0.3/asset (added)
-
tags/0.0.3/asset/flags (added)
-
tags/0.0.3/asset/flags/ad.webp (added)
-
tags/0.0.3/asset/flags/ae.webp (added)
-
tags/0.0.3/asset/flags/af.webp (added)
-
tags/0.0.3/asset/flags/ag.webp (added)
-
tags/0.0.3/asset/flags/ai.webp (added)
-
tags/0.0.3/asset/flags/al.webp (added)
-
tags/0.0.3/asset/flags/am.webp (added)
-
tags/0.0.3/asset/flags/ao.webp (added)
-
tags/0.0.3/asset/flags/aq.webp (added)
-
tags/0.0.3/asset/flags/ar.webp (added)
-
tags/0.0.3/asset/flags/as.webp (added)
-
tags/0.0.3/asset/flags/at.webp (added)
-
tags/0.0.3/asset/flags/au.webp (added)
-
tags/0.0.3/asset/flags/aw.webp (added)
-
tags/0.0.3/asset/flags/ax.webp (added)
-
tags/0.0.3/asset/flags/az.webp (added)
-
tags/0.0.3/asset/flags/ba.webp (added)
-
tags/0.0.3/asset/flags/bb.webp (added)
-
tags/0.0.3/asset/flags/bd.webp (added)
-
tags/0.0.3/asset/flags/be.webp (added)
-
tags/0.0.3/asset/flags/bf.webp (added)
-
tags/0.0.3/asset/flags/bg.webp (added)
-
tags/0.0.3/asset/flags/bh.webp (added)
-
tags/0.0.3/asset/flags/bi.webp (added)
-
tags/0.0.3/asset/flags/bj.webp (added)
-
tags/0.0.3/asset/flags/bl.webp (added)
-
tags/0.0.3/asset/flags/bm.webp (added)
-
tags/0.0.3/asset/flags/bn.webp (added)
-
tags/0.0.3/asset/flags/bo.webp (added)
-
tags/0.0.3/asset/flags/bq.webp (added)
-
tags/0.0.3/asset/flags/br.webp (added)
-
tags/0.0.3/asset/flags/bs.webp (added)
-
tags/0.0.3/asset/flags/bt.webp (added)
-
tags/0.0.3/asset/flags/bv.webp (added)
-
tags/0.0.3/asset/flags/bw.webp (added)
-
tags/0.0.3/asset/flags/by.webp (added)
-
tags/0.0.3/asset/flags/bz.webp (added)
-
tags/0.0.3/asset/flags/ca.webp (added)
-
tags/0.0.3/asset/flags/cc.webp (added)
-
tags/0.0.3/asset/flags/cd.webp (added)
-
tags/0.0.3/asset/flags/cf.webp (added)
-
tags/0.0.3/asset/flags/cg.webp (added)
-
tags/0.0.3/asset/flags/ch.webp (added)
-
tags/0.0.3/asset/flags/ci.webp (added)
-
tags/0.0.3/asset/flags/ck.webp (added)
-
tags/0.0.3/asset/flags/cl.webp (added)
-
tags/0.0.3/asset/flags/cm.webp (added)
-
tags/0.0.3/asset/flags/cn.webp (added)
-
tags/0.0.3/asset/flags/co.webp (added)
-
tags/0.0.3/asset/flags/cr.webp (added)
-
tags/0.0.3/asset/flags/cu.webp (added)
-
tags/0.0.3/asset/flags/cv.webp (added)
-
tags/0.0.3/asset/flags/cw.webp (added)
-
tags/0.0.3/asset/flags/cx.webp (added)
-
tags/0.0.3/asset/flags/cy.webp (added)
-
tags/0.0.3/asset/flags/cz.webp (added)
-
tags/0.0.3/asset/flags/de.webp (added)
-
tags/0.0.3/asset/flags/dj.webp (added)
-
tags/0.0.3/asset/flags/dk.webp (added)
-
tags/0.0.3/asset/flags/dm.webp (added)
-
tags/0.0.3/asset/flags/do.webp (added)
-
tags/0.0.3/asset/flags/dz.webp (added)
-
tags/0.0.3/asset/flags/ec.webp (added)
-
tags/0.0.3/asset/flags/ee.webp (added)
-
tags/0.0.3/asset/flags/eg.webp (added)
-
tags/0.0.3/asset/flags/eh.webp (added)
-
tags/0.0.3/asset/flags/er.webp (added)
-
tags/0.0.3/asset/flags/es.webp (added)
-
tags/0.0.3/asset/flags/et.webp (added)
-
tags/0.0.3/asset/flags/fi.webp (added)
-
tags/0.0.3/asset/flags/fj.webp (added)
-
tags/0.0.3/asset/flags/fk.webp (added)
-
tags/0.0.3/asset/flags/fm.webp (added)
-
tags/0.0.3/asset/flags/fo.webp (added)
-
tags/0.0.3/asset/flags/fr.webp (added)
-
tags/0.0.3/asset/flags/ga.webp (added)
-
tags/0.0.3/asset/flags/gb-eng.webp (added)
-
tags/0.0.3/asset/flags/gb-nir.webp (added)
-
tags/0.0.3/asset/flags/gb-sct.webp (added)
-
tags/0.0.3/asset/flags/gb-wls.webp (added)
-
tags/0.0.3/asset/flags/gb.webp (added)
-
tags/0.0.3/asset/flags/gd.webp (added)
-
tags/0.0.3/asset/flags/ge.webp (added)
-
tags/0.0.3/asset/flags/gf.webp (added)
-
tags/0.0.3/asset/flags/gg.webp (added)
-
tags/0.0.3/asset/flags/gh.webp (added)
-
tags/0.0.3/asset/flags/gi.webp (added)
-
tags/0.0.3/asset/flags/gl.webp (added)
-
tags/0.0.3/asset/flags/gm.webp (added)
-
tags/0.0.3/asset/flags/gn.webp (added)
-
tags/0.0.3/asset/flags/gp.webp (added)
-
tags/0.0.3/asset/flags/gq.webp (added)
-
tags/0.0.3/asset/flags/gr.webp (added)
-
tags/0.0.3/asset/flags/gs.webp (added)
-
tags/0.0.3/asset/flags/gt.webp (added)
-
tags/0.0.3/asset/flags/gu.webp (added)
-
tags/0.0.3/asset/flags/gw.webp (added)
-
tags/0.0.3/asset/flags/gy.webp (added)
-
tags/0.0.3/asset/flags/hk.webp (added)
-
tags/0.0.3/asset/flags/hm.webp (added)
-
tags/0.0.3/asset/flags/hn.webp (added)
-
tags/0.0.3/asset/flags/hr.webp (added)
-
tags/0.0.3/asset/flags/ht.webp (added)
-
tags/0.0.3/asset/flags/hu.webp (added)
-
tags/0.0.3/asset/flags/id.webp (added)
-
tags/0.0.3/asset/flags/ie.webp (added)
-
tags/0.0.3/asset/flags/il.webp (added)
-
tags/0.0.3/asset/flags/im.webp (added)
-
tags/0.0.3/asset/flags/in.webp (added)
-
tags/0.0.3/asset/flags/io.webp (added)
-
tags/0.0.3/asset/flags/iq.webp (added)
-
tags/0.0.3/asset/flags/ir.webp (added)
-
tags/0.0.3/asset/flags/is.webp (added)
-
tags/0.0.3/asset/flags/it.webp (added)
-
tags/0.0.3/asset/flags/je.webp (added)
-
tags/0.0.3/asset/flags/jm.webp (added)
-
tags/0.0.3/asset/flags/jo.webp (added)
-
tags/0.0.3/asset/flags/jp.webp (added)
-
tags/0.0.3/asset/flags/ke.webp (added)
-
tags/0.0.3/asset/flags/kg.webp (added)
-
tags/0.0.3/asset/flags/kh.webp (added)
-
tags/0.0.3/asset/flags/ki.webp (added)
-
tags/0.0.3/asset/flags/km.webp (added)
-
tags/0.0.3/asset/flags/kn.webp (added)
-
tags/0.0.3/asset/flags/kp.webp (added)
-
tags/0.0.3/asset/flags/kr.webp (added)
-
tags/0.0.3/asset/flags/kw.webp (added)
-
tags/0.0.3/asset/flags/ky.webp (added)
-
tags/0.0.3/asset/flags/kz.webp (added)
-
tags/0.0.3/asset/flags/la.webp (added)
-
tags/0.0.3/asset/flags/lb.webp (added)
-
tags/0.0.3/asset/flags/lc.webp (added)
-
tags/0.0.3/asset/flags/li.webp (added)
-
tags/0.0.3/asset/flags/lk.webp (added)
-
tags/0.0.3/asset/flags/lr.webp (added)
-
tags/0.0.3/asset/flags/ls.webp (added)
-
tags/0.0.3/asset/flags/lt.webp (added)
-
tags/0.0.3/asset/flags/lu.webp (added)
-
tags/0.0.3/asset/flags/lv.webp (added)
-
tags/0.0.3/asset/flags/ly.webp (added)
-
tags/0.0.3/asset/flags/ma.webp (added)
-
tags/0.0.3/asset/flags/mc.webp (added)
-
tags/0.0.3/asset/flags/md.webp (added)
-
tags/0.0.3/asset/flags/me.webp (added)
-
tags/0.0.3/asset/flags/mf.webp (added)
-
tags/0.0.3/asset/flags/mg.webp (added)
-
tags/0.0.3/asset/flags/mh.webp (added)
-
tags/0.0.3/asset/flags/mk.webp (added)
-
tags/0.0.3/asset/flags/ml.webp (added)
-
tags/0.0.3/asset/flags/mm.webp (added)
-
tags/0.0.3/asset/flags/mn.webp (added)
-
tags/0.0.3/asset/flags/mo.webp (added)
-
tags/0.0.3/asset/flags/mp.webp (added)
-
tags/0.0.3/asset/flags/mq.webp (added)
-
tags/0.0.3/asset/flags/mr.webp (added)
-
tags/0.0.3/asset/flags/ms.webp (added)
-
tags/0.0.3/asset/flags/mt.webp (added)
-
tags/0.0.3/asset/flags/mu.webp (added)
-
tags/0.0.3/asset/flags/mv.webp (added)
-
tags/0.0.3/asset/flags/mw.webp (added)
-
tags/0.0.3/asset/flags/mx.webp (added)
-
tags/0.0.3/asset/flags/my.webp (added)
-
tags/0.0.3/asset/flags/mz.webp (added)
-
tags/0.0.3/asset/flags/na.webp (added)
-
tags/0.0.3/asset/flags/nc.webp (added)
-
tags/0.0.3/asset/flags/ne.webp (added)
-
tags/0.0.3/asset/flags/nf.webp (added)
-
tags/0.0.3/asset/flags/ng.webp (added)
-
tags/0.0.3/asset/flags/ni.webp (added)
-
tags/0.0.3/asset/flags/nl.webp (added)
-
tags/0.0.3/asset/flags/no.webp (added)
-
tags/0.0.3/asset/flags/np.webp (added)
-
tags/0.0.3/asset/flags/nr.webp (added)
-
tags/0.0.3/asset/flags/nu.webp (added)
-
tags/0.0.3/asset/flags/nz.webp (added)
-
tags/0.0.3/asset/flags/om.webp (added)
-
tags/0.0.3/asset/flags/pa.webp (added)
-
tags/0.0.3/asset/flags/pe.webp (added)
-
tags/0.0.3/asset/flags/pf.webp (added)
-
tags/0.0.3/asset/flags/pg.webp (added)
-
tags/0.0.3/asset/flags/ph.webp (added)
-
tags/0.0.3/asset/flags/pk.webp (added)
-
tags/0.0.3/asset/flags/pl.webp (added)
-
tags/0.0.3/asset/flags/pm.webp (added)
-
tags/0.0.3/asset/flags/pn.webp (added)
-
tags/0.0.3/asset/flags/pr.webp (added)
-
tags/0.0.3/asset/flags/ps.webp (added)
-
tags/0.0.3/asset/flags/pt.webp (added)
-
tags/0.0.3/asset/flags/pw.webp (added)
-
tags/0.0.3/asset/flags/py.webp (added)
-
tags/0.0.3/asset/flags/qa.webp (added)
-
tags/0.0.3/asset/flags/re.webp (added)
-
tags/0.0.3/asset/flags/ro.webp (added)
-
tags/0.0.3/asset/flags/rs.webp (added)
-
tags/0.0.3/asset/flags/ru.webp (added)
-
tags/0.0.3/asset/flags/rw.webp (added)
-
tags/0.0.3/asset/flags/sa.webp (added)
-
tags/0.0.3/asset/flags/sb.webp (added)
-
tags/0.0.3/asset/flags/sc.webp (added)
-
tags/0.0.3/asset/flags/sd.webp (added)
-
tags/0.0.3/asset/flags/se.webp (added)
-
tags/0.0.3/asset/flags/sg.webp (added)
-
tags/0.0.3/asset/flags/sh.webp (added)
-
tags/0.0.3/asset/flags/si.webp (added)
-
tags/0.0.3/asset/flags/sj.webp (added)
-
tags/0.0.3/asset/flags/sk.webp (added)
-
tags/0.0.3/asset/flags/sl.webp (added)
-
tags/0.0.3/asset/flags/sm.webp (added)
-
tags/0.0.3/asset/flags/sn.webp (added)
-
tags/0.0.3/asset/flags/so.webp (added)
-
tags/0.0.3/asset/flags/sr.webp (added)
-
tags/0.0.3/asset/flags/ss.webp (added)
-
tags/0.0.3/asset/flags/st.webp (added)
-
tags/0.0.3/asset/flags/sv.webp (added)
-
tags/0.0.3/asset/flags/sx.webp (added)
-
tags/0.0.3/asset/flags/sy.webp (added)
-
tags/0.0.3/asset/flags/sz.webp (added)
-
tags/0.0.3/asset/flags/tc.webp (added)
-
tags/0.0.3/asset/flags/td.webp (added)
-
tags/0.0.3/asset/flags/tf.webp (added)
-
tags/0.0.3/asset/flags/tg.webp (added)
-
tags/0.0.3/asset/flags/th.webp (added)
-
tags/0.0.3/asset/flags/tj.webp (added)
-
tags/0.0.3/asset/flags/tk.webp (added)
-
tags/0.0.3/asset/flags/tl.webp (added)
-
tags/0.0.3/asset/flags/tm.webp (added)
-
tags/0.0.3/asset/flags/tn.webp (added)
-
tags/0.0.3/asset/flags/to.webp (added)
-
tags/0.0.3/asset/flags/tr.webp (added)
-
tags/0.0.3/asset/flags/tt.webp (added)
-
tags/0.0.3/asset/flags/tv.webp (added)
-
tags/0.0.3/asset/flags/tw.webp (added)
-
tags/0.0.3/asset/flags/tz.webp (added)
-
tags/0.0.3/asset/flags/ua.webp (added)
-
tags/0.0.3/asset/flags/ug.webp (added)
-
tags/0.0.3/asset/flags/um.webp (added)
-
tags/0.0.3/asset/flags/us.webp (added)
-
tags/0.0.3/asset/flags/uy.webp (added)
-
tags/0.0.3/asset/flags/uz.webp (added)
-
tags/0.0.3/asset/flags/va.webp (added)
-
tags/0.0.3/asset/flags/vc.webp (added)
-
tags/0.0.3/asset/flags/ve.webp (added)
-
tags/0.0.3/asset/flags/vg.webp (added)
-
tags/0.0.3/asset/flags/vi.webp (added)
-
tags/0.0.3/asset/flags/vn.webp (added)
-
tags/0.0.3/asset/flags/vu.webp (added)
-
tags/0.0.3/asset/flags/wf.webp (added)
-
tags/0.0.3/asset/flags/ws.webp (added)
-
tags/0.0.3/asset/flags/xk.webp (added)
-
tags/0.0.3/asset/flags/ye.webp (added)
-
tags/0.0.3/asset/flags/yt.webp (added)
-
tags/0.0.3/asset/flags/za.webp (added)
-
tags/0.0.3/asset/flags/zm.webp (added)
-
tags/0.0.3/asset/flags/zw.webp (added)
-
tags/0.0.3/asset/flags/zz.webp (added)
-
tags/0.0.3/asset/json (added)
-
tags/0.0.3/asset/json/lang-default.json (added)
-
tags/0.0.3/classes (added)
-
tags/0.0.3/classes/jt-locale.php (added)
-
tags/0.0.3/frontend (added)
-
tags/0.0.3/frontend/css (added)
-
tags/0.0.3/frontend/css/language-switcher.css (added)
-
tags/0.0.3/frontend/index.php (added)
-
tags/0.0.3/helper (added)
-
tags/0.0.3/helper/jt-util.php (added)
-
tags/0.0.3/inc (added)
-
tags/0.0.3/inc/autoloader.php (added)
-
tags/0.0.3/inc/base.php (added)
-
tags/0.0.3/inc/functions.php (added)
-
tags/0.0.3/inc/index.php (added)
-
tags/0.0.3/inc/plugin.php (added)
-
tags/0.0.3/index.php (added)
-
tags/0.0.3/just-translate.php (added)
-
tags/0.0.3/modules (added)
-
tags/0.0.3/modules/index.php (added)
-
tags/0.0.3/modules/jt-query.php (added)
-
tags/0.0.3/modules/jt-settings.php (added)
-
tags/0.0.3/modules/jt-table.php (added)
-
tags/0.0.3/modules/jt-translator.php (added)
-
tags/0.0.3/modules/jt.php (added)
-
tags/0.0.3/readme.txt (added)
-
tags/0.0.3/uninstall.php (added)
-
trunk/inc/plugin.php (modified) (1 diff)
-
trunk/just-translate.php (modified) (1 diff)
-
trunk/modules/jt-translator.php (modified) (2 diffs)
-
trunk/modules/jt.php (modified) (1 diff)
-
trunk/readme.txt (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
just-translate/trunk/inc/plugin.php
r3326797 r3326912 31 31 function wpjt_run(){ 32 32 do_action('wpjt_run'); 33 add_filter('wpjt_setting_locales', function($locales) { 34 $locales[] = 'en-GB'; 35 return $locales; 36 }); 37 add_filter('wpjt_hreflang_code', function($hreflang, $locale_code) { 38 if($locale_code === 'en-US') { 39 $hreflang = 'en'; 40 } 41 return $hreflang; 42 }, 10, 2); 33 43 } -
just-translate/trunk/just-translate.php
r3326797 r3326912 2 2 /** 3 3 * Plugin Name: Just Translate 4 * Description: Just translate your WordPress5 * Version: 0.0. 24 * Description: Automatically captures and translates text strings using a custom translation panel with multi-language support. 5 * Version: 0.0.3 6 6 * Requires at least: 6.5 7 7 * Requires PHP: 8.1 -
just-translate/trunk/modules/jt-translator.php
r3326797 r3326912 31 31 if ($htmlTag) { 32 32 $htmlTag->setAttribute('lang', $locale->code); 33 } 33 } 34 35 self::generate_hreflang($dom); 34 36 35 37 $anchors = $dom->getElementsByTagName('a'); … … 67 69 } 68 70 return $dom->saveHTML(); 71 } 72 73 protected static function generate_hreflang(\DOMDocument &$dom){ 74 $head = $dom->getElementsByTagName('head')->item(0); 75 $path = isset($_SERVER['REQUEST_URI']) ? sanitize_url( wp_unslash($_SERVER['REQUEST_URI']) ) : ''; 76 77 $hreflang_tag = function($url, $lang) use ($dom) { 78 $link = $dom->createElement('link'); 79 $link->setAttribute('rel', 'alternate'); 80 $link->setAttribute('href', $url); 81 $link->setAttribute('hreflang', $lang); 82 return $link; 83 }; 84 85 $locales = []; 86 87 // periksa apakah lang codenya lebih dari satu 88 $spesific_lang_codes = []; 89 foreach (wpjt_get_locale_codes() as $locale_code) { 90 $locale = wpjt_get_locale($locale_code); 91 $locales[] = $locale; 92 $spesific_lang_codes[ $locale->lang ] = isset( $spesific_lang_codes[ $locale->lang ] ) ? true:false; 93 } 94 95 foreach ($locales as $locale) { 96 if($locale->is_source) { 97 $url = home_url($path); 98 } else { 99 $url = home_url('/' . $locale->slug . $path); 100 } 101 102 $hreflang = $locale->lang; // defalutnya adalah lang code 103 if( $spesific_lang_codes[$locale->lang] ) { //jika lang code lebih dari satu 104 $hreflang = $locale->code; 105 $hreflang = apply_filters('wpjt_hreflang_code', $hreflang, $locale->code); 106 } 107 108 $x_default = $locale->is_source; 109 if(apply_filters('wpjt_hreflang_default', $x_default, $locale->code)){ 110 $x_default_url = $url; 111 } 112 113 $head->appendChild( $hreflang_tag($url, $hreflang) ); 114 } 115 116 if(isset($x_default_url)){ 117 $head->appendChild( $hreflang_tag($x_default_url, 'x-default') ); 118 } 69 119 } 70 120 -
just-translate/trunk/modules/jt.php
r3326797 r3326912 113 113 // nanti perlu kondisi tambahan 114 114 ob_start(function($output){ 115 return JT_Translator::translate_html($output, JT_Locale::get_active_code()); 115 $active_code = JT_Locale::get_active_code(); 116 header('Content-Language: ' . $active_code); 117 return JT_Translator::translate_html($output, $active_code); 116 118 }); 117 119 } -
just-translate/trunk/readme.txt
r3326807 r3326912 6 6 Tested up to: 6.8 7 7 Requires PHP: 8.1 8 Stable tag: 0.0. 28 Stable tag: 0.0.3 9 9 License: GPLv2 or later 10 10 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 23 23 - Filter translated/untranslated strings 24 24 - Bulk delete strings 25 - Frontend-based translation (theme-agnostic) 26 - SEO friendly 25 27 26 28 == Installation == … … 60 62 == Hooks == 61 63 62 **1. `wpjt_locale_slug`**64 **1. wpjt_locale_slug** 63 65 Filter the URL slug for a given locale. 64 66 … … 74 76 ` 75 77 76 **2. `wpjt_setting_locales`**78 **2. wpjt_setting_locales** 77 79 Add or remove locale codes in the settings panel. 78 80 … … 85 87 ` 86 88 87 **3. `wpjt_should_skip_string`**89 **3. wpjt_should_skip_string** 88 90 Skip specific strings from being translated. 89 91 … … 103 105 104 106 = Does it support custom post types or themes? = 105 Yes. The plugin is theme-agnostic and works with custom post types, themes, and most builders that output strings.107 Yes. The plugin is theme-agnostic and works with custom post types, themes, and almost all builders (please let me know if there are any builders that are incompatible). 106 108 107 109 = How do I switch languages? = … … 109 111 110 112 == Changelog == 113 114 = 0.0.3 = 115 * Add hreflang tags. 116 * Add Content-Language header. 111 117 112 118 = 0.0.2 = … … 118 124 == Upgrade Notice == 119 125 120 = 0.0. 2=121 * refactor.126 = 0.0.3 = 127 * Add hreflang tags and Content-Language header (This is important for SEO).
Note: See TracChangeset
for help on using the changeset viewer.