Какао/iPhone: Как я создаю локализацию Упрощенного китайского своего приложения?

В SAS 9.3 добавлена ​​макрофункция %SYSMACDELETE. Так что, если вы просто хотите, чтобы autocall переопределил один макрос, используйте его для удаления текущего определения.

%symacdelete mymacro;

Вот служебный макрос, который будет запрашивать представление SASHELP.VCATALG, чтобы найти скомпилированные макросы в библиотеке WORK и удалить их. У этого есть варианты или перечислить имена макросов, чтобы удалить или сохранить. Обратите внимание, что обычные сеансы SAS используют WORK.SASMACR для хранения скомпилированных макросов. Но SAS / Studio и EG (и, возможно, другие способы запуска SAS) используют вместо этого WORK.SASMAC1.

https://github.com/sasutils/macros/blob/master/macdelete.sas

%macro macdelete(delete,keep);
/*----------------------------------------------------------------------------
Remove compiled macros using %SYSMACDELETE macro statement.

Use DELETE parameter to list macro names to delete.
Use KEEP parameter to list macro names to NOT delete.
Calling it with no values will delete all macros not currently running.
----------------------------------------------------------------------------*/
%local libname memname objname objtype fid i;
%do i=1 %to %sysmexecdepth;
  %let keep=%sysmexecname(&i) &keep;
%end;
%if %length(&delete) %then %let delete=and findw("&delete",objname,',','sit');
%let fid=%sysfunc(open( sashelp.vcatalg(keep=libname memname objname objtype
 where=(libname='WORK' and objtype='MACRO' and memname like 'SASMAC_'
   and not findw("&keep",objname,',','sit') &delete))));
%if (&fid) %then %do;
  %syscall set(fid);
  %do %while(0=%sysfunc(fetch(&fid)));
    %put %sysfunc(compbl(Removing &objname from &libname catalog &memname));
    %sysmacdelete &objname;
  %end;
  %let fid=%sysfunc(close(&fid));
%end;
%else %put %qsysfunc(sysmsg());
%mend macdelete;

Пример:

3348  %macro test1; %mend;
3349  %macro test2; %mend;
3350  %macro test3; %mend;
3351  %macro test4; %mend;
3352  %macdelete(test1 test3);
Removing TEST1 from WORK catalog SASMACR
Removing TEST3 from WORK catalog SASMACR
3353  %macdelete(keep=test2);
Removing TEST4 from WORK catalog SASMACR

Пример, когда работает SAS / Studio:

 97         %macro test1; %mend;
 98         %macro test2; %mend;
 99         %macro test3; %mend;
 100        %macro test4; %mend;
 101        %macdelete(test1 test3);
 Removing TEST1 from WORK catalog SASMAC1
 Removing TEST3 from WORK catalog SASMAC1

15
задан Mike Akers 11 March 2009 в 14:23
поделиться

1 ответ

Это - zh_CN для Простака. Китайский язык (简体中文), zh_TW для Трад китайцев (繁體中文).

При тестировании zh_CN.lproj при Трад китайской установке Language он не будет работать. Просто удостоверьтесь, что Вы тестируете свое приложение с корректной системной установкой языка. Кроме того, Localizable.strings должен быть закодирован кодировкой UTF-16.

Обновление:
В последнем Руководстве по программированию Локализации они были изменены на zh-Hans и zh-Hant.

Особенно на китайских диалектах, код региона является не всегда лучшим способом указать надлежащий диалект или сценарий. Например, традиционный китайский (ханьцы) является языком по умолчанию, на котором говорят на Тайване, и определяется кодом zh_TW в Mac OS X v10.3.9 и ранее. Однако на традиционном китайском также обычно говорят в Гонконге и Макао, что означает, что zh_TW указатель не совсем точен в тех местоположениях. Новый стандарт определяет новые теги для традиционных китайцев (Hant) и упрощенного китайского (Hans) сценарии. Таким образом традиционный китайский, на котором говорят в любой стране, использует код zh-Hant. Традиционный китайский, поскольку на этом говорят на Тайване, теперь использует код локали zh-Hant_TW.

34
ответ дан 1 December 2019 в 01:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: