ethna2.3.6までは、デフォルトのTemplateディレクトリ(template/ja)から変更したい時に{App_Id}_ControllerでgetTemplatedirをオーバーライドするのが定石でした。ethnaコマンドもgetTemplatedirを見てくれるのでethna add-templateなども問題ありませんでした。
ただ、Ethna-2.5以降では、国際化対応のためLocaleが追加され、以下のジェネレータプラグインのコードのコメント通り(39,40行目)、Localeが入っていないと勝手に補完してくれるようです。このため、ethna add-templateコマンドでtemplateを生成する際にLocaleをディレクトリパスに強制的に入れられてしまうため、国際化対応したくない場合(笑)はここをスキップする必要があります。
今回は綺麗に拡張するのが面倒だったためコメントアウトしましたが、今後は何らかの切り替えができるといいかもしれませんね。
Ethna/class/Plugin/Generator/Ethna_Plugin_Generator_Template.php
13 /**
14 * スケルトン生成クラス
15 *
16 * @author Masaki Fujimoto <fujimoto@php.net>
17 * @access public
18 * @package Ethna
19 */
20 class Ethna_Plugin_Generator_Template extends Ethna_Plugin_Generator
21 {
22 /**
23 * テンプレートのスケルトンを生成する
24 *
25 * @access public
26 * @param string $forward_name テンプレート名
27 * @param string $skelton スケルトンファイル名
28 * @param string $locale ロケール名
29 * @param string $encoding エンコーディング
30 * @return true|Ethna_Error true:成功 Ethna_Error:失敗
31 */
32 function &generate($forward_name, $skelton = null, $locale, $encoding)
33 {
34 // ロケールが指定された場合は、それを優先する
35 if (!empty($locale)) {
36 $this->ctl->setLocale($locale);
37 }
38
39 // ロケール名がディレクトリに含まれていない場合は、
40 // ディレクトリがないためなのでそれを補正
41 $tpl_dir = $this->ctl->getTemplatedir();
42 if (!empty($locale) && strpos($tpl_dir, $locale) === false) {
43 $tpl_dir = $this->ctl->getDirectory('template');
44 $tpl_dir .= "/$locale";
45 }
46 if ($tpl_dir{strlen($tpl_dir)-1} != '/') {
47 $tpl_dir .= '/';
48 }